32 lines
675 B
TypeScript
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,
|
|
};
|