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.
- package/dist/controllers/injection_field/injectionFieldController.js +2 -6
- package/dist/controllers/injection_field/injectionFieldController.js.map +1 -1
- package/dist/lib/query_builder/queryBuilder.js +8 -6
- package/dist/lib/query_builder/queryBuilder.js.map +1 -1
- package/dist/services/branch/UserBranchService.js +1 -1
- package/dist/services/branch/UserBranchService.js.map +1 -1
- package/dist/services/injection_field/unuse/LogisticInjectionFieldService.js +116 -0
- package/dist/services/injection_field/unuse/LogisticInjectionFieldService.js.map +1 -0
- package/dist/services/injection_field/unuse/RepositoryInjectionFieldService.d.ts +1 -0
- package/dist/services/injection_field/unuse/RepositoryInjectionFieldService.js +131 -0
- package/dist/services/injection_field/unuse/RepositoryInjectionFieldService.js.map +1 -0
- package/dist/utils/schemaUtils.js +3 -2
- package/dist/utils/schemaUtils.js.map +1 -1
- package/package.json +1 -1
- package/prisma/schema.prisma +45 -0
- package/dist/models/group/GroupModel.d.ts +0 -227
- package/dist/models/group/GroupModel.js +0 -13
- package/dist/models/group/GroupModel.js.map +0 -1
- package/dist/models/group/GroupOwnerModel.d.ts +0 -216
- package/dist/models/group/GroupOwnerModel.js +0 -13
- package/dist/models/group/GroupOwnerModel.js.map +0 -1
- package/dist/models/user/UserPropModel.d.ts +0 -256
- package/dist/models/user/UserPropModel.js +0 -13
- package/dist/models/user/UserPropModel.js.map +0 -1
- package/dist/route_contracts/access_control/accessControlPoliciesRoutes.d.ts +0 -2
- package/dist/route_contracts/access_control/accessControlPoliciesRoutes.js +0 -21
- package/dist/route_contracts/access_control/accessControlPoliciesRoutes.js.map +0 -1
- package/dist/route_contracts/access_control/accessControlRoleRoutes.d.ts +0 -2
- package/dist/route_contracts/access_control/accessControlRoleRoutes.js +0 -48
- package/dist/route_contracts/access_control/accessControlRoleRoutes.js.map +0 -1
- package/dist/route_contracts/access_control/accessControlRolesRoutes.d.ts +0 -2
- package/dist/route_contracts/access_control/accessControlRolesRoutes.js +0 -37
- package/dist/route_contracts/access_control/accessControlRolesRoutes.js.map +0 -1
- package/dist/route_contracts/access_control/accessControlRoutes.d.ts +0 -2
- package/dist/route_contracts/access_control/accessControlRoutes.js +0 -18
- package/dist/route_contracts/access_control/accessControlRoutes.js.map +0 -1
- package/dist/route_contracts/access_control/accessControlUserRolesRoutes.d.ts +0 -2
- package/dist/route_contracts/access_control/accessControlUserRolesRoutes.js +0 -21
- package/dist/route_contracts/access_control/accessControlUserRolesRoutes.js.map +0 -1
- package/dist/route_contracts/auth/authRoutes.d.ts +0 -2
- package/dist/route_contracts/auth/authRoutes.js +0 -23
- package/dist/route_contracts/auth/authRoutes.js.map +0 -1
- package/dist/route_contracts/index.d.ts +0 -2
- package/dist/route_contracts/index.js +0 -39
- package/dist/route_contracts/index.js.map +0 -1
- package/dist/scripts/migrate.js +0 -42
- package/dist/scripts/migrate.js.map +0 -1
- package/dist/services/file/ImageCompression.d.ts +0 -9
- package/dist/services/file/ImageCompression.js +0 -47
- package/dist/services/file/ImageCompression.js.map +0 -1
- /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,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,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,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"]}
|
package/dist/scripts/migrate.js
DELETED
|
@@ -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};"]}
|
|
File without changes
|