seed-sys-config.ts 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  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. videoCdn: {
  14. image: 'https://vm.rvakc.xyz/res/decode',
  15. video: 'https://vm.rvakc.xyz/api/web/media/m3u8/',
  16. },
  17. adsCdn: {
  18. s3: 'https://s3.ap-east-1.amazonaws.com/mybucket-imgs',
  19. local: 'https://man.boxt3yk.com/images',
  20. },
  21. },
  22. imageConfig: {
  23. s3Enabled: true,
  24. storageStrategy: 'S3_AND_LOCAL',
  25. local: {
  26. rootPath: '/opt/app/node/ww-images',
  27. baseUrl: 'https://man.boxt3yk.com/images',
  28. },
  29. limitsMb: {
  30. image: 10,
  31. video: 100,
  32. },
  33. s3: {
  34. accessKeyId: 'AKIA6GSNGR5PISMIKCJ4',
  35. secretAccessKey: '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',
  36. bucket: 'mybucket-imgs',
  37. region: 'ap-east-1',
  38. endpointUrl: 'https://s3.ap-east-1.amazonaws.com',
  39. imageBaseUrl:
  40. 'https://s3.ap-east-1.amazonaws.com/mybucket-imgs',
  41. },
  42. },
  43. provider: {
  44. providerCode: 'PARTNER',
  45. apiUrl: 'https://wwapi.hxc1t.com',
  46. itemsLimit: 100,
  47. videoCdn: {
  48. image: 'https://vm.rvakc.xyz/res/decode',
  49. video: 'https://vm.rvakc.xyz/api/web/media/m3u8/',
  50. },
  51. },
  52. },
  53. },
  54. upsert: true,
  55. multi: false,
  56. },
  57. ],
  58. });
  59. console.log('sysConfig upserted with appConfig.imageCdn');
  60. }
  61. main()
  62. .catch((err) => {
  63. console.error('Failed to upsert sysConfig:', err);
  64. process.exitCode = 1;
  65. })
  66. .finally(async () => {
  67. await prisma.$disconnect();
  68. });