25 lines
911 B
TypeScript
25 lines
911 B
TypeScript
import {Media} from "../models/Media";
|
|
import {Response} from "express";
|
|
import {bucket} from "./bucket";
|
|
|
|
/**
|
|
* Creates a new media in the database
|
|
* @param clientId The client id of the uploader
|
|
* @param assetName The name of the asset
|
|
* @param assetEnding The file ending of the asset
|
|
*/
|
|
export const createMedia = (clientId: number, assetName: string, assetEnding: string | undefined) =>
|
|
Media.create({clientId, assetName, assetEnding: assetEnding || "txt"});
|
|
|
|
/**
|
|
* Gets a media object by the asset id
|
|
* @param assetId The id of the asset to search
|
|
*/
|
|
export const getMediaObject = (assetId: string) => Media.findOne({assetId});
|
|
|
|
/**
|
|
* Pipes the provided asset into an express response
|
|
* @param assetId The id of the asset to pipe
|
|
* @param res The express response controller
|
|
*/
|
|
export const pipeMedia = (assetId: string, res: Response) => bucket.file(assetId).createReadStream().pipe(res); |