import config from '../../base/config.mjs' import Client from '../../base/media/client.mjs' import { deleteFile, uploadFile } from '../../base/media/upload.mjs' import { parseVideos, parseVideo } from './util.mjs' export default class VideoRoutes { constructor(opts = {}) { Object.assign(this, { uploadFile: uploadFile, deleteFile: deleteFile, }) } register(server) { server.flaska.get('/api/videos', server.authenticate(), this.getVideos.bind(this)) server.flaska.get('/api/videos/uploadToken', server.authenticate(), this.getUploadToken.bind(this)) } /** GET: /api/videos */ async getVideos(ctx) { console.log(ctx.state.auth_token) let res = await ctx.db.safeCallProc('filadelfia_archive.videos_auth_get_all', [ctx.state.auth_token]) ctx.body = { videos: parseVideos(res.results[0]), } } async getUploadToken(ctx) { const media = config.get('media') return { token: Client.createJwt({ iss: media.iss }, media.secret), } } }