seed-sys-config.ts 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. // prisma/mongo/seed-sys-config.ts
  2. import { PrismaClient } from '@prisma/mongo/client';
  3. const prisma = new PrismaClient();
  4. async function main() {
  5. await prisma.$runCommandRaw({
  6. update: 'sysConfig',
  7. updates: [
  8. {
  9. q: { _id: -1 },
  10. u: {
  11. $set: {
  12. appConfig: {
  13. imageCdn: {
  14. s3: 'https://s3.ap-east-1.amazonaws.com/mybucket-imgs',
  15. local: 'https://man.boxt3yk.com/',
  16. },
  17. },
  18. imageConfig: {
  19. s3Enabled: true,
  20. storageStrategy: 'S3_AND_LOCAL',
  21. local: {
  22. rootPath: '/opt/app/node/ww-images',
  23. baseUrl: 'https://man.boxt3yk.com/images',
  24. },
  25. limitsMb: {
  26. image: 10,
  27. video: 100,
  28. },
  29. s3: {
  30. accessKeyId: 'AKIA6GSNGR5PISMIKCJ4',
  31. secretAccessKey: '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',
  32. bucket: 'mybucket-imgs',
  33. region: 'ap-east-1',
  34. endpointUrl: 'https://s3.ap-east-1.amazonaws.com',
  35. imageBaseUrl:
  36. 'https://s3.ap-east-1.amazonaws.com/mybucket-imgs',
  37. },
  38. },
  39. provider: {
  40. providerCode: 'PARTNER',
  41. apiUrl: 'https://wwapi.hxc1t.com',
  42. itemsLimit: 100,
  43. },
  44. },
  45. },
  46. upsert: true,
  47. multi: false,
  48. },
  49. ],
  50. });
  51. console.log('sysConfig upserted with appConfig.imageCdn');
  52. }
  53. main()
  54. .catch((err) => {
  55. console.error('Failed to upsert sysConfig:', err);
  56. process.exitCode = 1;
  57. })
  58. .finally(async () => {
  59. await prisma.$disconnect();
  60. });