storemw-core-api 1.0.178 → 1.0.180

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/dist/controllers/injection_field/injectionFieldController.js +2 -6
  2. package/dist/controllers/injection_field/injectionFieldController.js.map +1 -1
  3. package/dist/lib/query_builder/queryBuilder.js +8 -6
  4. package/dist/lib/query_builder/queryBuilder.js.map +1 -1
  5. package/dist/services/branch/UserBranchService.js +1 -1
  6. package/dist/services/branch/UserBranchService.js.map +1 -1
  7. package/dist/services/injection_field/unuse/LogisticInjectionFieldService.js +116 -0
  8. package/dist/services/injection_field/unuse/LogisticInjectionFieldService.js.map +1 -0
  9. package/dist/services/injection_field/unuse/RepositoryInjectionFieldService.d.ts +1 -0
  10. package/dist/services/injection_field/unuse/RepositoryInjectionFieldService.js +131 -0
  11. package/dist/services/injection_field/unuse/RepositoryInjectionFieldService.js.map +1 -0
  12. package/dist/utils/schemaUtils.js +3 -2
  13. package/dist/utils/schemaUtils.js.map +1 -1
  14. package/package.json +1 -1
  15. package/prisma/schema.prisma +45 -0
  16. package/dist/models/group/GroupModel.d.ts +0 -227
  17. package/dist/models/group/GroupModel.js +0 -13
  18. package/dist/models/group/GroupModel.js.map +0 -1
  19. package/dist/models/group/GroupOwnerModel.d.ts +0 -216
  20. package/dist/models/group/GroupOwnerModel.js +0 -13
  21. package/dist/models/group/GroupOwnerModel.js.map +0 -1
  22. package/dist/models/user/UserPropModel.d.ts +0 -256
  23. package/dist/models/user/UserPropModel.js +0 -13
  24. package/dist/models/user/UserPropModel.js.map +0 -1
  25. package/dist/route_contracts/access_control/accessControlPoliciesRoutes.d.ts +0 -2
  26. package/dist/route_contracts/access_control/accessControlPoliciesRoutes.js +0 -21
  27. package/dist/route_contracts/access_control/accessControlPoliciesRoutes.js.map +0 -1
  28. package/dist/route_contracts/access_control/accessControlRoleRoutes.d.ts +0 -2
  29. package/dist/route_contracts/access_control/accessControlRoleRoutes.js +0 -48
  30. package/dist/route_contracts/access_control/accessControlRoleRoutes.js.map +0 -1
  31. package/dist/route_contracts/access_control/accessControlRolesRoutes.d.ts +0 -2
  32. package/dist/route_contracts/access_control/accessControlRolesRoutes.js +0 -37
  33. package/dist/route_contracts/access_control/accessControlRolesRoutes.js.map +0 -1
  34. package/dist/route_contracts/access_control/accessControlRoutes.d.ts +0 -2
  35. package/dist/route_contracts/access_control/accessControlRoutes.js +0 -18
  36. package/dist/route_contracts/access_control/accessControlRoutes.js.map +0 -1
  37. package/dist/route_contracts/access_control/accessControlUserRolesRoutes.d.ts +0 -2
  38. package/dist/route_contracts/access_control/accessControlUserRolesRoutes.js +0 -21
  39. package/dist/route_contracts/access_control/accessControlUserRolesRoutes.js.map +0 -1
  40. package/dist/route_contracts/auth/authRoutes.d.ts +0 -2
  41. package/dist/route_contracts/auth/authRoutes.js +0 -23
  42. package/dist/route_contracts/auth/authRoutes.js.map +0 -1
  43. package/dist/route_contracts/index.d.ts +0 -2
  44. package/dist/route_contracts/index.js +0 -39
  45. package/dist/route_contracts/index.js.map +0 -1
  46. package/dist/scripts/migrate.js +0 -42
  47. package/dist/scripts/migrate.js.map +0 -1
  48. package/dist/services/file/ImageCompression.d.ts +0 -9
  49. package/dist/services/file/ImageCompression.js +0 -47
  50. package/dist/services/file/ImageCompression.js.map +0 -1
  51. /package/dist/{scripts/migrate.d.ts → services/injection_field/unuse/LogisticInjectionFieldService.d.ts} +0 -0
@@ -1,18 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.accessControlSpecs = void 0;
4
- const accessControlPoliciesRoutes_1 = require("./accessControlPoliciesRoutes");
5
- const accessControlRoleRoutes_1 = require("./accessControlRoleRoutes");
6
- const accessControlRolesRoutes_1 = require("./accessControlRolesRoutes");
7
- const accessControlUserRolesRoutes_1 = require("./accessControlUserRolesRoutes");
8
- exports.accessControlSpecs = [
9
- ...accessControlPoliciesRoutes_1.accessControlPolicyOptionsSpecs,
10
- ...accessControlRoleRoutes_1.accessControlRoleSpecs,
11
- ...accessControlRolesRoutes_1.accessControlRolesSpecs,
12
- ...accessControlUserRolesRoutes_1.accessControlUserRolesSpecs
13
- ];
14
- // export const accessControlRoutes: RouteConfig = {
15
- // path: "/access_control",
16
- // router: buildRouterFromSpec(accessControlSpecs, { scope: "access_control" }),
17
- // }
18
- //# sourceMappingURL=accessControlRoutes.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"accessControlRoutes.js","sourceRoot":"","sources":["../../../src/route_contracts/access_control/accessControlRoutes.ts"],"names":[],"mappings":";;;AAEA,+EAAgF;AAChF,uEAAmE;AACnE,yEAAqE;AACrE,iFAA6E;AAEhE,QAAA,kBAAkB,GAAgB;IAC3C,GAAG,6DAA+B;IAClC,GAAG,gDAAsB;IACzB,GAAG,kDAAuB;IAC1B,GAAG,0DAA2B;CACjC,CAAA;AAED,oDAAoD;AACpD,+BAA+B;AAC/B,oFAAoF;AACpF,IAAI","sourcesContent":["import { RouteSpec, RouteConfig, buildRouterFromSpec } from \"@/lib/route_factory\";\n\nimport { accessControlPolicyOptionsSpecs } from './accessControlPoliciesRoutes';\nimport { accessControlRoleSpecs } from './accessControlRoleRoutes';\nimport { accessControlRolesSpecs } from './accessControlRolesRoutes';\nimport { accessControlUserRolesSpecs } from './accessControlUserRolesRoutes';\n\nexport const accessControlSpecs: RouteSpec[] = [\n ...accessControlPolicyOptionsSpecs,\n ...accessControlRoleSpecs,\n ...accessControlRolesSpecs,\n ...accessControlUserRolesSpecs\n]\n\n// export const accessControlRoutes: RouteConfig = {\n// path: \"/access_control\",\n// router: buildRouterFromSpec(accessControlSpecs, { scope: \"access_control\" }),\n// }\n"]}
@@ -1,2 +0,0 @@
1
- import { RouteSpec } from "../../lib/route_factory";
2
- export declare const accessControlUserRolesSpecs: RouteSpec[];
@@ -1,21 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.accessControlUserRolesSpecs = void 0;
4
- const controllers_1 = require("../../controllers");
5
- const payload_1 = require("../../schema/payload");
6
- exports.accessControlUserRolesSpecs = [
7
- /** access_control/users/:userId/roles - Assign Roles To User */
8
- {
9
- method: "post",
10
- path: "/users/:userId/roles",
11
- mcpValidation: {
12
- body: payload_1.schemaAccessControlUserAssignRolesPayload
13
- },
14
- handler: controllers_1.assignAccessControlRolesToUsers,
15
- scope: "access_control",
16
- module: "user_roles",
17
- action: "assign",
18
- description: "Assign Roles To User"
19
- }
20
- ];
21
- //# sourceMappingURL=accessControlUserRolesRoutes.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"accessControlUserRolesRoutes.js","sourceRoot":"","sources":["../../../src/route_contracts/access_control/accessControlUserRolesRoutes.ts"],"names":[],"mappings":";;;AAIA,+CAAgE;AAEhE,8CAE0B;AAEb,QAAA,2BAA2B,GAAgB;IACpD,gEAAgE;IAChE;QACI,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,sBAAsB;QAC5B,aAAa,EAAE;YACX,IAAI,EAAE,mDAAyC;SAClD;QACD,OAAO,EAAE,6CAA+B;QACxC,KAAK,EAAE,gBAAgB;QACvB,MAAM,EAAE,YAAY;QACpB,MAAM,EAAE,QAAQ;QAChB,WAAW,EAAE,sBAAsB;KACtC;CACJ,CAAA","sourcesContent":["import { RouteSpec } from \"@/lib/route_factory\";\n\nimport { validateRouteAccessControlAssignRoleCreate } from \"@/middlewares/route\";\n\nimport { assignAccessControlRolesToUsers } from \"@/controllers\";\n\nimport {\n schemaAccessControlUserAssignRolesPayload,\n} from \"@/schema/payload\";\n\nexport const accessControlUserRolesSpecs: RouteSpec[] = [\n /** access_control/users/:userId/roles - Assign Roles To User */\n {\n method: \"post\",\n path: \"/users/:userId/roles\",\n mcpValidation: {\n body: schemaAccessControlUserAssignRolesPayload\n },\n handler: assignAccessControlRolesToUsers,\n scope: \"access_control\",\n module: \"user_roles\",\n action: \"assign\",\n description: \"Assign Roles To User\"\n }\n]"]}
@@ -1,2 +0,0 @@
1
- import { RouteSpec } from "../../lib/route_factory";
2
- export declare const authSpecs: RouteSpec[];
@@ -1,23 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.authSpecs = void 0;
4
- const controllers_1 = require("../../controllers");
5
- const payload_1 = require("../../schema/payload");
6
- exports.authSpecs = [
7
- {
8
- method: "post",
9
- path: "/token",
10
- mcpValidation: {
11
- body: payload_1.schemaAuthTokenPayload
12
- },
13
- handler: controllers_1.getAuthToken,
14
- scope: "auth",
15
- module: "token",
16
- description: "Get auth token"
17
- }
18
- ];
19
- // export const authRoutes: RouteConfig = {
20
- // path: "/auth",
21
- // router: buildRouterFromSpec(authSpecs, { scope: "auth" })
22
- // }
23
- //# sourceMappingURL=authRoutes.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"authRoutes.js","sourceRoot":"","sources":["../../../src/route_contracts/auth/authRoutes.ts"],"names":[],"mappings":";;;AAEA,+CAA6C;AAE7C,8CAI0B;AAEb,QAAA,SAAS,GAAgB;IAClC;QACI,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,QAAQ;QACd,aAAa,EAAE;YACX,IAAI,EAAE,gCAAsB;SAC/B;QACD,OAAO,EAAE,0BAAY;QACrB,KAAK,EAAE,MAAM;QACb,MAAM,EAAE,OAAO;QACf,WAAW,EAAE,gBAAgB;KAChC;CACJ,CAAA;AAED,2CAA2C;AAC3C,qBAAqB;AACrB,gEAAgE;AAChE,IAAI","sourcesContent":["import { RouteConfig, RouteSpec, buildRouterFromSpec } from \"@/lib/route_factory\";\n\nimport { getAuthToken } from \"@/controllers\";\n\nimport {\n schemaAuthTokenPayload,\n // schemaAuthTokenOperatorPayload,\n // schemaAuthTokenOptionalAccountPayload\n} from \"@/schema/payload\";\n\nexport const authSpecs: RouteSpec[] = [\n {\n method: \"post\",\n path: \"/token\",\n mcpValidation: {\n body: schemaAuthTokenPayload\n },\n handler: getAuthToken,\n scope: \"auth\",\n module: \"token\",\n description: \"Get auth token\"\n }\n]\n\n// export const authRoutes: RouteConfig = {\n// path: \"/auth\",\n// router: buildRouterFromSpec(authSpecs, { scope: \"auth\" })\n// }\n"]}
@@ -1,2 +0,0 @@
1
- export { authSpecs } from "./auth/authRoutes";
2
- export { accessControlSpecs } from "./access_control/accessControlRoutes";
@@ -1,39 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.accessControlSpecs = exports.authSpecs = void 0;
4
- var authRoutes_1 = require("./auth/authRoutes");
5
- Object.defineProperty(exports, "authSpecs", { enumerable: true, get: function () { return authRoutes_1.authSpecs; } });
6
- var accessControlRoutes_1 = require("./access_control/accessControlRoutes");
7
- Object.defineProperty(exports, "accessControlSpecs", { enumerable: true, get: function () { return accessControlRoutes_1.accessControlSpecs; } });
8
- // export { accessKeyRoutes } from "./access_key/accessKeyRoutes"
9
- // export { accessKeysRoutes } from "./access_key/accessKeysRoutes"
10
- // export { resetPasswordRoutes } from "./reset_password/resetPasswordRoutes"
11
- // export { oneTimeCodeRoutes } from "./one_time_code/oneTimeCodeRoutes"
12
- // export { oneTimeCodesRoutes } from "./one_time_code/oneTimeCodesRoutes"
13
- // export { userMeRoutes } from "./user/userMeRoutes"
14
- // export { userRoutes } from "./user/userRoutes"
15
- // export { usersRoutes } from "./user/usersRoutes"
16
- // export { accountRoutes } from "./account/accountRoutes"
17
- // export { accountsRoutes } from "./account/accountsRoutes"
18
- // export { subscriptionsRoutes } from "./subscription/subscriptionsRoutes"
19
- // export { schedulersRoutes } from "./scheduler/schedulersRoutes"
20
- // export { businessRoutes } from "./business/businessRoutes"
21
- // export { businessesRoutes } from "./business/businessesRoutes"
22
- // export { userBranchRoutes } from "./branch/userBranchRoutes"
23
- // export { userBranchesRoutes } from "./branch/userBranchesRoutes"
24
- // export { documentRoutes } from "./document/documentRoutes"
25
- // export { documentsRoutes } from "./document/documentsRoutes"
26
- // export { repositoryRoutes } from "./repository/repositoryRoutes"
27
- // export { repositoriesRoutes } from "./repository/repositoriesRoutes"
28
- // export { itemRoutes } from "./item/itemRoutes"
29
- // export { itemsRoutes } from "./item/itemsRoutes"
30
- // export { fileRoutes } from "./file/fileRoutes"
31
- // export { filesRoutes } from "./file/filesRoutes"
32
- // export { regionRoutes } from "./region/regionRoutes"
33
- // export { regionsRoutes } from "./region/regionsRoutes"
34
- // export { locationRoutes } from "./location/locationRoutes"
35
- // export { locationsRoutes } from "./location/locationsRoutes"
36
- // export { injectionFieldRoutes } from "./injection_field/injectionFieldRoutes"
37
- // export { injectionFieldsRoutes } from "./injection_field/injectionFieldsRoutes"
38
- // export { accessKeyUtilRoutes } from "./utils/accessKeyUtilRoutes"
39
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/route_contracts/index.ts"],"names":[],"mappings":";;;AAAA,gDAA6C;AAApC,uGAAA,SAAS,OAAA;AAElB,4EAAyE;AAAhE,yHAAA,kBAAkB,OAAA;AAE3B,iEAAiE;AACjE,mEAAmE;AAEnE,6EAA6E;AAE7E,wEAAwE;AACxE,0EAA0E;AAE1E,qDAAqD;AAErD,iDAAiD;AACjD,mDAAmD;AAEnD,0DAA0D;AAC1D,4DAA4D;AAE5D,2EAA2E;AAE3E,kEAAkE;AAElE,6DAA6D;AAC7D,iEAAiE;AAEjE,+DAA+D;AAC/D,mEAAmE;AAEnE,6DAA6D;AAC7D,+DAA+D;AAE/D,mEAAmE;AACnE,uEAAuE;AAEvE,iDAAiD;AACjD,mDAAmD;AAEnD,iDAAiD;AACjD,mDAAmD;AAEnD,uDAAuD;AACvD,yDAAyD;AAEzD,6DAA6D;AAC7D,+DAA+D;AAE/D,gFAAgF;AAChF,kFAAkF;AAElF,oEAAoE","sourcesContent":["export { authSpecs } from \"./auth/authRoutes\"\n\nexport { accessControlSpecs } from \"./access_control/accessControlRoutes\"\n\n// export { accessKeyRoutes } from \"./access_key/accessKeyRoutes\"\n// export { accessKeysRoutes } from \"./access_key/accessKeysRoutes\"\n\n// export { resetPasswordRoutes } from \"./reset_password/resetPasswordRoutes\"\n\n// export { oneTimeCodeRoutes } from \"./one_time_code/oneTimeCodeRoutes\"\n// export { oneTimeCodesRoutes } from \"./one_time_code/oneTimeCodesRoutes\"\n\n// export { userMeRoutes } from \"./user/userMeRoutes\"\n\n// export { userRoutes } from \"./user/userRoutes\"\n// export { usersRoutes } from \"./user/usersRoutes\"\n\n// export { accountRoutes } from \"./account/accountRoutes\"\n// export { accountsRoutes } from \"./account/accountsRoutes\"\n\n// export { subscriptionsRoutes } from \"./subscription/subscriptionsRoutes\"\n\n// export { schedulersRoutes } from \"./scheduler/schedulersRoutes\"\n\n// export { businessRoutes } from \"./business/businessRoutes\"\n// export { businessesRoutes } from \"./business/businessesRoutes\"\n\n// export { userBranchRoutes } from \"./branch/userBranchRoutes\"\n// export { userBranchesRoutes } from \"./branch/userBranchesRoutes\"\n\n// export { documentRoutes } from \"./document/documentRoutes\"\n// export { documentsRoutes } from \"./document/documentsRoutes\"\n\n// export { repositoryRoutes } from \"./repository/repositoryRoutes\"\n// export { repositoriesRoutes } from \"./repository/repositoriesRoutes\"\n\n// export { itemRoutes } from \"./item/itemRoutes\"\n// export { itemsRoutes } from \"./item/itemsRoutes\"\n\n// export { fileRoutes } from \"./file/fileRoutes\"\n// export { filesRoutes } from \"./file/filesRoutes\"\n\n// export { regionRoutes } from \"./region/regionRoutes\"\n// export { regionsRoutes } from \"./region/regionsRoutes\"\n\n// export { locationRoutes } from \"./location/locationRoutes\"\n// export { locationsRoutes } from \"./location/locationsRoutes\"\n\n// export { injectionFieldRoutes } from \"./injection_field/injectionFieldRoutes\"\n// export { injectionFieldsRoutes } from \"./injection_field/injectionFieldsRoutes\"\n\n// export { accessKeyUtilRoutes } from \"./utils/accessKeyUtilRoutes\"\n"]}
@@ -1,42 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const child_process_1 = require("child_process");
7
- const path_1 = __importDefault(require("path"));
8
- const fs_1 = __importDefault(require("fs"));
9
- const dotenv_1 = __importDefault(require("dotenv"));
10
- // read --env flag from args, default to development
11
- const args = process.argv.slice(2);
12
- const envFlag = args.find(a => a.startsWith('--env='));
13
- const envName = envFlag ? envFlag.split('=')[1] : 'development';
14
- const envFile = path_1.default.resolve(process.cwd(), `.env.${envName}`);
15
- if (!fs_1.default.existsSync(envFile)) {
16
- console.error(`❌ ${envFile} not found`);
17
- process.exit(1);
18
- }
19
- dotenv_1.default.config({ path: envFile });
20
- if (!process.env.DATABASE_URL) {
21
- console.error(`❌ DATABASE_URL is not set in .env.${envName}`);
22
- process.exit(1);
23
- }
24
- console.log(`🔧 Using environment: ${envName}`);
25
- console.log(`🔧 Loaded: .env.${envName}`);
26
- const corePrismaSchema = path_1.default.resolve(__dirname, '../../prisma/schema.prisma');
27
- const consumerMigrationsDir = path_1.default.resolve(process.cwd(), 'prisma/migrations');
28
- const consumerSchemaDir = path_1.default.resolve(process.cwd(), 'prisma');
29
- // 1. ensure consumer prisma folder exists
30
- fs_1.default.mkdirSync(consumerSchemaDir, { recursive: true });
31
- fs_1.default.mkdirSync(consumerMigrationsDir, { recursive: true });
32
- // 2. copy core schema.prisma into consumer prisma folder
33
- const tempSchema = path_1.default.resolve(consumerSchemaDir, 'schema.prisma');
34
- fs_1.default.copyFileSync(corePrismaSchema, tempSchema);
35
- // 3. run prisma migrate dev
36
- (0, child_process_1.execSync)('npx prisma migrate dev --name init_core', {
37
- stdio: 'inherit',
38
- cwd: process.cwd(),
39
- env: { ...process.env }
40
- });
41
- console.log('✅ Core migration generated successfully');
42
- //# sourceMappingURL=migrate.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../src/scripts/migrate.ts"],"names":[],"mappings":";;;;;AAAA,iDAAwC;AACxC,gDAAuB;AACvB,4CAAmB;AACnB,oDAA2B;AAE3B,oDAAoD;AACpD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AAClC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAA;AACtD,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAA;AAE/D,MAAM,OAAO,GAAG,cAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,OAAO,EAAE,CAAC,CAAA;AAE9D,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;IAC1B,OAAO,CAAC,KAAK,CAAC,KAAK,OAAO,YAAY,CAAC,CAAA;IACvC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACnB,CAAC;AAED,gBAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;AAEhC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;IAC5B,OAAO,CAAC,KAAK,CAAC,qCAAqC,OAAO,EAAE,CAAC,CAAA;IAC7D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACnB,CAAC;AAED,OAAO,CAAC,GAAG,CAAC,yBAAyB,OAAO,EAAE,CAAC,CAAA;AAC/C,OAAO,CAAC,GAAG,CAAC,mBAAmB,OAAO,EAAE,CAAC,CAAA;AAEzC,MAAM,gBAAgB,GAAG,cAAI,CAAC,OAAO,CACjC,SAAS,EAAE,4BAA4B,CAC1C,CAAA;AAED,MAAM,qBAAqB,GAAG,cAAI,CAAC,OAAO,CACtC,OAAO,CAAC,GAAG,EAAE,EAAE,mBAAmB,CACrC,CAAA;AAED,MAAM,iBAAiB,GAAG,cAAI,CAAC,OAAO,CAClC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAC1B,CAAA;AAED,0CAA0C;AAC1C,YAAE,CAAC,SAAS,CAAC,iBAAiB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;AACpD,YAAE,CAAC,SAAS,CAAC,qBAAqB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;AAExD,yDAAyD;AACzD,MAAM,UAAU,GAAG,cAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,eAAe,CAAC,CAAA;AACnE,YAAE,CAAC,YAAY,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAA;AAE7C,4BAA4B;AAC5B,IAAA,wBAAQ,EAAC,yCAAyC,EAAE;IAChD,KAAK,EAAE,SAAS;IAChB,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;IAClB,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE;CAC1B,CAAC,CAAA;AAEF,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAA","sourcesContent":["import { execSync } from 'child_process'\nimport path from 'path'\nimport fs from 'fs'\nimport dotenv from 'dotenv'\n\n// read --env flag from args, default to development\nconst args = process.argv.slice(2)\nconst envFlag = args.find(a => a.startsWith('--env='))\nconst envName = envFlag ? envFlag.split('=')[1] : 'development'\n\nconst envFile = path.resolve(process.cwd(), `.env.${envName}`)\n\nif (!fs.existsSync(envFile)) {\n console.error(`❌ ${envFile} not found`)\n process.exit(1)\n}\n\ndotenv.config({ path: envFile })\n\nif (!process.env.DATABASE_URL) {\n console.error(`❌ DATABASE_URL is not set in .env.${envName}`)\n process.exit(1)\n}\n\nconsole.log(`🔧 Using environment: ${envName}`)\nconsole.log(`🔧 Loaded: .env.${envName}`)\n\nconst corePrismaSchema = path.resolve(\n __dirname, '../../prisma/schema.prisma'\n)\n\nconst consumerMigrationsDir = path.resolve(\n process.cwd(), 'prisma/migrations'\n)\n\nconst consumerSchemaDir = path.resolve(\n process.cwd(), 'prisma'\n)\n\n// 1. ensure consumer prisma folder exists\nfs.mkdirSync(consumerSchemaDir, { recursive: true })\nfs.mkdirSync(consumerMigrationsDir, { recursive: true })\n\n// 2. copy core schema.prisma into consumer prisma folder\nconst tempSchema = path.resolve(consumerSchemaDir, 'schema.prisma')\nfs.copyFileSync(corePrismaSchema, tempSchema)\n\n// 3. run prisma migrate dev\nexecSync('npx prisma migrate dev --name init_core', {\n stdio: 'inherit',\n cwd: process.cwd(),\n env: { ...process.env }\n})\n\nconsole.log('✅ Core migration generated successfully')"]}
@@ -1,9 +0,0 @@
1
- export type FileImageCompressionOptions = {
2
- maxWidth?: number;
3
- quality?: number;
4
- };
5
- export declare const compressImageBuffer: (buffer: Buffer, mimeType: string, options?: FileImageCompressionOptions) => Promise<{
6
- compressFormat: string;
7
- buffer: Buffer;
8
- sizeBytes: number;
9
- }>;
@@ -1,47 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.compressImageBuffer = void 0;
4
- const utils_1 = require("../../utils");
5
- const compressImageBuffer = async (buffer, mimeType, options = {}) => {
6
- const { maxWidth = 1024, quality = 80 } = options;
7
- const SUPPORTED_IMAGE_MIMES = [
8
- "image/jpeg",
9
- "image/png",
10
- "image/webp",
11
- "image/tiff",
12
- "image/bmp",
13
- ];
14
- // Skip unsupported images
15
- if (!SUPPORTED_IMAGE_MIMES.includes(mimeType)) {
16
- return { compressFormat: '', buffer, sizeBytes: buffer.byteLength };
17
- }
18
- // let pipeline = sharp(buffer);
19
- let pipeline = (0, utils_1.sharp)(buffer)
20
- .rotate(); // ✅ auto-orients based on EXIF
21
- // .resize({ width: maxWidth }); // safe to chain directly
22
- if (maxWidth) {
23
- pipeline = pipeline.resize({ width: maxWidth });
24
- }
25
- let compressedBuffer;
26
- switch (mimeType) {
27
- case "image/png":
28
- compressedBuffer = await pipeline.png({ quality }).toBuffer();
29
- break;
30
- case "image/webp":
31
- compressedBuffer = await pipeline.webp({ quality }).toBuffer();
32
- break;
33
- case "image/jpeg":
34
- case "image/tiff":
35
- case "image/bmp":
36
- default:
37
- compressedBuffer = await pipeline.jpeg({ quality }).toBuffer();
38
- break;
39
- }
40
- return {
41
- compressFormat: JSON.stringify(options),
42
- buffer: compressedBuffer,
43
- sizeBytes: compressedBuffer.byteLength
44
- };
45
- };
46
- exports.compressImageBuffer = compressImageBuffer;
47
- //# sourceMappingURL=ImageCompression.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ImageCompression.js","sourceRoot":"","sources":["../../../src/services/file/ImageCompression.ts"],"names":[],"mappings":";;;AAAA,mCAAgC;AAOzB,MAAM,mBAAmB,GAAG,KAAK,EACpC,MAAc,EACd,QAAgB,EAChB,UAAuC,EAAE,EAK1C,EAAE;IAED,MAAM,EAAE,QAAQ,GAAG,IAAI,EAAE,OAAO,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC;IAElD,MAAM,qBAAqB,GAAG;QAC1B,YAAY;QACZ,WAAW;QACX,YAAY;QACZ,YAAY;QACZ,WAAW;KACd,CAAC;IAEF,0BAA0B;IAC1B,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5C,OAAO,EAAE,cAAc,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC;IACxE,CAAC;IAED,gCAAgC;IAChC,IAAI,QAAQ,GAAG,IAAA,aAAK,EAAC,MAAM,CAAC;SACvB,MAAM,EAAE,CAAA,CAAC,+BAA+B;IAC7C,0DAA0D;IAE1D,IAAI,QAAQ,EAAE,CAAC;QACX,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;IACpD,CAAC;IAED,IAAI,gBAAwB,CAAC;IAE7B,QAAQ,QAAQ,EAAE,CAAC;QACf,KAAK,WAAW;YACZ,gBAAgB,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;YAC9D,MAAM;QACV,KAAK,YAAY;YACb,gBAAgB,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;YAC/D,MAAM;QACV,KAAK,YAAY,CAAC;QAClB,KAAK,YAAY,CAAC;QAClB,KAAK,WAAW,CAAC;QACjB;YACI,gBAAgB,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;YAC/D,MAAM;IACd,CAAC;IAED,OAAO;QACH,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;QACvC,MAAM,EAAE,gBAAgB;QACxB,SAAS,EAAE,gBAAgB,CAAC,UAAU;KACzC,CAAC;AAEN,CAAC,CAAC;AAzDW,QAAA,mBAAmB,uBAyD9B","sourcesContent":["import { sharp } from \"@/utils\";\n\nexport type FileImageCompressionOptions = {\n maxWidth?: number;\n quality?: number;\n}\n\nexport const compressImageBuffer = async (\n buffer: Buffer,\n mimeType: string,\n options: FileImageCompressionOptions = {}\n): Promise<{\n compressFormat: string;\n buffer: Buffer;\n sizeBytes: number;\n}> => {\n\n const { maxWidth = 1024, quality = 80 } = options;\n\n const SUPPORTED_IMAGE_MIMES = [\n \"image/jpeg\",\n \"image/png\",\n \"image/webp\",\n \"image/tiff\",\n \"image/bmp\",\n ];\n\n // Skip unsupported images\n if (!SUPPORTED_IMAGE_MIMES.includes(mimeType)) {\n return { compressFormat: '', buffer, sizeBytes: buffer.byteLength };\n }\n\n // let pipeline = sharp(buffer);\n let pipeline = sharp(buffer)\n .rotate() // ✅ auto-orients based on EXIF\n // .resize({ width: maxWidth }); // safe to chain directly\n\n if (maxWidth) {\n pipeline = pipeline.resize({ width: maxWidth });\n }\n\n let compressedBuffer: Buffer;\n\n switch (mimeType) {\n case \"image/png\":\n compressedBuffer = await pipeline.png({ quality }).toBuffer();\n break;\n case \"image/webp\":\n compressedBuffer = await pipeline.webp({ quality }).toBuffer();\n break;\n case \"image/jpeg\":\n case \"image/tiff\":\n case \"image/bmp\":\n default:\n compressedBuffer = await pipeline.jpeg({ quality }).toBuffer();\n break;\n }\n\n return {\n compressFormat: JSON.stringify(options),\n buffer: compressedBuffer,\n sizeBytes: compressedBuffer.byteLength\n };\n\n};"]}