Sam Jackson
05/22/2018, 5:53 PMSam Hulick
05/22/2018, 5:54 PMnilan
05/22/2018, 5:54 PMmedelman
05/22/2018, 5:55 PMmedelman
05/22/2018, 5:56 PMimport AWS from "aws-sdk";
const s3 = new AWS.S3({
accessKeyId: process.env.AWS_ACCESS_KEY_ID || "YOUR KEY HERE",
secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY || "YOUR KEY HERE"
});
const Bucket = process.env.BUCKET || "YOUR BUCKET HERE";
const getSignedLinkFromS3 = async ({ filename, owner }) => {
const Key = `uploads/${owner}/${filename}`;
const uploadUri = await s3.getSignedUrl("putObject", { Key, Bucket });
return {
uploadUri,
bucket: Bucket,
key: Key
};
};
export const createMedia = async (parent, args, ctx, info) => {
const { data } = args;
const mediaDataWithS3Data = await getSignedLinkFromS3(data);
try {
return await ctx.db.mutation.createMedia(
{
data: {
...data,
...mediaDataWithS3Data,
owner: { connect: { id: data.owner } }
}
},
info
);
} catch (error) {
console.log(error);
return error;
}
};
Sam Jackson
05/22/2018, 6:00 PMnilan
05/22/2018, 6:01 PMmedelman
05/22/2018, 6:02 PMterion
05/22/2018, 6:04 PMmedelman
05/22/2018, 10:37 PMSam Hulick
05/22/2018, 10:44 PMimport S3 from 'aws-sdk/clients/s3'
to just import the SDK for that servicemedelman
05/22/2018, 10:49 PMmedelman
05/22/2018, 10:49 PMmedelman
05/22/2018, 10:50 PM