mirror of
https://github.com/hcengineering/platform.git
synced 2024-12-23 03:22:19 +03:00
file upload works now
Signed-off-by: Andrey Platov <andrey@hardcoreeng.com>
This commit is contained in:
parent
e620b227e0
commit
f7877955e9
@ -17,6 +17,10 @@ const siteBucket = new aws.s3.Bucket('anticrm-app', {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
const uploadBucket = new aws.s3.Bucket('anticrm-upload', {
|
||||||
|
acl: "public-read"
|
||||||
|
})
|
||||||
|
|
||||||
const buildDir = "../../dev/prod"
|
const buildDir = "../../dev/prod"
|
||||||
|
|
||||||
function createObjects(root: string, path: string): void {
|
function createObjects(root: string, path: string): void {
|
||||||
@ -44,6 +48,8 @@ createObjects(buildDir + '/dist', '')
|
|||||||
export const bucketName = siteBucket.bucket // create a stack export for bucket name
|
export const bucketName = siteBucket.bucket // create a stack export for bucket name
|
||||||
export const websiteUrl = siteBucket.websiteEndpoint
|
export const websiteUrl = siteBucket.websiteEndpoint
|
||||||
|
|
||||||
|
export const uploadBucketName = uploadBucket.bucket
|
||||||
|
|
||||||
// // Create an S3 Bucket Policy to allow public read of all objects in bucket
|
// // Create an S3 Bucket Policy to allow public read of all objects in bucket
|
||||||
// // This reusable function can be pulled out into its own module
|
// // This reusable function can be pulled out into its own module
|
||||||
// function publicReadPolicyForBucket(bucketName: string) {
|
// function publicReadPolicyForBucket(bucketName: string) {
|
||||||
|
@ -64,12 +64,14 @@ specifiers:
|
|||||||
'@tiptap/extension-typography': ~2.0.0-beta.13
|
'@tiptap/extension-typography': ~2.0.0-beta.13
|
||||||
'@tiptap/starter-kit': ~2.0.0-beta.89
|
'@tiptap/starter-kit': ~2.0.0-beta.89
|
||||||
'@types/express': ^4.17.13
|
'@types/express': ^4.17.13
|
||||||
|
'@types/express-fileupload': ^1.1.7
|
||||||
'@types/heft-jest': ^1.0.2
|
'@types/heft-jest': ^1.0.2
|
||||||
'@types/toposort': ^2.0.3
|
'@types/toposort': ^2.0.3
|
||||||
'@types/ws': ^7.4.7
|
'@types/ws': ^7.4.7
|
||||||
'@typescript-eslint/eslint-plugin': '4'
|
'@typescript-eslint/eslint-plugin': '4'
|
||||||
'@typescript-eslint/parser': ^4.0.0
|
'@typescript-eslint/parser': ^4.0.0
|
||||||
autoprefixer: ^10.2.6
|
autoprefixer: ^10.2.6
|
||||||
|
aws-sdk: ^2.969.0
|
||||||
cross-env: ^7.0.3
|
cross-env: ^7.0.3
|
||||||
css-loader: ^5.2.1
|
css-loader: ^5.2.1
|
||||||
dotenv-webpack: ^7.0.2
|
dotenv-webpack: ^7.0.2
|
||||||
@ -95,6 +97,7 @@ specifiers:
|
|||||||
toposort: ^2.0.2
|
toposort: ^2.0.2
|
||||||
ts-loader: ^9.2.5
|
ts-loader: ^9.2.5
|
||||||
typescript: ^4.3.5
|
typescript: ^4.3.5
|
||||||
|
uuid: ^8.3.2
|
||||||
webpack: ^5.32.0
|
webpack: ^5.32.0
|
||||||
webpack-bundle-analyzer: ^4.4.1
|
webpack-bundle-analyzer: ^4.4.1
|
||||||
webpack-cli: ^4.6.0
|
webpack-cli: ^4.6.0
|
||||||
@ -165,12 +168,14 @@ dependencies:
|
|||||||
'@tiptap/extension-typography': 2.0.0-beta.13_@tiptap+core@2.0.0-beta.93
|
'@tiptap/extension-typography': 2.0.0-beta.13_@tiptap+core@2.0.0-beta.93
|
||||||
'@tiptap/starter-kit': 2.0.0-beta.89
|
'@tiptap/starter-kit': 2.0.0-beta.89
|
||||||
'@types/express': 4.17.13
|
'@types/express': 4.17.13
|
||||||
|
'@types/express-fileupload': 1.1.7
|
||||||
'@types/heft-jest': 1.0.2
|
'@types/heft-jest': 1.0.2
|
||||||
'@types/toposort': 2.0.3
|
'@types/toposort': 2.0.3
|
||||||
'@types/ws': 7.4.7
|
'@types/ws': 7.4.7
|
||||||
'@typescript-eslint/eslint-plugin': 4.28.5_a8e83fcad666e1ba86be4b2e27a20aea
|
'@typescript-eslint/eslint-plugin': 4.28.5_a8e83fcad666e1ba86be4b2e27a20aea
|
||||||
'@typescript-eslint/parser': 4.28.5_eslint@7.32.0+typescript@4.3.5
|
'@typescript-eslint/parser': 4.28.5_eslint@7.32.0+typescript@4.3.5
|
||||||
autoprefixer: 10.3.1_postcss@8.3.6
|
autoprefixer: 10.3.1_postcss@8.3.6
|
||||||
|
aws-sdk: 2.969.0
|
||||||
cross-env: 7.0.3
|
cross-env: 7.0.3
|
||||||
css-loader: 5.2.7_webpack@5.48.0
|
css-loader: 5.2.7_webpack@5.48.0
|
||||||
dotenv-webpack: 7.0.3_webpack@5.48.0
|
dotenv-webpack: 7.0.3_webpack@5.48.0
|
||||||
@ -196,6 +201,7 @@ dependencies:
|
|||||||
toposort: 2.0.2
|
toposort: 2.0.2
|
||||||
ts-loader: 9.2.5_typescript@4.3.5+webpack@5.48.0
|
ts-loader: 9.2.5_typescript@4.3.5+webpack@5.48.0
|
||||||
typescript: 4.3.5
|
typescript: 4.3.5
|
||||||
|
uuid: 8.3.2
|
||||||
webpack: 5.48.0_webpack-cli@4.7.2
|
webpack: 5.48.0_webpack-cli@4.7.2
|
||||||
webpack-bundle-analyzer: 4.4.2
|
webpack-bundle-analyzer: 4.4.2
|
||||||
webpack-cli: 4.7.2_954feff0479d53ccf5b533f71f40f1af
|
webpack-cli: 4.7.2_954feff0479d53ccf5b533f71f40f1af
|
||||||
@ -1589,6 +1595,10 @@ packages:
|
|||||||
resolution: {integrity: sha512-jRtyvEu0Na/sy0oIxBW0f6wPQjidgVqlmCTJVHEGTNEUdL1f0YSvdPzHY7nX7MUWAZS6zcAa0KkqofHjy/xDZQ==}
|
resolution: {integrity: sha512-jRtyvEu0Na/sy0oIxBW0f6wPQjidgVqlmCTJVHEGTNEUdL1f0YSvdPzHY7nX7MUWAZS6zcAa0KkqofHjy/xDZQ==}
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
|
/@types/uuid/8.3.1:
|
||||||
|
resolution: {integrity: sha512-Y2mHTRAbqfFkpjldbkHGY8JIzRN6XqYRliG8/24FcHm2D2PwW24fl5xMRTVGdrb7iMrwCaIEbLWerGIkXuFWVg==}
|
||||||
|
dev: false
|
||||||
|
|
||||||
/@types/ws/7.4.7:
|
/@types/ws/7.4.7:
|
||||||
resolution: {integrity: sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww==}
|
resolution: {integrity: sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww==}
|
||||||
dependencies:
|
dependencies:
|
||||||
@ -2169,6 +2179,22 @@ packages:
|
|||||||
postcss-value-parser: 4.1.0
|
postcss-value-parser: 4.1.0
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
|
/aws-sdk/2.969.0:
|
||||||
|
resolution: {integrity: sha512-bDQenWDH9CdPIsgh7E6zgq2bO576teSnlQv1Oz0IwxVq+AbGsArSJXjNrvniV1l9TrqPOZk9dqBa/q4mOzwyLw==}
|
||||||
|
engines: {node: '>= 0.8.0'}
|
||||||
|
requiresBuild: true
|
||||||
|
dependencies:
|
||||||
|
buffer: 4.9.2
|
||||||
|
events: 1.1.1
|
||||||
|
ieee754: 1.1.13
|
||||||
|
jmespath: 0.15.0
|
||||||
|
querystring: 0.2.0
|
||||||
|
sax: 1.2.1
|
||||||
|
url: 0.10.3
|
||||||
|
uuid: 3.3.2
|
||||||
|
xml2js: 0.4.19
|
||||||
|
dev: false
|
||||||
|
|
||||||
/aws-sign2/0.7.0:
|
/aws-sign2/0.7.0:
|
||||||
resolution: {integrity: sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=}
|
resolution: {integrity: sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=}
|
||||||
dev: false
|
dev: false
|
||||||
@ -2265,6 +2291,10 @@ packages:
|
|||||||
pascalcase: 0.1.1
|
pascalcase: 0.1.1
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
|
/base64-js/1.5.1:
|
||||||
|
resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==}
|
||||||
|
dev: false
|
||||||
|
|
||||||
/batch/0.6.1:
|
/batch/0.6.1:
|
||||||
resolution: {integrity: sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=}
|
resolution: {integrity: sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=}
|
||||||
dev: false
|
dev: false
|
||||||
@ -2393,6 +2423,14 @@ packages:
|
|||||||
resolution: {integrity: sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==}
|
resolution: {integrity: sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==}
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
|
/buffer/4.9.2:
|
||||||
|
resolution: {integrity: sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==}
|
||||||
|
dependencies:
|
||||||
|
base64-js: 1.5.1
|
||||||
|
ieee754: 1.1.13
|
||||||
|
isarray: 1.0.0
|
||||||
|
dev: false
|
||||||
|
|
||||||
/busboy/0.3.1:
|
/busboy/0.3.1:
|
||||||
resolution: {integrity: sha512-y7tTxhGKXcyBxRKAni+awqx8uqaJKrSFSNFSeRG5CsWNdmy2BIK+6VGWEW7TZnIO/533mtMEA4rOevQV815YJw==}
|
resolution: {integrity: sha512-y7tTxhGKXcyBxRKAni+awqx8uqaJKrSFSNFSeRG5CsWNdmy2BIK+6VGWEW7TZnIO/533mtMEA4rOevQV815YJw==}
|
||||||
engines: {node: '>=4.5.0'}
|
engines: {node: '>=4.5.0'}
|
||||||
@ -3506,6 +3544,11 @@ packages:
|
|||||||
resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==}
|
resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==}
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
|
/events/1.1.1:
|
||||||
|
resolution: {integrity: sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=}
|
||||||
|
engines: {node: '>=0.4.x'}
|
||||||
|
dev: false
|
||||||
|
|
||||||
/events/3.3.0:
|
/events/3.3.0:
|
||||||
resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==}
|
resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==}
|
||||||
engines: {node: '>=0.8.x'}
|
engines: {node: '>=0.8.x'}
|
||||||
@ -4270,6 +4313,10 @@ packages:
|
|||||||
postcss: 8.3.6
|
postcss: 8.3.6
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
|
/ieee754/1.1.13:
|
||||||
|
resolution: {integrity: sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==}
|
||||||
|
dev: false
|
||||||
|
|
||||||
/ignore/4.0.6:
|
/ignore/4.0.6:
|
||||||
resolution: {integrity: sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==}
|
resolution: {integrity: sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==}
|
||||||
engines: {node: '>= 4'}
|
engines: {node: '>= 4'}
|
||||||
@ -5173,6 +5220,11 @@ packages:
|
|||||||
resolution: {integrity: sha1-o6vicYryQaKykE+EpiWXDzia4yo=}
|
resolution: {integrity: sha1-o6vicYryQaKykE+EpiWXDzia4yo=}
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
|
/jmespath/0.15.0:
|
||||||
|
resolution: {integrity: sha1-o/Iiqarp+Wb10nx5ZRDigJF2Qhc=}
|
||||||
|
engines: {node: '>= 0.6.0'}
|
||||||
|
dev: false
|
||||||
|
|
||||||
/js-tokens/4.0.0:
|
/js-tokens/4.0.0:
|
||||||
resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
|
resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
|
||||||
dev: false
|
dev: false
|
||||||
@ -6863,6 +6915,10 @@ packages:
|
|||||||
chokidar: 3.4.3
|
chokidar: 3.4.3
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
|
/sax/1.2.1:
|
||||||
|
resolution: {integrity: sha1-e45lYZCyKOgaZq6nSEgNgozS03o=}
|
||||||
|
dev: false
|
||||||
|
|
||||||
/saxes/3.1.11:
|
/saxes/3.1.11:
|
||||||
resolution: {integrity: sha512-Ydydq3zC+WYDJK1+gRxRapLIED9PWeSuuS41wqyoRmzvhhh9nc+QQrVMKJYzJFULazeGhzSV0QleN2wD3boh2g==}
|
resolution: {integrity: sha512-Ydydq3zC+WYDJK1+gRxRapLIED9PWeSuuS41wqyoRmzvhhh9nc+QQrVMKJYzJFULazeGhzSV0QleN2wD3boh2g==}
|
||||||
engines: {node: '>=8'}
|
engines: {node: '>=8'}
|
||||||
@ -7986,6 +8042,13 @@ packages:
|
|||||||
requires-port: 1.0.0
|
requires-port: 1.0.0
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
|
/url/0.10.3:
|
||||||
|
resolution: {integrity: sha1-Ah5NnHcF8hu/N9A861h2dAJ3TGQ=}
|
||||||
|
dependencies:
|
||||||
|
punycode: 1.3.2
|
||||||
|
querystring: 0.2.0
|
||||||
|
dev: false
|
||||||
|
|
||||||
/url/0.11.0:
|
/url/0.11.0:
|
||||||
resolution: {integrity: sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=}
|
resolution: {integrity: sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=}
|
||||||
dependencies:
|
dependencies:
|
||||||
@ -8007,12 +8070,23 @@ packages:
|
|||||||
engines: {node: '>= 0.4.0'}
|
engines: {node: '>= 0.4.0'}
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
|
/uuid/3.3.2:
|
||||||
|
resolution: {integrity: sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==}
|
||||||
|
deprecated: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.
|
||||||
|
hasBin: true
|
||||||
|
dev: false
|
||||||
|
|
||||||
/uuid/3.4.0:
|
/uuid/3.4.0:
|
||||||
resolution: {integrity: sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==}
|
resolution: {integrity: sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==}
|
||||||
deprecated: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.
|
deprecated: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.
|
||||||
hasBin: true
|
hasBin: true
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
|
/uuid/8.3.2:
|
||||||
|
resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==}
|
||||||
|
hasBin: true
|
||||||
|
dev: false
|
||||||
|
|
||||||
/v8-compile-cache/2.3.0:
|
/v8-compile-cache/2.3.0:
|
||||||
resolution: {integrity: sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==}
|
resolution: {integrity: sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==}
|
||||||
dev: false
|
dev: false
|
||||||
@ -8431,6 +8505,18 @@ packages:
|
|||||||
resolution: {integrity: sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==}
|
resolution: {integrity: sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==}
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
|
/xml2js/0.4.19:
|
||||||
|
resolution: {integrity: sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q==}
|
||||||
|
dependencies:
|
||||||
|
sax: 1.2.1
|
||||||
|
xmlbuilder: 9.0.7
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/xmlbuilder/9.0.7:
|
||||||
|
resolution: {integrity: sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=}
|
||||||
|
engines: {node: '>=4.0'}
|
||||||
|
dev: false
|
||||||
|
|
||||||
/xmlchars/2.2.0:
|
/xmlchars/2.2.0:
|
||||||
resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==}
|
resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==}
|
||||||
dev: false
|
dev: false
|
||||||
@ -9414,7 +9500,7 @@ packages:
|
|||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
file:projects/upload.tgz_6c259fadfeb3a4b20890aefe87070b8b:
|
file:projects/upload.tgz_6c259fadfeb3a4b20890aefe87070b8b:
|
||||||
resolution: {integrity: sha512-w/+oyUyPZBE2o5S7ppt+annmXvrApcNRsoWxwVDnBKA/5T176jx8+y47UhGvCiMCb1z3oToZR2jLzGPvZqyCEQ==, tarball: file:projects/upload.tgz}
|
resolution: {integrity: sha512-+1p02O15vwiBqvbOGVh2gd+ZUDZk6HrQaDkrdVCSeMyA4zVVLozNsQ3ZqDAxngNTYiX5keRwHw8YU+384ONyFg==, tarball: file:projects/upload.tgz}
|
||||||
id: file:projects/upload.tgz
|
id: file:projects/upload.tgz
|
||||||
name: '@rush-temp/upload'
|
name: '@rush-temp/upload'
|
||||||
version: 0.0.0
|
version: 0.0.0
|
||||||
@ -9423,8 +9509,10 @@ packages:
|
|||||||
'@types/express-fileupload': 1.1.7
|
'@types/express-fileupload': 1.1.7
|
||||||
'@types/heft-jest': 1.0.2
|
'@types/heft-jest': 1.0.2
|
||||||
'@types/node': 16.4.13
|
'@types/node': 16.4.13
|
||||||
|
'@types/uuid': 8.3.1
|
||||||
'@types/ws': 7.4.7
|
'@types/ws': 7.4.7
|
||||||
'@typescript-eslint/eslint-plugin': 4.28.5_a8e83fcad666e1ba86be4b2e27a20aea
|
'@typescript-eslint/eslint-plugin': 4.28.5_a8e83fcad666e1ba86be4b2e27a20aea
|
||||||
|
aws-sdk: 2.969.0
|
||||||
eslint: 7.32.0
|
eslint: 7.32.0
|
||||||
eslint-plugin-import: 2.23.4_eslint@7.32.0
|
eslint-plugin-import: 2.23.4_eslint@7.32.0
|
||||||
eslint-plugin-node: 11.1.0_eslint@7.32.0
|
eslint-plugin-node: 11.1.0_eslint@7.32.0
|
||||||
@ -9432,6 +9520,7 @@ packages:
|
|||||||
express: 4.17.1
|
express: 4.17.1
|
||||||
express-fileupload: 1.2.1
|
express-fileupload: 1.2.1
|
||||||
ts-node: 10.2.0_dea0625f6d31b223e93dc3dc354b8b43
|
ts-node: 10.2.0_dea0625f6d31b223e93dc3dc354b8b43
|
||||||
|
uuid: 8.3.2
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- '@swc/core'
|
- '@swc/core'
|
||||||
- '@swc/wasm'
|
- '@swc/wasm'
|
||||||
|
@ -21,11 +21,14 @@
|
|||||||
"@types/ws":"^7.4.7",
|
"@types/ws":"^7.4.7",
|
||||||
"@types/express":"^4.17.13",
|
"@types/express":"^4.17.13",
|
||||||
"ts-node":"^10.2.0",
|
"ts-node":"^10.2.0",
|
||||||
"@types/express-fileupload":"^1.1.7"
|
"@types/express-fileupload":"^1.1.7",
|
||||||
|
"@types/uuid":"^8.3.1"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@anticrm/platform": "~0.6.5",
|
"@anticrm/platform": "~0.6.5",
|
||||||
"express": "^4.17.1",
|
"express": "^4.17.1",
|
||||||
"express-fileupload":"^1.2.1"
|
"express-fileupload":"^1.2.1",
|
||||||
|
"aws-sdk":"^2.969.0",
|
||||||
|
"uuid":"^8.3.2"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -15,7 +15,24 @@
|
|||||||
//
|
//
|
||||||
|
|
||||||
import express from 'express'
|
import express from 'express'
|
||||||
import fileUpload from 'express-fileupload'
|
import fileUpload, { UploadedFile } from 'express-fileupload'
|
||||||
|
import { S3 } from 'aws-sdk'
|
||||||
|
import { v4 as uuid } from 'uuid'
|
||||||
|
|
||||||
|
const BUCKET = 'anticrm-upload-9e4e89c'
|
||||||
|
|
||||||
|
async function awsUpload(file: UploadedFile) {
|
||||||
|
console.log(file)
|
||||||
|
const s3 = new S3()
|
||||||
|
const resp = await s3.upload({
|
||||||
|
Bucket: BUCKET,
|
||||||
|
Key: uuid(),
|
||||||
|
Body: file.data,
|
||||||
|
ContentType: file.mimetype,
|
||||||
|
ACL: 'public-read'
|
||||||
|
}).promise()
|
||||||
|
console.log(resp)
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @public
|
* @public
|
||||||
@ -30,8 +47,9 @@ export function start (port: number): void {
|
|||||||
const file = req.files?.file
|
const file = req.files?.file
|
||||||
|
|
||||||
if (file !== undefined) {
|
if (file !== undefined) {
|
||||||
console.log(file)
|
awsUpload(file as UploadedFile)
|
||||||
res.status(200).send()
|
.then(() => res.status(200).send())
|
||||||
|
.catch(error => console.log(error))
|
||||||
} else {
|
} else {
|
||||||
res.status(400).send()
|
res.status(400).send()
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user