Files
graphql-api-js/src/resolvers/file-upload-resolvers.ts
T

32 lines
675 B
TypeScript

import { EXPIRES_DEFAULT_SECS, getSignedPutObjectUrl } from '../aws/s3';
import {
SignedUploadURL,
SignedUploadURLInput,
} from '../types/file-upload-types';
import * as CONFIG from '../config';
async function getSignedFileUploadURL(
_,
args: SignedUploadURLInput,
__,
): Promise<SignedUploadURL> {
const config = args.config;
const bucket = CONFIG.uploadBucket;
const url = await getSignedPutObjectUrl(
bucket,
config.key,
config.contentType,
);
return {
url: url,
key: config.key,
bucket: bucket,
expires: EXPIRES_DEFAULT_SECS,
};
}
export const imagesQueryTypeDefs = {
signedFileUploadURL: getSignedFileUploadURL,
};