1- 'use strict' ;
1+ 'use strict'
22const _ = require ( 'lodash' )
33const fileType = require ( 'file-type' )
44const aws = require ( 'aws-sdk' )
55const s3 = new aws . S3 ( )
66const dynamo = new aws . DynamoDB . DocumentClient ( )
77
88module . exports . processUpload = ( event , context , callback ) => {
9-
109 _ . map ( event . Records , ( event ) => {
1110 let filename = ''
1211 let mimeType = ''
@@ -23,19 +22,19 @@ module.exports.processUpload = (event, context, callback) => {
2322 callback ( null , { } )
2423 } else {
2524 const dynamoParams = {
26- TableName : ' screenshottr-service-uploads' ,
25+ TableName : ` screenshottr-service-uploads- ${ process . env . SS_STAGE } ` ,
2726 Key : {
2827 image_id : event . s3 . object . key
2928 } ,
30- UpdateExpression : " set dates.deletedAt = :deletedTime, image_status = :image_status, delete_reason = :delete_reason, deleted = :deleted" ,
29+ UpdateExpression : ' set dates.deletedAt = :deletedTime, image_status = :image_status, delete_reason = :delete_reason, deleted = :deleted' ,
3130 ExpressionAttributeValues : {
32- " :deletedTime" : Date . now ( ) ,
33- " :image_status" : 'image_deleted' ,
34- " :deleted" : true ,
35- " :delete_reason" : 'image_too_large'
31+ ' :deletedTime' : Date . now ( ) ,
32+ ' :image_status' : 'image_deleted' ,
33+ ' :deleted' : true ,
34+ ' :delete_reason' : 'image_too_large'
3635 }
3736 }
38- dynamo . update ( dynamoParams , function ( error , data ) {
37+ dynamo . update ( dynamoParams , function ( error , data ) {
3938 if ( error ) {
4039 console . log ( error )
4140 }
@@ -52,13 +51,13 @@ module.exports.processUpload = (event, context, callback) => {
5251 } else {
5352 const image = data . Body
5453 const fileMeta = fileType ( image )
55- const fileExtensions = [ " png" , " jpg" , " jpeg" , " svg" , " gif" , " tiff" ]
54+ const fileExtensions = [ ' png' , ' jpg' , ' jpeg' , ' svg' , ' gif' , ' tiff' ]
5655 if ( fileMeta !== null && typeof fileMeta . ext !== 'undefined' && fileExtensions . indexOf ( fileMeta . ext ) > - 1 ) {
5756 filename = `${ event . s3 . object . key } .${ fileMeta . ext } `
5857 mimeType = fileMeta . mime
5958 const putParams = {
6059 Body : image ,
61- Bucket : ' screenshottr-service-images-saved' ,
60+ Bucket : ` screenshottr-service-images-saved- ${ process . env . SS_STAGE } ` ,
6261 Key : filename ,
6362 ContentType : mimeType ,
6463 ACL : 'public-read'
@@ -70,44 +69,42 @@ module.exports.processUpload = (event, context, callback) => {
7069 callback ( null , { } )
7170 } else {
7271 const dynamoParams = {
73- TableName : ' screenshottr-service-uploads' ,
72+ TableName : ` screenshottr-service-uploads- ${ process . env . SS_STAGE } ` ,
7473 Key : {
7574 image_id : event . s3 . object . key
7675 } ,
77- UpdateExpression : " set dates.uploaded_at = :modifiedTime, image_url = :image_url, fileMeta = :fileMeta, filename = :filename, image_status = :image_status, image_owner = :image_owner" ,
76+ UpdateExpression : ' set dates.uploaded_at = :modifiedTime, image_url = :image_url, fileMeta = :fileMeta, filename = :filename, image_status = :image_status' ,
7877 ExpressionAttributeValues : {
79- ":modifiedTime" : Date . now ( ) ,
80- ":image_url" : `https://i.screenshottr.us/${ filename } ` ,
81- ":fileMeta" : fileMeta ,
82- ":filename" : filename ,
83- ":image_status" : 'image_uploaded' ,
84- ":image_owner" : 0
78+ ':modifiedTime' : Date . now ( ) ,
79+ ':image_url' : `https://i.screenshottr.us/${ filename } ` ,
80+ ':fileMeta' : fileMeta ,
81+ ':filename' : filename ,
82+ ':image_status' : 'image_uploaded'
8583 }
8684 }
87- dynamo . update ( dynamoParams , function ( error , data ) {
85+ dynamo . update ( dynamoParams , function ( error , data ) {
8886 if ( error ) {
8987 console . log ( error )
9088 }
9189 } )
9290 console . log ( `PUT ${ event . s3 . object . key } ` )
9391 }
9492 } )
95-
9693 } else {
9794 const dynamoParams = {
98- TableName : ' screenshottr-service-uploads' ,
95+ TableName : ` screenshottr-service-uploads- ${ process . env . SS_STAGE } ` ,
9996 Key : {
10097 image_id : event . s3 . object . key
10198 } ,
102- UpdateExpression : " set dates.deletedAt = :deletedTime, image_status = :image_status, delete_reason = :delete_reason, deleted = :deleted" ,
99+ UpdateExpression : ' set dates.deletedAt = :deletedTime, image_status = :image_status, delete_reason = :delete_reason, deleted = :deleted' ,
103100 ExpressionAttributeValues : {
104- " :deletedTime" : Date . now ( ) ,
105- " :image_status" : 'image_deleted' ,
106- " :deleted" : true ,
107- " :delete_reason" : 'file_type_not_allowed'
101+ ' :deletedTime' : Date . now ( ) ,
102+ ' :image_status' : 'image_deleted' ,
103+ ' :deleted' : true ,
104+ ' :delete_reason' : 'file_type_not_allowed'
108105 }
109106 }
110- dynamo . update ( dynamoParams , function ( error , data ) {
107+ dynamo . update ( dynamoParams , function ( error , data ) {
111108 if ( error ) {
112109 console . log ( error )
113110 }
0 commit comments