@@ -16,6 +16,8 @@ import CompletionAdapterOpenAIChatGPT from "../../adapters/adminforth-completion
16
16
import ImageGenerationAdapterOpenAI from "../../adapters/adminforth-image-generation-adapter-openai/index.js" ;
17
17
import AdminForthAdapterS3Storage from "../../adapters/adminforth-storage-adapter-amazon-s3/index.js" ;
18
18
import AdminForthAdapterLocal from "../../adapters/adminforth-storage-adapter-local/index.js" ;
19
+ import AdminForthStorageAdapterLocalFilesystem from "../../adapters/adminforth-storage-adapter-local/index.js" ;
20
+ import AdminForth from "../../adminforth" ;
19
21
20
22
21
23
const demoChecker = async ( { record, adminUser, resource } ) => {
@@ -25,6 +27,19 @@ const demoChecker = async ({ record, adminUser, resource }) => {
25
27
return { ok : true } ;
26
28
} ;
27
29
30
+ declare global {
31
+ namespace NodeJS {
32
+ interface ProcessEnv {
33
+ AWS_ACCESS_KEY_ID : string ;
34
+ AWS_SECRET_ACCESS_KEY : string ;
35
+ AWS_REGION : string ;
36
+ AWS_BUCKET : string ;
37
+ ADMINFORTH_SECRET : string ;
38
+ OPENAI_API_KEY : string ;
39
+ }
40
+ }
41
+ }
42
+
28
43
export default {
29
44
dataSource : "maindb" ,
30
45
table : "apartments" ,
@@ -326,13 +341,20 @@ export default {
326
341
new UploadPlugin ( {
327
342
pathColumnName : "apartment_source" ,
328
343
329
- storageAdapter : new AdminForthAdapterS3Storage ( {
330
- region : "eu-central-1" ,
331
- bucket : "tmpbucket-adminforth" ,
332
- accessKeyId : process . env . AWS_ACCESS_KEY_ID as string ,
333
- secretAccessKey : process . env . AWS_SECRET_ACCESS_KEY as string ,
334
- s3ACL : 'public-read' , // ACL which will be set to uploaded file
344
+ // storageAdapter: new AdminForthAdapterS3Storage({
345
+ // region: "eu-central-1",
346
+ // bucket: "tmpbucket-adminforth",
347
+ // accessKeyId: process.env.AWS_ACCESS_KEY_ID,
348
+ // secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY,
349
+ // s3ACL: 'public-read', // ACL which will be set to uploaded file
350
+ // }),
351
+
352
+ storageAdapter : new AdminForthStorageAdapterLocalFilesystem ( {
353
+ fileSystemFolder : "./db/uploads" ,
354
+ mode : "public" , // public if all files should be accessible from the web, private only if could be accesed by temporary presigned links
355
+ signingSecret : process . env . ADMINFORTH_SECRET , // secret used to generate presigned URLs
335
356
} ) ,
357
+
336
358
allowedFileExtensions : [
337
359
"jpg" ,
338
360
"jpeg" ,
@@ -343,7 +365,7 @@ export default {
343
365
"webp" ,
344
366
] ,
345
367
maxFileSize : 1024 * 1024 * 20 , // 5MB
346
- s3Path : ( { originalFilename, originalExtension, contentType, record } ) => {
368
+ filePath : ( { originalFilename, originalExtension, contentType, record } ) => {
347
369
console . log ( "🔥" , JSON . stringify ( record ) ) ;
348
370
return `aparts2/${ new Date ( ) . getFullYear ( ) } /${ uuid ( ) } /${ originalFilename } .${ originalExtension } `
349
371
} ,
0 commit comments