storemw-core-api 1.0.93 → 1.0.95
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/configs/config.d.ts +1 -30
- package/dist/configs/config.js +43 -47
- package/dist/configs/config.js.map +1 -1
- package/dist/configs/index.d.ts +1 -1
- package/dist/configs/index.js +1 -3
- package/dist/configs/index.js.map +1 -1
- package/dist/controllers/auth/authController.js +5 -2
- package/dist/controllers/auth/authController.js.map +1 -1
- package/dist/controllers/file/fileController.js +92 -28
- package/dist/controllers/file/fileController.js.map +1 -1
- package/dist/controllers/utils/changePasswordUtilController.js +5 -2
- package/dist/controllers/utils/changePasswordUtilController.js.map +1 -1
- package/dist/features/core_config/coreConfigRegister.d.ts +5 -0
- package/dist/features/core_config/coreConfigRegister.js +11 -0
- package/dist/features/core_config/coreConfigRegister.js.map +1 -0
- package/dist/features/core_config/coreConfigRegistry.d.ts +2 -0
- package/dist/features/core_config/coreConfigRegistry.js +14 -0
- package/dist/features/core_config/coreConfigRegistry.js.map +1 -0
- package/dist/features/core_config/coreConfigType.d.ts +7 -0
- package/dist/features/core_config/coreConfigType.js +3 -0
- package/dist/features/core_config/coreConfigType.js.map +1 -0
- package/dist/features/file_storage/fileStorageRegister.d.ts +5 -0
- package/dist/features/file_storage/fileStorageRegister.js +11 -0
- package/dist/features/file_storage/fileStorageRegister.js.map +1 -0
- package/dist/features/file_storage/fileStorageRegistry.d.ts +2 -0
- package/dist/features/file_storage/fileStorageRegistry.js +55 -0
- package/dist/features/file_storage/fileStorageRegistry.js.map +1 -0
- package/dist/features/file_storage/fileStorageType.d.ts +72 -0
- package/dist/features/file_storage/fileStorageType.js +3 -0
- package/dist/features/file_storage/fileStorageType.js.map +1 -0
- package/dist/features/index.d.ts +6 -0
- package/dist/features/index.js +9 -1
- package/dist/features/index.js.map +1 -1
- package/dist/index.js +9 -3
- package/dist/index.js.map +1 -1
- package/dist/lib/prisma/prisma.d.ts +1 -1
- package/dist/lib/query_builder/queryDocument.d.ts +1 -1
- package/dist/middlewares/request/validateAuthorization.js +5 -2
- package/dist/middlewares/request/validateAuthorization.js.map +1 -1
- package/dist/middlewares/request/validateHeader.js +6 -2
- package/dist/middlewares/request/validateHeader.js.map +1 -1
- package/dist/middlewares/route/validateFile.d.ts +1 -1
- package/dist/middlewares/route/validateFile.js +7 -4
- package/dist/middlewares/route/validateFile.js.map +1 -1
- package/dist/models/account/AccountModel.d.ts +13 -13
- package/dist/models/auth/AccessKeyModel.d.ts +13 -13
- package/dist/models/branch/UserBranchModel.d.ts +112 -112
- package/dist/models/business/BusinessModel.d.ts +57 -57
- package/dist/models/document/DocumentAmountModel.d.ts +13 -13
- package/dist/models/document/DocumentDocumentModel.d.ts +13 -13
- package/dist/models/document/DocumentItemModel.d.ts +35 -35
- package/dist/models/document/DocumentLocationModel.d.ts +24 -24
- package/dist/models/document/DocumentModel.d.ts +13 -13
- package/dist/models/document/DocumentPaymentModel.d.ts +13 -13
- package/dist/models/document/DocumentProfileModel.d.ts +101 -101
- package/dist/models/document/DocumentTotalModel.d.ts +24 -24
- package/dist/models/file/FileModel.d.ts +24 -24
- package/dist/models/group/GroupModel.d.ts +13 -13
- package/dist/models/group/GroupOwnerModel.d.ts +13 -13
- package/dist/models/injection_field/DocumentInjectionFieldModel.d.ts +24 -24
- package/dist/models/injection_field/ItemInjectionFieldModel.d.ts +46 -46
- package/dist/models/injection_field/UserInjectionFieldModel.d.ts +24 -24
- package/dist/models/item/BrandModel.d.ts +13 -13
- package/dist/models/item/CategoryModel.d.ts +13 -13
- package/dist/models/item/ItemModel.d.ts +46 -46
- package/dist/models/item/ProductModel.d.ts +35 -35
- package/dist/models/item/UomModel.d.ts +13 -13
- package/dist/models/location/LocationModel.d.ts +79 -79
- package/dist/models/location/LocationRackModel.d.ts +24 -24
- package/dist/models/location/LocationSlotModel.d.ts +13 -13
- package/dist/models/others/OneTimeCodeModel.d.ts +13 -13
- package/dist/models/region/AreaModel.d.ts +24 -24
- package/dist/models/region/CountryModel.d.ts +13 -13
- package/dist/models/region/StateModel.d.ts +13 -13
- package/dist/models/user/CustomerModel.d.ts +13 -13
- package/dist/models/user/MemberModel.d.ts +57 -57
- package/dist/models/user/RetailerModel.d.ts +13 -13
- package/dist/models/user/UserModel.d.ts +13 -13
- package/dist/models/user/UserPropModel.d.ts +13 -13
- package/dist/models/user/UserStatusModel.d.ts +24 -24
- package/dist/schema/common/unuse/response.d.ts +1 -1
- package/dist/schema/middleware/route/schemaItem.d.ts +2 -2
- package/dist/schema/payload/account/schemaAccount.d.ts +6 -6
- package/dist/schema/payload/business/schemaBusiness.d.ts +14 -14
- package/dist/schema/payload/document/schemaDocument.d.ts +2 -2
- package/dist/schema/payload/document/schemaDocumentCashSales.d.ts +88 -88
- package/dist/schema/payload/document/schemaDocumentDeliveryOrder.d.ts +88 -88
- package/dist/schema/payload/document/schemaDocumentProformaSales.d.ts +88 -88
- package/dist/schema/payload/document/schemaDocumentReplacementDeliveryOrder.d.ts +88 -88
- package/dist/schema/payload/document/schemaDocumentSalesOrder.d.ts +88 -88
- package/dist/schema/payload/document/schemaDocumentTripOrder.d.ts +12 -12
- package/dist/schema/payload/file/schemaFile.d.ts +2 -2
- package/dist/schema/payload/injection_field/schemaInjectionField.d.ts +80 -80
- package/dist/schema/payload/item/schemaItem.d.ts +4 -4
- package/dist/services/access_key/AccessKeyService.d.ts +1 -1
- package/dist/services/access_key/AccessKeyService.js +5 -2
- package/dist/services/access_key/AccessKeyService.js.map +1 -1
- package/dist/services/business/BusinessService.d.ts +15 -15
- package/dist/services/document/CashSalesService.d.ts +1 -1
- package/dist/services/document/DeliveryOrderService.d.ts +1 -1
- package/dist/services/document/DocumentDocumentService.d.ts +1 -1
- package/dist/services/document/DocumentItemService.d.ts +3 -3
- package/dist/services/document/DocumentMainService.d.ts +4 -4
- package/dist/services/document/DocumentProfileService.d.ts +9 -9
- package/dist/services/document/DocumentTotalService.d.ts +2 -2
- package/dist/services/document/ProformaSalesService.d.ts +1 -1
- package/dist/services/document/ReplacementDeliveryService.d.ts +1 -1
- package/dist/services/document/SalesOrderService.d.ts +1 -1
- package/dist/services/document/TripOrderService.d.ts +1 -1
- package/dist/services/file/FileService.d.ts +3 -2
- package/dist/services/file/FileService.js +63 -2
- package/dist/services/file/FileService.js.map +1 -1
- package/dist/services/index.d.ts +1 -1
- package/dist/services/index.js.map +1 -1
- package/dist/services/injection_field/InjectionFieldService.d.ts +1 -1
- package/dist/services/item/ItemBrandService.d.ts +3 -3
- package/dist/services/item/ItemCategoryService.d.ts +3 -3
- package/dist/services/item/ItemItemService.d.ts +12 -12
- package/dist/services/item/ItemProductService.d.ts +9 -9
- package/dist/services/item/ItemUomService.d.ts +3 -3
- package/dist/services/location/LocationLocationService.d.ts +21 -21
- package/dist/services/location/LocationRackService.d.ts +6 -6
- package/dist/services/location/LocationSlotService.d.ts +3 -3
- package/dist/services/one_time_code/OneTimeCodeService.d.ts +1 -1
- package/dist/services/region/AreaService.d.ts +6 -6
- package/dist/services/region/CountryService.d.ts +4 -4
- package/dist/services/region/StateService.d.ts +3 -3
- package/dist/services/user/CustomerService.d.ts +3 -3
- package/dist/services/user/MemberService.d.ts +15 -15
- package/dist/services/user/RetailerService.d.ts +3 -3
- package/dist/services/user/UserPropService.d.ts +1 -1
- package/dist/services/utils/AccessKeyUtilService.js +5 -2
- package/dist/services/utils/AccessKeyUtilService.js.map +1 -1
- package/dist/services/utils/ChangePasswordUtilService.js +5 -2
- package/dist/services/utils/ChangePasswordUtilService.js.map +1 -1
- package/dist/utils/coreConfigUtils.d.ts +1 -0
- package/dist/utils/coreConfigUtils.js +17 -0
- package/dist/utils/coreConfigUtils.js.map +1 -0
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.js +3 -1
- package/dist/utils/index.js.map +1 -1
- package/package.json +1 -1
package/dist/configs/config.d.ts
CHANGED
|
@@ -1,30 +1 @@
|
|
|
1
|
-
export
|
|
2
|
-
NODE_ENV: string;
|
|
3
|
-
PORT: string | number;
|
|
4
|
-
AUTH_SECRET_KEY: string;
|
|
5
|
-
ACCESS_KEY_ENCRYPTION_SECRET_KEY: string;
|
|
6
|
-
/** File Service Storage - General */
|
|
7
|
-
FILE_STORAGE_PROVIDER_NAME: string;
|
|
8
|
-
/** File Service Storage - Local */
|
|
9
|
-
FILE_STORAGE_LOCAL_BASE_PATH: string;
|
|
10
|
-
FILE_STORAGE_LOCAL_BASE_URL: string;
|
|
11
|
-
FILE_STORAGE_LOCAL_SKIP_FOLDERNAME_MODULE_REF: boolean;
|
|
12
|
-
FILE_STORAGE_LOCAL_SKIP_FOLDERNAME_YEAR_MONTH: boolean;
|
|
13
|
-
/** File Service Storage - Google Cloud */
|
|
14
|
-
FILE_STORAGE_GCLOUD_BUCKET_NAME: string;
|
|
15
|
-
FILE_STORAGE_GCLOUD_BASE_PATH: string;
|
|
16
|
-
FILE_STORAGE_GCLOUD_CREDENTIAL_PATH: string;
|
|
17
|
-
FILE_STORAGE_GCLOUD_BASE_URL: string;
|
|
18
|
-
FILE_STORAGE_GCLOUD_SKIP_FOLDERNAME_MODULE_REF: boolean;
|
|
19
|
-
FILE_STORAGE_GCLOUD_SKIP_FOLDERNAME_YEAR_MONTH: boolean;
|
|
20
|
-
/** File Service Configuration - General */
|
|
21
|
-
FILE_UPLOAD_MAX_SIZE: string;
|
|
22
|
-
FILE_UPLOAD_ALLOWED_TYPES: string;
|
|
23
|
-
/** File Service Configuration - Image compression settings */
|
|
24
|
-
FILE_UPLOAD_IMAGE_MAX_WIDTH: string;
|
|
25
|
-
FILE_UPLOAD_IMAGE_QUALITY: string;
|
|
26
|
-
/** File Service Configuration - Video compression settings */
|
|
27
|
-
FILE_UPLOAD_VIDEO_COMPRESSION_CRF: string;
|
|
28
|
-
FILE_UPLOAD_VIDEO_COMPRESSION_PRESET: string;
|
|
29
|
-
FILE_UPLOAD_VIDEO_COMPRESSION_RESOLUTION: string;
|
|
30
|
-
};
|
|
1
|
+
export {};
|
package/dist/configs/config.js
CHANGED
|
@@ -1,50 +1,46 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
};
|
|
2
|
+
// import dotenv from "dotenv";
|
|
3
|
+
// import path from "path";
|
|
5
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
|
|
7
|
-
const
|
|
8
|
-
|
|
9
|
-
//
|
|
10
|
-
|
|
11
|
-
//
|
|
12
|
-
//
|
|
13
|
-
//
|
|
14
|
-
//
|
|
15
|
-
|
|
16
|
-
//
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
// SUPABASE_PROJECT_URL: process.env.SUPABASE_PROJECT_URL || "",
|
|
48
|
-
// SUPABASE_API_KEY: process.env.SUPABASE_API_KEY || ""
|
|
49
|
-
};
|
|
5
|
+
// // Determine the environment (default to "development")
|
|
6
|
+
// const env = process.env.NODE_ENV || "development";
|
|
7
|
+
// // Load the corresponding .env file
|
|
8
|
+
// // dotenv.config({ path: path.resolve(__dirname, `../${env}.env`) });
|
|
9
|
+
// // dotenv.config()
|
|
10
|
+
// // console.log('in core-api/process.cwd()', process.cwd(), '.env')
|
|
11
|
+
// console.log('Running from env: ', process.cwd(), '.env')
|
|
12
|
+
// // Always load from the project root where the app started
|
|
13
|
+
// dotenv.config({ path: path.resolve(process.cwd(), `.env`) });
|
|
14
|
+
// export const config = {
|
|
15
|
+
// NODE_ENV: env,
|
|
16
|
+
// PORT: process.env.PORT || 8080,
|
|
17
|
+
// AUTH_SECRET_KEY: process.env.AUTH_SECRET_KEY || "",
|
|
18
|
+
// ACCESS_KEY_ENCRYPTION_SECRET_KEY: process.env.ACCESS_KEY_ENCRYPTION_SECRET_KEY || "",
|
|
19
|
+
// /** File Service Storage - General */
|
|
20
|
+
// // FILE_STORAGE_PROVIDER_NAME: process.env.FILE_STORAGE_PROVIDER_NAME || "",
|
|
21
|
+
// // /** File Service Storage - Local */
|
|
22
|
+
// // FILE_STORAGE_LOCAL_BASE_PATH: process.env.FILE_STORAGE_LOCAL_BASE_PATH || "",
|
|
23
|
+
// // FILE_STORAGE_LOCAL_BASE_URL: process.env.FILE_STORAGE_LOCAL_BASE_URL || "",
|
|
24
|
+
// // FILE_STORAGE_LOCAL_SKIP_FOLDERNAME_MODULE_REF: process.env.FILE_STORAGE_LOCAL_SKIP_FOLDERNAME_MODULE_REF === "true",
|
|
25
|
+
// // FILE_STORAGE_LOCAL_SKIP_FOLDERNAME_YEAR_MONTH: process.env.FILE_STORAGE_LOCAL_SKIP_FOLDERNAME_YEAR_MONTH === "true",
|
|
26
|
+
// // /** File Service Storage - Google Cloud */
|
|
27
|
+
// // FILE_STORAGE_GCLOUD_BUCKET_NAME: process.env.FILE_STORAGE_GCLOUD_BUCKET_NAME || "",
|
|
28
|
+
// // FILE_STORAGE_GCLOUD_BASE_PATH: process.env.FILE_STORAGE_GCLOUD_BASE_PATH || "",
|
|
29
|
+
// // FILE_STORAGE_GCLOUD_CREDENTIAL_PATH: process.env.FILE_STORAGE_GCLOUD_CREDENTIAL_PATH || "",
|
|
30
|
+
// // FILE_STORAGE_GCLOUD_BASE_URL: process.env.FILE_STORAGE_GCLOUD_BASE_URL || "",
|
|
31
|
+
// // FILE_STORAGE_GCLOUD_SKIP_FOLDERNAME_MODULE_REF: process.env.FILE_STORAGE_GCLOUD_SKIP_FOLDERNAME_MODULE_REF === "true",
|
|
32
|
+
// // FILE_STORAGE_GCLOUD_SKIP_FOLDERNAME_YEAR_MONTH: process.env.FILE_STORAGE_GCLOUD_SKIP_FOLDERNAME_YEAR_MONTH === "true",
|
|
33
|
+
// // /** File Service Configuration - General */
|
|
34
|
+
// // FILE_UPLOAD_MAX_SIZE: process.env.FILE_UPLOAD_MAX_SIZE || "",
|
|
35
|
+
// // FILE_UPLOAD_ALLOWED_TYPES: process.env.FILE_UPLOAD_ALLOWED_TYPES || "",
|
|
36
|
+
// // /** File Service Configuration - Image compression settings */
|
|
37
|
+
// // FILE_UPLOAD_IMAGE_MAX_WIDTH: process.env.FILE_UPLOAD_IMAGE_MAX_WIDTH || "",
|
|
38
|
+
// // FILE_UPLOAD_IMAGE_QUALITY: process.env.FILE_UPLOAD_IMAGE_QUALITY || "",
|
|
39
|
+
// // /** File Service Configuration - Video compression settings */
|
|
40
|
+
// // FILE_UPLOAD_VIDEO_COMPRESSION_CRF: process.env.FILE_UPLOAD_VIDEO_COMPRESSION_CRF || "",
|
|
41
|
+
// // FILE_UPLOAD_VIDEO_COMPRESSION_PRESET: process.env.FILE_UPLOAD_VIDEO_COMPRESSION_PRESET || "",
|
|
42
|
+
// // FILE_UPLOAD_VIDEO_COMPRESSION_RESOLUTION: process.env.FILE_UPLOAD_VIDEO_COMPRESSION_RESOLUTION || "",
|
|
43
|
+
// // SUPABASE_PROJECT_URL: process.env.SUPABASE_PROJECT_URL || "",
|
|
44
|
+
// // SUPABASE_API_KEY: process.env.SUPABASE_API_KEY || ""
|
|
45
|
+
// };
|
|
50
46
|
//# sourceMappingURL=config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/configs/config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/configs/config.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,2BAA2B;;AAE3B,0DAA0D;AAC1D,qDAAqD;AAErD,sCAAsC;AACtC,wEAAwE;AACxE,qBAAqB;AAErB,qEAAqE;AACrE,2DAA2D;AAE3D,6DAA6D;AAC7D,gEAAgE;AAEhE,0BAA0B;AAC1B,qBAAqB;AACrB,sCAAsC;AACtC,0DAA0D;AAC1D,4FAA4F;AAE5F,4CAA4C;AAC5C,mFAAmF;AACnF,6CAA6C;AAC7C,uFAAuF;AACvF,qFAAqF;AACrF,8HAA8H;AAC9H,8HAA8H;AAC9H,qDAAqD;AACrD,6FAA6F;AAC7F,yFAAyF;AACzF,qGAAqG;AACrG,uFAAuF;AACvF,gIAAgI;AAChI,gIAAgI;AAChI,qDAAqD;AACrD,uEAAuE;AACvE,iFAAiF;AACjF,wEAAwE;AACxE,qFAAqF;AACrF,iFAAiF;AACjF,wEAAwE;AACxE,iGAAiG;AACjG,uGAAuG;AACvG,+GAA+G;AAE/G,uEAAuE;AACvE,8DAA8D;AAE9D,KAAK","sourcesContent":["// import dotenv from \"dotenv\";\n// import path from \"path\";\n\n// // Determine the environment (default to \"development\")\n// const env = process.env.NODE_ENV || \"development\";\n\n// // Load the corresponding .env file\n// // dotenv.config({ path: path.resolve(__dirname, `../${env}.env`) });\n// // dotenv.config()\n\n// // console.log('in core-api/process.cwd()', process.cwd(), '.env')\n// console.log('Running from env: ', process.cwd(), '.env')\n\n// // Always load from the project root where the app started\n// dotenv.config({ path: path.resolve(process.cwd(), `.env`) });\n\n// export const config = {\n// NODE_ENV: env,\n// PORT: process.env.PORT || 8080,\n// AUTH_SECRET_KEY: process.env.AUTH_SECRET_KEY || \"\",\n// ACCESS_KEY_ENCRYPTION_SECRET_KEY: process.env.ACCESS_KEY_ENCRYPTION_SECRET_KEY || \"\",\n\n// /** File Service Storage - General */\n// // FILE_STORAGE_PROVIDER_NAME: process.env.FILE_STORAGE_PROVIDER_NAME || \"\",\n// // /** File Service Storage - Local */\n// // FILE_STORAGE_LOCAL_BASE_PATH: process.env.FILE_STORAGE_LOCAL_BASE_PATH || \"\",\n// // FILE_STORAGE_LOCAL_BASE_URL: process.env.FILE_STORAGE_LOCAL_BASE_URL || \"\",\n// // FILE_STORAGE_LOCAL_SKIP_FOLDERNAME_MODULE_REF: process.env.FILE_STORAGE_LOCAL_SKIP_FOLDERNAME_MODULE_REF === \"true\",\n// // FILE_STORAGE_LOCAL_SKIP_FOLDERNAME_YEAR_MONTH: process.env.FILE_STORAGE_LOCAL_SKIP_FOLDERNAME_YEAR_MONTH === \"true\",\n// // /** File Service Storage - Google Cloud */\n// // FILE_STORAGE_GCLOUD_BUCKET_NAME: process.env.FILE_STORAGE_GCLOUD_BUCKET_NAME || \"\",\n// // FILE_STORAGE_GCLOUD_BASE_PATH: process.env.FILE_STORAGE_GCLOUD_BASE_PATH || \"\",\n// // FILE_STORAGE_GCLOUD_CREDENTIAL_PATH: process.env.FILE_STORAGE_GCLOUD_CREDENTIAL_PATH || \"\",\n// // FILE_STORAGE_GCLOUD_BASE_URL: process.env.FILE_STORAGE_GCLOUD_BASE_URL || \"\",\n// // FILE_STORAGE_GCLOUD_SKIP_FOLDERNAME_MODULE_REF: process.env.FILE_STORAGE_GCLOUD_SKIP_FOLDERNAME_MODULE_REF === \"true\",\n// // FILE_STORAGE_GCLOUD_SKIP_FOLDERNAME_YEAR_MONTH: process.env.FILE_STORAGE_GCLOUD_SKIP_FOLDERNAME_YEAR_MONTH === \"true\",\n// // /** File Service Configuration - General */\n// // FILE_UPLOAD_MAX_SIZE: process.env.FILE_UPLOAD_MAX_SIZE || \"\",\n// // FILE_UPLOAD_ALLOWED_TYPES: process.env.FILE_UPLOAD_ALLOWED_TYPES || \"\",\n// // /** File Service Configuration - Image compression settings */\n// // FILE_UPLOAD_IMAGE_MAX_WIDTH: process.env.FILE_UPLOAD_IMAGE_MAX_WIDTH || \"\",\n// // FILE_UPLOAD_IMAGE_QUALITY: process.env.FILE_UPLOAD_IMAGE_QUALITY || \"\",\n// // /** File Service Configuration - Video compression settings */\n// // FILE_UPLOAD_VIDEO_COMPRESSION_CRF: process.env.FILE_UPLOAD_VIDEO_COMPRESSION_CRF || \"\",\n// // FILE_UPLOAD_VIDEO_COMPRESSION_PRESET: process.env.FILE_UPLOAD_VIDEO_COMPRESSION_PRESET || \"\",\n// // FILE_UPLOAD_VIDEO_COMPRESSION_RESOLUTION: process.env.FILE_UPLOAD_VIDEO_COMPRESSION_RESOLUTION || \"\",\n\n// // SUPABASE_PROJECT_URL: process.env.SUPABASE_PROJECT_URL || \"\",\n// // SUPABASE_API_KEY: process.env.SUPABASE_API_KEY || \"\"\n\n// };"]}
|
package/dist/configs/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export {};
|
package/dist/configs/index.js
CHANGED
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
|
|
4
|
-
var config_1 = require("../configs/config");
|
|
5
|
-
Object.defineProperty(exports, "config", { enumerable: true, get: function () { return config_1.config; } });
|
|
3
|
+
// export { config } from "../configs/config"
|
|
6
4
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/configs/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/configs/index.ts"],"names":[],"mappings":";;AAAA,4CAA4C","sourcesContent":["// export { config } from \"@/configs/config\""]}
|
|
@@ -1,15 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getAuthToken = void 0;
|
|
4
|
-
|
|
4
|
+
// import { config } from "../../configs";
|
|
5
5
|
const utils_1 = require("../../utils");
|
|
6
6
|
const services_1 = require("../../services");
|
|
7
7
|
const payload_1 = require("../../schema/payload");
|
|
8
|
+
// retrive core configuration
|
|
9
|
+
const coreConfig = (0, utils_1.getCoreConfiguration)();
|
|
8
10
|
/** auth/token : get auth token */
|
|
9
11
|
const getAuthToken = async (req, res, next) => {
|
|
10
12
|
try {
|
|
11
13
|
const requestAuthType = req.body.scope.target;
|
|
12
|
-
const authSecretKey =
|
|
14
|
+
// const authSecretKey = config.AUTH_SECRET_KEY
|
|
15
|
+
const authSecretKey = coreConfig.authSecretKey;
|
|
13
16
|
const authService = (0, services_1.AuthService)({
|
|
14
17
|
...(0, utils_1.getDefaultServiceProps)(req),
|
|
15
18
|
secretKey: authSecretKey,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authController.js","sourceRoot":"","sources":["../../../src/controllers/auth/authController.ts"],"names":[],"mappings":";;;AAEA,
|
|
1
|
+
{"version":3,"file":"authController.js","sourceRoot":"","sources":["../../../src/controllers/auth/authController.ts"],"names":[],"mappings":"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","sourcesContent":["import { NextFunction, Request, Response } from \"express\";\n\n// import { config } from \"@/configs\";\n\nimport { getDefaultServiceProps, sendSuccess, getCoreConfiguration, sendError, HTTP_STATUS } from \"@/utils\"\n\nimport { AuthService, AuthType, AuthGetTokenProps } from \"@/services\"\nimport {\n schemaAuthTokenPayload,\n schemaAuthTokenOperatorPayload,\n} from \"@/schema/payload\";\n\nimport { z } from \"zod\";\n\n// retrive core configuration\nconst coreConfig = getCoreConfiguration()\n\n/** auth/token : get auth token */\nexport const getAuthToken = async (req: Request, res: Response, next: NextFunction): Promise<any> => {\n try {\n\n const requestAuthType = req.body.scope.target as AuthType\n\n // const authSecretKey = config.AUTH_SECRET_KEY\n const authSecretKey = coreConfig.authSecretKey\n\n const authService = AuthService({\n ...getDefaultServiceProps(req),\n secretKey: authSecretKey,\n authType: requestAuthType\n })\n\n let reqScope = req.body.scope\n let reqPayload = req.body.payload\n\n // select schema\n\n let schema: z.ZodTypeAny;\n let data: any = {}\n\n // Operator Authentication\n if (requestAuthType === \"operator\") {\n\n schema = schemaAuthTokenOperatorPayload\n\n let request = schema.parse({\n scope: {\n target: reqScope.target,\n action: reqScope.action\n },\n payload: {\n username: reqPayload.username,\n password: reqPayload.password\n }\n })\n\n let payload: AuthGetTokenProps = {\n authType: requestAuthType,\n accountId: 0,\n data: {\n username: request.payload.username,\n password: request.payload.password\n }\n }\n\n data = await authService.getAuthToken(payload)\n\n } else {\n\n schema = schemaAuthTokenPayload\n\n let request = schema.parse({\n scope: {\n target: reqScope.target,\n action: reqScope.action\n },\n payload: {\n ...(reqPayload?.account_id ? { accountId: reqPayload.account_id } : {}),\n ...(reqPayload?.account_code ? { accountCode: reqPayload.account_code } : {}),\n username: reqPayload.username,\n password: reqPayload.password\n }\n })\n\n let payload: AuthGetTokenProps = {\n authType: requestAuthType,\n ...(request?.payload?.accountId ? { accountId: Number(request.payload.accountId) } : {}),\n ...(request?.payload?.accountCode ? { accountCode: String(request.payload.accountCode) } : {}),\n data: {\n username: request.payload.username,\n password: request.payload.password\n }\n }\n\n data = await authService.getAuthToken(payload)\n\n }\n\n return sendSuccess(res, data, \"Token Retrieved successfully\", ``);\n\n } catch (error: any) {\n next(error)\n }\n}\n"]}
|
|
@@ -8,35 +8,72 @@ const path_1 = __importDefault(require("path"));
|
|
|
8
8
|
const utils_1 = require("../../utils");
|
|
9
9
|
const services_1 = require("../../services");
|
|
10
10
|
const payload_1 = require("../../schema/payload");
|
|
11
|
-
const
|
|
11
|
+
const features_1 = require("../../features");
|
|
12
12
|
const getRootName = (toSingular) => {
|
|
13
13
|
let rootName = toSingular ? "file" : "files";
|
|
14
14
|
return rootName;
|
|
15
15
|
};
|
|
16
|
-
const getStorageProvider = () => {
|
|
17
|
-
|
|
16
|
+
// const getStorageProvider = () => {
|
|
17
|
+
// const storageProviderName = config.FILE_STORAGE_PROVIDER_NAME as FileUploadProps["storageProviderName"]
|
|
18
|
+
// let storageProviderOptions = {}
|
|
19
|
+
// if (storageProviderName === "local") {
|
|
20
|
+
// storageProviderOptions = {
|
|
21
|
+
// basePath: `${config.FILE_STORAGE_LOCAL_BASE_PATH}`,
|
|
22
|
+
// publicBaseUrl: `${config.FILE_STORAGE_LOCAL_BASE_URL}`,
|
|
23
|
+
// skipFoldernameByModuleRef: Boolean(config.FILE_STORAGE_LOCAL_SKIP_FOLDERNAME_MODULE_REF),
|
|
24
|
+
// skipFoldernameByDate: Boolean(config.FILE_STORAGE_LOCAL_SKIP_FOLDERNAME_YEAR_MONTH)
|
|
25
|
+
// }
|
|
26
|
+
// }
|
|
27
|
+
// if (storageProviderName === "gcloud") {
|
|
28
|
+
// storageProviderOptions = {
|
|
29
|
+
// bucketName: `${config.FILE_STORAGE_GCLOUD_BUCKET_NAME}`,
|
|
30
|
+
// basePath: `${config.FILE_STORAGE_GCLOUD_BASE_PATH}`,
|
|
31
|
+
// credentials: `${path.resolve(process.cwd(), `${config.FILE_STORAGE_GCLOUD_CREDENTIAL_PATH}`)}`,
|
|
32
|
+
// publicBaseUrl: `${config.FILE_STORAGE_GCLOUD_BASE_URL}`,
|
|
33
|
+
// skipFoldernameByModuleRef: Boolean(config.FILE_STORAGE_GCLOUD_SKIP_FOLDERNAME_MODULE_REF),
|
|
34
|
+
// skipFoldernameByDate: Boolean(config.FILE_STORAGE_GCLOUD_SKIP_FOLDERNAME_YEAR_MONTH)
|
|
35
|
+
// }
|
|
36
|
+
// }
|
|
37
|
+
// return {
|
|
38
|
+
// storageProviderName,
|
|
39
|
+
// storageProviderOptions
|
|
40
|
+
// }
|
|
41
|
+
// }
|
|
42
|
+
const getStorageSetup = async () => {
|
|
43
|
+
const hookSetup = await features_1.FileStorageHook.onSetup();
|
|
18
44
|
let storageProviderOptions = {};
|
|
19
|
-
if (
|
|
45
|
+
if (hookSetup.storageType === "local") {
|
|
20
46
|
storageProviderOptions = {
|
|
21
|
-
basePath: `${
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
47
|
+
// basePath: `${config.FILE_STORAGE_LOCAL_BASE_PATH}`,
|
|
48
|
+
basePath: `${hookSetup.localStorageOptions.basePath}`,
|
|
49
|
+
// publicBaseUrl: `${config.FILE_STORAGE_LOCAL_BASE_URL}`,
|
|
50
|
+
publicBaseUrl: `${hookSetup.localStorageOptions.baseUrl}`,
|
|
51
|
+
// skipFoldernameByModuleRef: Boolean(config.FILE_STORAGE_LOCAL_SKIP_FOLDERNAME_MODULE_REF),
|
|
52
|
+
skipFoldernameByModuleRef: Boolean(hookSetup.localStorageOptions.skipFolderNameModuleRef),
|
|
53
|
+
// skipFoldernameByDate: Boolean(config.FILE_STORAGE_LOCAL_SKIP_FOLDERNAME_YEAR_MONTH)
|
|
54
|
+
skipFoldernameByDate: Boolean(hookSetup.localStorageOptions.skipFolderNameYearMonth)
|
|
25
55
|
};
|
|
26
56
|
}
|
|
27
|
-
if (
|
|
57
|
+
if (hookSetup.storageType === "gcloud") {
|
|
28
58
|
storageProviderOptions = {
|
|
29
|
-
|
|
30
|
-
basePath: `${
|
|
31
|
-
|
|
32
|
-
publicBaseUrl: `${
|
|
33
|
-
|
|
34
|
-
|
|
59
|
+
// basePath: `${config.FILE_STORAGE_GCLOUD_BASE_PATH}`,
|
|
60
|
+
basePath: `${hookSetup.gcloudStorageOptions.basePath}`,
|
|
61
|
+
// publicBaseUrl: `${config.FILE_STORAGE_GCLOUD_BASE_URL}`,
|
|
62
|
+
publicBaseUrl: `${hookSetup.gcloudStorageOptions.baseUrl}`,
|
|
63
|
+
// bucketName: `${config.FILE_STORAGE_GCLOUD_BUCKET_NAME}`,
|
|
64
|
+
bucketName: `${hookSetup.gcloudStorageOptions.bucketName}`,
|
|
65
|
+
// credentials: `${path.resolve(process.cwd(), `${config.FILE_STORAGE_GCLOUD_CREDENTIAL_PATH}`)}`,
|
|
66
|
+
credentials: `${path_1.default.resolve(process.cwd(), `${hookSetup.gcloudStorageOptions.credentialPath}`)}`,
|
|
67
|
+
// skipFoldernameByModuleRef: Boolean(config.FILE_STORAGE_GCLOUD_SKIP_FOLDERNAME_MODULE_REF),
|
|
68
|
+
skipFoldernameByModuleRef: Boolean(hookSetup.gcloudStorageOptions.skipFolderNameModuleRef),
|
|
69
|
+
// skipFoldernameByDate: Boolean(config.FILE_STORAGE_GCLOUD_SKIP_FOLDERNAME_YEAR_MONTH)
|
|
70
|
+
skipFoldernameByDate: Boolean(hookSetup.gcloudStorageOptions.skipFolderNameYearMonth)
|
|
35
71
|
};
|
|
36
72
|
}
|
|
37
73
|
return {
|
|
38
|
-
storageProviderName,
|
|
39
|
-
storageProviderOptions
|
|
74
|
+
storageProviderName: hookSetup.storageType,
|
|
75
|
+
storageProviderOptions,
|
|
76
|
+
storageConfiguration: hookSetup.storageConfiguration
|
|
40
77
|
};
|
|
41
78
|
};
|
|
42
79
|
/** file/:fileId : get file */
|
|
@@ -79,22 +116,45 @@ const uploadFiles = async (req, res, next) => {
|
|
|
79
116
|
buffer: file.buffer,
|
|
80
117
|
})) : [],
|
|
81
118
|
});
|
|
82
|
-
const {
|
|
119
|
+
// const {
|
|
120
|
+
// storageProviderName,
|
|
121
|
+
// storageProviderOptions
|
|
122
|
+
// } = getStorageProvider()
|
|
123
|
+
// Image Compression
|
|
124
|
+
// const imageCompressionOptions: FileImageCompressionOptions | undefined
|
|
125
|
+
// = config.FILE_UPLOAD_IMAGE_MAX_WIDTH && config.FILE_UPLOAD_IMAGE_QUALITY
|
|
126
|
+
// ? {
|
|
127
|
+
// maxWidth: Number(config.FILE_UPLOAD_IMAGE_MAX_WIDTH),
|
|
128
|
+
// quality: Number(config.FILE_UPLOAD_IMAGE_QUALITY),
|
|
129
|
+
// }
|
|
130
|
+
// : undefined;
|
|
131
|
+
// Video Compression
|
|
132
|
+
// const videoCompressionOptions: FileVideoCompressionOptions | undefined =
|
|
133
|
+
// config.FILE_UPLOAD_VIDEO_COMPRESSION_CRF &&
|
|
134
|
+
// config.FILE_UPLOAD_VIDEO_COMPRESSION_PRESET &&
|
|
135
|
+
// config.FILE_UPLOAD_VIDEO_COMPRESSION_RESOLUTION
|
|
136
|
+
// ? {
|
|
137
|
+
// crf: Number(config.FILE_UPLOAD_VIDEO_COMPRESSION_CRF),
|
|
138
|
+
// preset: config.FILE_UPLOAD_VIDEO_COMPRESSION_PRESET as FileVideoCompressionOptions["preset"],
|
|
139
|
+
// resolution: Number(config.FILE_UPLOAD_VIDEO_COMPRESSION_RESOLUTION),
|
|
140
|
+
// }
|
|
141
|
+
// : undefined;
|
|
142
|
+
const { storageProviderName, storageProviderOptions, storageConfiguration } = await getStorageSetup();
|
|
83
143
|
// Image Compression
|
|
84
|
-
const imageCompressionOptions =
|
|
144
|
+
const imageCompressionOptions = storageConfiguration?.imageMaxWidth && storageConfiguration?.imageMaxWidth
|
|
85
145
|
? {
|
|
86
|
-
maxWidth: Number(
|
|
87
|
-
quality: Number(
|
|
146
|
+
maxWidth: Number(storageConfiguration.imageMaxWidth),
|
|
147
|
+
quality: Number(storageConfiguration.imageQuality),
|
|
88
148
|
}
|
|
89
149
|
: undefined;
|
|
90
150
|
// Video Compression
|
|
91
|
-
const videoCompressionOptions =
|
|
92
|
-
|
|
93
|
-
|
|
151
|
+
const videoCompressionOptions = storageConfiguration?.videoCRF &&
|
|
152
|
+
storageConfiguration?.videoPreset &&
|
|
153
|
+
storageConfiguration?.videoResolution
|
|
94
154
|
? {
|
|
95
|
-
crf: Number(
|
|
96
|
-
preset:
|
|
97
|
-
resolution: Number(
|
|
155
|
+
crf: Number(storageConfiguration.videoCRF),
|
|
156
|
+
preset: storageConfiguration.videoPreset,
|
|
157
|
+
resolution: Number(storageConfiguration.videoResolution),
|
|
98
158
|
}
|
|
99
159
|
: undefined;
|
|
100
160
|
const fileService = (0, services_1.FileService)({
|
|
@@ -211,7 +271,11 @@ const deleteFiles = async (req, res, next) => {
|
|
|
211
271
|
const fileService = (0, services_1.FileService)({
|
|
212
272
|
...(0, utils_1.getDefaultServiceProps)(req),
|
|
213
273
|
});
|
|
214
|
-
const {
|
|
274
|
+
// const {
|
|
275
|
+
// storageProviderName,
|
|
276
|
+
// storageProviderOptions
|
|
277
|
+
// } = getStorageProvider()
|
|
278
|
+
const { storageProviderName, storageProviderOptions } = await getStorageSetup();
|
|
215
279
|
const payload = {
|
|
216
280
|
fileIds: request.payload.ids.map(i => BigInt(i)),
|
|
217
281
|
storageProviderName,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fileController.js","sourceRoot":"","sources":["../../../src/controllers/file/fileController.ts"],"names":[],"mappings":"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","sourcesContent":["import { Request, Response, NextFunction } from \"express\";\n\nimport path from \"path\";\n\nimport { getDefaultServiceProps, sendSuccess, sendError, HTTP_STATUS } from \"@/utils\"\n\nimport { FileService, FileUploadProps, FileImageCompressionOptions, FileVideoCompressionOptions } from \"@/services\"\nimport {\n schemaFileDeletePayload,\n schemaFileUploadPayload,\n} from \"@/schema/payload\";\n\nimport { QueryList } from \"@/schema/middleware/route\";\n\nimport { config } from \"@/configs\";\n\nconst getRootName = (toSingular: boolean) => {\n\n let rootName = toSingular ? \"file\" : \"files\";\n\n return rootName\n}\n\nconst getStorageProvider = () => {\n\n const storageProviderName = config.FILE_STORAGE_PROVIDER_NAME as FileUploadProps[\"storageProviderName\"]\n\n let storageProviderOptions = {}\n\n if (storageProviderName === \"local\") {\n storageProviderOptions = {\n basePath: `${config.FILE_STORAGE_LOCAL_BASE_PATH}`,\n publicBaseUrl: `${config.FILE_STORAGE_LOCAL_BASE_URL}`,\n skipFoldernameByModuleRef: Boolean(config.FILE_STORAGE_LOCAL_SKIP_FOLDERNAME_MODULE_REF),\n skipFoldernameByDate: Boolean(config.FILE_STORAGE_LOCAL_SKIP_FOLDERNAME_YEAR_MONTH)\n }\n }\n\n if (storageProviderName === \"gcloud\") {\n storageProviderOptions = {\n bucketName: `${config.FILE_STORAGE_GCLOUD_BUCKET_NAME}`,\n basePath: `${config.FILE_STORAGE_GCLOUD_BASE_PATH}`,\n credentials: `${path.resolve(process.cwd(), `${config.FILE_STORAGE_GCLOUD_CREDENTIAL_PATH}`)}`,\n publicBaseUrl: `${config.FILE_STORAGE_GCLOUD_BASE_URL}`,\n skipFoldernameByModuleRef: Boolean(config.FILE_STORAGE_GCLOUD_SKIP_FOLDERNAME_MODULE_REF),\n skipFoldernameByDate: Boolean(config.FILE_STORAGE_GCLOUD_SKIP_FOLDERNAME_YEAR_MONTH)\n }\n }\n\n return {\n storageProviderName,\n storageProviderOptions\n }\n}\n\n/** file/:fileId : get file */\nexport const getFile = async (req: Request, res: Response, next: NextFunction): Promise<any> => {\n try {\n\n const { fileId } = req.params;\n // const requestQuery = req.query as unknown as QueryList;\n // const requestDocumentType = documentType as FileServiceProps[\"documentType\"];\n\n const fileService = FileService({\n ...getDefaultServiceProps(req),\n })\n\n const data = await fileService.getFile({ id: Number(fileId) })\n\n return sendSuccess(res, data, \"Retrieved successfully\", getRootName(true));\n\n } catch (error: any) {\n next(error)\n }\n}\n\n/** files : upload files */\nexport const uploadFiles = async (req: Request, res: Response, next: NextFunction): Promise<any> => {\n\n try {\n\n let reqBody = req.body\n let reqFiles = req.files\n\n const request = schemaFileUploadPayload.parse({\n field_ref: reqBody.field_ref,\n field_module: reqBody.field_module,\n description: reqBody.description,\n tagName: reqBody.tag_name,\n label: reqBody.label,\n refId: Number(reqBody.ref_id),\n refId2: Number(reqBody.ref_id_2),\n ...(reqBody?.ref_label ? { refLabel: reqBody.ref_label } : {}),\n ...(reqBody?.ref_label_2 ? { refLabel2: reqBody.ref_label_2 } : {}),\n ...(reqBody?.remark ? { remark: reqBody.remark } : {}),\n files: Array.isArray(reqFiles) ? reqFiles.map((file: any) => ({\n originalname: file.originalname,\n mimetype: file.mimetype,\n size: file.size,\n buffer: file.buffer,\n })) : [],\n });\n\n const {\n storageProviderName,\n storageProviderOptions\n } = getStorageProvider()\n\n // Image Compression\n const imageCompressionOptions: FileImageCompressionOptions | undefined\n = config.FILE_UPLOAD_IMAGE_MAX_WIDTH && config.FILE_UPLOAD_IMAGE_QUALITY\n ? {\n maxWidth: Number(config.FILE_UPLOAD_IMAGE_MAX_WIDTH),\n quality: Number(config.FILE_UPLOAD_IMAGE_QUALITY),\n }\n : undefined;\n\n // Video Compression\n const videoCompressionOptions: FileVideoCompressionOptions | undefined =\n config.FILE_UPLOAD_VIDEO_COMPRESSION_CRF &&\n config.FILE_UPLOAD_VIDEO_COMPRESSION_PRESET &&\n config.FILE_UPLOAD_VIDEO_COMPRESSION_RESOLUTION\n ? {\n crf: Number(config.FILE_UPLOAD_VIDEO_COMPRESSION_CRF),\n preset: config.FILE_UPLOAD_VIDEO_COMPRESSION_PRESET as FileVideoCompressionOptions[\"preset\"],\n resolution: Number(config.FILE_UPLOAD_VIDEO_COMPRESSION_RESOLUTION),\n }\n : undefined;\n\n const fileService = FileService({\n ...getDefaultServiceProps(req),\n });\n\n const payload: FileUploadProps = {\n field_ref: reqBody.field_ref,\n field_module: reqBody.field_module,\n description: request.description,\n label: request.label,\n tagName: request.tagName ?? \"\",\n refId: request.refId ?? 0,\n refId2: request?.refId2 ?? 0,\n refLabel: request?.refLabel ?? \"\",\n refLabel2: request?.refLabel2 ?? \"\",\n remark: request?.remark ?? \"\",\n // foldernameDate: \"2025-01-01\", // empty to use current datetime\n storageProviderName,\n storageProviderOptions,\n ...(imageCompressionOptions ? { imageCompressionOptions } : {}),\n ...(videoCompressionOptions ? { videoCompressionOptions } : {}),\n files: request.files.map(file => ({\n buffer: file.buffer,\n originalName: file.originalname,\n mimeType: file.mimetype,\n sizeBytes: file.size,\n })),\n };\n\n const response = await fileService.uploadFiles(payload);\n\n return sendSuccess(res, response, \"Files uploaded successfully\");\n\n } catch (error) {\n next(error);\n }\n};\n\n/** file/:fileId : update file */\nexport const updateFile = async (req: Request, res: Response, next: NextFunction): Promise<void> => {\n try {\n\n const { fileId } = req.params;\n // const requestDocumentType = req.body.scope.target as FileServiceProps[\"documentType\"]\n\n const fileService = FileService({\n ...getDefaultServiceProps(req),\n })\n\n let response: any = {}\n\n let reqScope = req.body.scope\n let reqPayload = req.body.payload\n\n\n // const { schemaUpdate, key } = documentSalesMap[requestDocumentType as keyof typeof documentSalesMap];\n\n // const request = schemaUpdate.parse({\n // scope: { target: reqScope.target, action: reqScope.action },\n // payload: {\n // ...buildDocumentPayloadFromRequest(reqPayload),\n // profile: buildDocumentProfileFromRequest(reqPayload.profile),\n // shipping: buildDocumentProfileOtherFromRequest(reqPayload.shipping),\n // billing: buildDocumentProfileOtherFromRequest(reqPayload.billing),\n // ...(reqPayload?.items ? { items: buildDocumentItemsFromRequest(reqPayload.items) } : {}),\n // ...(reqPayload?.totals ? { totals: buildDocumentTotalsFromRequest(reqPayload.totals) } : {}),\n // },\n // });\n\n // const payload: DocumentUpdateProps = {\n // documentId: Number(documentId),\n // documentType: requestDocumentType,\n // data: {\n // ...buildDocumentPayloadToService(request.payload),\n // [key]: {\n // profile: buildDocumentProfileToService(request.payload.profile),\n // shipping: buildDocumentProfileOtherToService(request.payload.shipping),\n // billing: buildDocumentProfileOtherToService(request.payload.billing),\n // ...(request.payload?.items ? { items: buildDocumentItemsToService(request.payload.items) } : {}),\n // ...(request.payload?.totals ? { totals: buildDocumentTotalsToService(request.payload.totals) } : {}),\n // },\n // } as any,\n // };\n\n // const result = await fileService.updateFile(payload);\n\n // response = {\n // [getRootName(true)]: result,\n // };\n\n sendSuccess(res, response, `File updated successfully`)\n\n } catch (error: any) {\n next(error)\n }\n};\n\n/** files : list files */\nexport const listFiles = async (req: Request, res: Response, next: NextFunction): Promise<any> => {\n\n try {\n\n const requestQuery = req.query as unknown as QueryList;\n // const requestDocumentType = req.params.documentType as FileServiceProps[\"documentType\"];\n\n const fileService = FileService({\n ...getDefaultServiceProps(req),\n })\n\n const { data, total } = await fileService.listFiles({\n ...requestQuery,\n });\n\n let response = {\n [`${getRootName(false)}`]: data,\n total,\n }\n\n return sendSuccess(res, response, \"Retrieved successfully\");\n\n } catch (error: any) {\n next(error)\n }\n};\n\n/** files/delete : delete files */\nexport const deleteFiles = async (req: Request, res: Response, next: NextFunction): Promise<any> => {\n\n try {\n\n // const requestDocumentType = req.body.scope.target as FileServiceProps[\"documentType\"]\n // const requestQuery = req.query as unknown as QueryList;\n // const requestFileId = Number(req.params.fileId)\n\n const request = schemaFileDeletePayload.parse(req.body)\n\n const fileService = FileService({\n ...getDefaultServiceProps(req),\n })\n\n const {\n storageProviderName,\n storageProviderOptions\n } = getStorageProvider()\n\n const payload = {\n fileIds: request.payload.ids.map(i => BigInt(i)),\n storageProviderName,\n storageProviderOptions\n }\n\n const data = await fileService.removeFiles(payload);\n\n return sendSuccess(res, data, \"Deleted\", getRootName(false));\n\n } catch (error: any) {\n next(error)\n }\n};\n\n/** file/data_types : get file data types */\n// export const getFileDataTypes = async (req: Request, res: Response, next: NextFunction): Promise<any> => {\n\n// try {\n\n// const requestQuery = req.query as unknown as QueryList;\n// // const requestDocumentType = req.params.documentType as FileServiceProps[\"documentType\"];\n\n// const fileService = FileService({\n// ...getDefaultServiceProps(req),\n// })\n\n// const data = fileService.getFileDataTypes();\n\n// let response = {\n// data_types: data\n// }\n\n// return sendSuccess(res, response, \"Retrieved successfully\");\n\n// } catch (error: any) {\n// next(error)\n// }\n// };\n"]}
|
|
1
|
+
{"version":3,"file":"fileController.js","sourceRoot":"","sources":["../../../src/controllers/file/fileController.ts"],"names":[],"mappings":"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","sourcesContent":["import { Request, Response, NextFunction } from \"express\";\n\nimport path from \"path\";\n\nimport { getDefaultServiceProps, sendSuccess, sendError, HTTP_STATUS } from \"@/utils\"\n\nimport { FileService, FileUploadProps, FileImageCompressionOptions, FileVideoCompressionOptions } from \"@/services\"\nimport {\n schemaFileDeletePayload,\n schemaFileUploadPayload,\n} from \"@/schema/payload\";\n\nimport { QueryList } from \"@/schema/middleware/route\";\n\nimport { FileStorageHook } from \"@/features\"\n\nconst getRootName = (toSingular: boolean) => {\n\n let rootName = toSingular ? \"file\" : \"files\";\n\n return rootName\n}\n\n// const getStorageProvider = () => {\n\n// const storageProviderName = config.FILE_STORAGE_PROVIDER_NAME as FileUploadProps[\"storageProviderName\"]\n\n// let storageProviderOptions = {}\n\n// if (storageProviderName === \"local\") {\n// storageProviderOptions = {\n// basePath: `${config.FILE_STORAGE_LOCAL_BASE_PATH}`,\n// publicBaseUrl: `${config.FILE_STORAGE_LOCAL_BASE_URL}`,\n// skipFoldernameByModuleRef: Boolean(config.FILE_STORAGE_LOCAL_SKIP_FOLDERNAME_MODULE_REF),\n// skipFoldernameByDate: Boolean(config.FILE_STORAGE_LOCAL_SKIP_FOLDERNAME_YEAR_MONTH)\n// }\n// }\n\n// if (storageProviderName === \"gcloud\") {\n// storageProviderOptions = {\n// bucketName: `${config.FILE_STORAGE_GCLOUD_BUCKET_NAME}`,\n// basePath: `${config.FILE_STORAGE_GCLOUD_BASE_PATH}`,\n// credentials: `${path.resolve(process.cwd(), `${config.FILE_STORAGE_GCLOUD_CREDENTIAL_PATH}`)}`,\n// publicBaseUrl: `${config.FILE_STORAGE_GCLOUD_BASE_URL}`,\n// skipFoldernameByModuleRef: Boolean(config.FILE_STORAGE_GCLOUD_SKIP_FOLDERNAME_MODULE_REF),\n// skipFoldernameByDate: Boolean(config.FILE_STORAGE_GCLOUD_SKIP_FOLDERNAME_YEAR_MONTH)\n// }\n// }\n\n// return {\n// storageProviderName,\n// storageProviderOptions\n// }\n// }\n\nconst getStorageSetup = async () => {\n\n const hookSetup = await FileStorageHook.onSetup()\n\n let storageProviderOptions = {}\n\n if (hookSetup.storageType === \"local\") {\n storageProviderOptions = {\n // basePath: `${config.FILE_STORAGE_LOCAL_BASE_PATH}`,\n basePath: `${hookSetup.localStorageOptions.basePath}`,\n // publicBaseUrl: `${config.FILE_STORAGE_LOCAL_BASE_URL}`,\n publicBaseUrl: `${hookSetup.localStorageOptions.baseUrl}`,\n // skipFoldernameByModuleRef: Boolean(config.FILE_STORAGE_LOCAL_SKIP_FOLDERNAME_MODULE_REF),\n skipFoldernameByModuleRef: Boolean(hookSetup.localStorageOptions.skipFolderNameModuleRef),\n // skipFoldernameByDate: Boolean(config.FILE_STORAGE_LOCAL_SKIP_FOLDERNAME_YEAR_MONTH)\n skipFoldernameByDate: Boolean(hookSetup.localStorageOptions.skipFolderNameYearMonth)\n }\n }\n\n if (hookSetup.storageType === \"gcloud\") {\n storageProviderOptions = {\n // basePath: `${config.FILE_STORAGE_GCLOUD_BASE_PATH}`,\n basePath: `${hookSetup.gcloudStorageOptions.basePath}`,\n // publicBaseUrl: `${config.FILE_STORAGE_GCLOUD_BASE_URL}`,\n publicBaseUrl: `${hookSetup.gcloudStorageOptions.baseUrl}`,\n // bucketName: `${config.FILE_STORAGE_GCLOUD_BUCKET_NAME}`,\n bucketName: `${hookSetup.gcloudStorageOptions.bucketName}`,\n // credentials: `${path.resolve(process.cwd(), `${config.FILE_STORAGE_GCLOUD_CREDENTIAL_PATH}`)}`,\n credentials: `${path.resolve(process.cwd(), `${hookSetup.gcloudStorageOptions.credentialPath}`)}`,\n // skipFoldernameByModuleRef: Boolean(config.FILE_STORAGE_GCLOUD_SKIP_FOLDERNAME_MODULE_REF),\n skipFoldernameByModuleRef: Boolean(hookSetup.gcloudStorageOptions.skipFolderNameModuleRef),\n // skipFoldernameByDate: Boolean(config.FILE_STORAGE_GCLOUD_SKIP_FOLDERNAME_YEAR_MONTH)\n skipFoldernameByDate: Boolean(hookSetup.gcloudStorageOptions.skipFolderNameYearMonth)\n }\n }\n\n return {\n storageProviderName: hookSetup.storageType,\n storageProviderOptions,\n storageConfiguration: hookSetup.storageConfiguration\n }\n}\n\n/** file/:fileId : get file */\nexport const getFile = async (req: Request, res: Response, next: NextFunction): Promise<any> => {\n try {\n\n const { fileId } = req.params;\n // const requestQuery = req.query as unknown as QueryList;\n // const requestDocumentType = documentType as FileServiceProps[\"documentType\"];\n\n const fileService = FileService({\n ...getDefaultServiceProps(req),\n })\n\n const data = await fileService.getFile({ id: Number(fileId) })\n\n return sendSuccess(res, data, \"Retrieved successfully\", getRootName(true));\n\n } catch (error: any) {\n next(error)\n }\n}\n\n/** files : upload files */\nexport const uploadFiles = async (req: Request, res: Response, next: NextFunction): Promise<any> => {\n\n try {\n\n let reqBody = req.body\n let reqFiles = req.files\n\n const request = schemaFileUploadPayload.parse({\n field_ref: reqBody.field_ref,\n field_module: reqBody.field_module,\n description: reqBody.description,\n tagName: reqBody.tag_name,\n label: reqBody.label,\n refId: Number(reqBody.ref_id),\n refId2: Number(reqBody.ref_id_2),\n ...(reqBody?.ref_label ? { refLabel: reqBody.ref_label } : {}),\n ...(reqBody?.ref_label_2 ? { refLabel2: reqBody.ref_label_2 } : {}),\n ...(reqBody?.remark ? { remark: reqBody.remark } : {}),\n files: Array.isArray(reqFiles) ? reqFiles.map((file: any) => ({\n originalname: file.originalname,\n mimetype: file.mimetype,\n size: file.size,\n buffer: file.buffer,\n })) : [],\n });\n\n // const {\n // storageProviderName,\n // storageProviderOptions\n // } = getStorageProvider()\n\n\n // Image Compression\n // const imageCompressionOptions: FileImageCompressionOptions | undefined\n // = config.FILE_UPLOAD_IMAGE_MAX_WIDTH && config.FILE_UPLOAD_IMAGE_QUALITY\n // ? {\n // maxWidth: Number(config.FILE_UPLOAD_IMAGE_MAX_WIDTH),\n // quality: Number(config.FILE_UPLOAD_IMAGE_QUALITY),\n // }\n // : undefined;\n\n\n // Video Compression\n // const videoCompressionOptions: FileVideoCompressionOptions | undefined =\n // config.FILE_UPLOAD_VIDEO_COMPRESSION_CRF &&\n // config.FILE_UPLOAD_VIDEO_COMPRESSION_PRESET &&\n // config.FILE_UPLOAD_VIDEO_COMPRESSION_RESOLUTION\n // ? {\n // crf: Number(config.FILE_UPLOAD_VIDEO_COMPRESSION_CRF),\n // preset: config.FILE_UPLOAD_VIDEO_COMPRESSION_PRESET as FileVideoCompressionOptions[\"preset\"],\n // resolution: Number(config.FILE_UPLOAD_VIDEO_COMPRESSION_RESOLUTION),\n // }\n // : undefined;\n\n const {\n storageProviderName,\n storageProviderOptions,\n storageConfiguration\n } = await getStorageSetup()\n\n // Image Compression\n const imageCompressionOptions: FileImageCompressionOptions | undefined\n = storageConfiguration?.imageMaxWidth && storageConfiguration?.imageMaxWidth\n ? {\n maxWidth: Number(storageConfiguration.imageMaxWidth),\n quality: Number(storageConfiguration.imageQuality),\n }\n : undefined;\n\n // Video Compression\n const videoCompressionOptions: FileVideoCompressionOptions | undefined =\n storageConfiguration?.videoCRF &&\n storageConfiguration?.videoPreset &&\n storageConfiguration?.videoResolution\n ? {\n crf: Number(storageConfiguration.videoCRF),\n preset: storageConfiguration.videoPreset as FileVideoCompressionOptions[\"preset\"],\n resolution: Number(storageConfiguration.videoResolution),\n }\n : undefined;\n\n const fileService = FileService({\n ...getDefaultServiceProps(req),\n });\n\n const payload: FileUploadProps = {\n field_ref: reqBody.field_ref,\n field_module: reqBody.field_module,\n description: request.description,\n label: request.label,\n tagName: request.tagName ?? \"\",\n refId: request.refId ?? 0,\n refId2: request?.refId2 ?? 0,\n refLabel: request?.refLabel ?? \"\",\n refLabel2: request?.refLabel2 ?? \"\",\n remark: request?.remark ?? \"\",\n // foldernameDate: \"2025-01-01\", // empty to use current datetime\n storageProviderName,\n storageProviderOptions,\n ...(imageCompressionOptions ? { imageCompressionOptions } : {}),\n ...(videoCompressionOptions ? { videoCompressionOptions } : {}),\n files: request.files.map(file => ({\n buffer: file.buffer,\n originalName: file.originalname,\n mimeType: file.mimetype,\n sizeBytes: file.size,\n })),\n };\n\n const response = await fileService.uploadFiles(payload);\n\n return sendSuccess(res, response, \"Files uploaded successfully\");\n\n } catch (error) {\n next(error);\n }\n};\n\n/** file/:fileId : update file */\nexport const updateFile = async (req: Request, res: Response, next: NextFunction): Promise<void> => {\n try {\n\n const { fileId } = req.params;\n // const requestDocumentType = req.body.scope.target as FileServiceProps[\"documentType\"]\n\n const fileService = FileService({\n ...getDefaultServiceProps(req),\n })\n\n let response: any = {}\n\n let reqScope = req.body.scope\n let reqPayload = req.body.payload\n\n\n // const { schemaUpdate, key } = documentSalesMap[requestDocumentType as keyof typeof documentSalesMap];\n\n // const request = schemaUpdate.parse({\n // scope: { target: reqScope.target, action: reqScope.action },\n // payload: {\n // ...buildDocumentPayloadFromRequest(reqPayload),\n // profile: buildDocumentProfileFromRequest(reqPayload.profile),\n // shipping: buildDocumentProfileOtherFromRequest(reqPayload.shipping),\n // billing: buildDocumentProfileOtherFromRequest(reqPayload.billing),\n // ...(reqPayload?.items ? { items: buildDocumentItemsFromRequest(reqPayload.items) } : {}),\n // ...(reqPayload?.totals ? { totals: buildDocumentTotalsFromRequest(reqPayload.totals) } : {}),\n // },\n // });\n\n // const payload: DocumentUpdateProps = {\n // documentId: Number(documentId),\n // documentType: requestDocumentType,\n // data: {\n // ...buildDocumentPayloadToService(request.payload),\n // [key]: {\n // profile: buildDocumentProfileToService(request.payload.profile),\n // shipping: buildDocumentProfileOtherToService(request.payload.shipping),\n // billing: buildDocumentProfileOtherToService(request.payload.billing),\n // ...(request.payload?.items ? { items: buildDocumentItemsToService(request.payload.items) } : {}),\n // ...(request.payload?.totals ? { totals: buildDocumentTotalsToService(request.payload.totals) } : {}),\n // },\n // } as any,\n // };\n\n // const result = await fileService.updateFile(payload);\n\n // response = {\n // [getRootName(true)]: result,\n // };\n\n sendSuccess(res, response, `File updated successfully`)\n\n } catch (error: any) {\n next(error)\n }\n};\n\n/** files : list files */\nexport const listFiles = async (req: Request, res: Response, next: NextFunction): Promise<any> => {\n\n try {\n\n const requestQuery = req.query as unknown as QueryList;\n // const requestDocumentType = req.params.documentType as FileServiceProps[\"documentType\"];\n\n const fileService = FileService({\n ...getDefaultServiceProps(req),\n })\n\n const { data, total } = await fileService.listFiles({\n ...requestQuery,\n });\n\n let response = {\n [`${getRootName(false)}`]: data,\n total,\n }\n\n return sendSuccess(res, response, \"Retrieved successfully\");\n\n } catch (error: any) {\n next(error)\n }\n};\n\n/** files/delete : delete files */\nexport const deleteFiles = async (req: Request, res: Response, next: NextFunction): Promise<any> => {\n\n try {\n\n // const requestDocumentType = req.body.scope.target as FileServiceProps[\"documentType\"]\n // const requestQuery = req.query as unknown as QueryList;\n // const requestFileId = Number(req.params.fileId)\n\n const request = schemaFileDeletePayload.parse(req.body)\n\n const fileService = FileService({\n ...getDefaultServiceProps(req),\n })\n\n // const {\n // storageProviderName,\n // storageProviderOptions\n // } = getStorageProvider()\n\n const {\n storageProviderName,\n storageProviderOptions\n } = await getStorageSetup()\n\n const payload = {\n fileIds: request.payload.ids.map(i => BigInt(i)),\n storageProviderName,\n storageProviderOptions\n }\n\n const data = await fileService.removeFiles(payload);\n\n return sendSuccess(res, data, \"Deleted\", getRootName(false));\n\n } catch (error: any) {\n next(error)\n }\n};\n\n/** file/data_types : get file data types */\n// export const getFileDataTypes = async (req: Request, res: Response, next: NextFunction): Promise<any> => {\n\n// try {\n\n// const requestQuery = req.query as unknown as QueryList;\n// // const requestDocumentType = req.params.documentType as FileServiceProps[\"documentType\"];\n\n// const fileService = FileService({\n// ...getDefaultServiceProps(req),\n// })\n\n// const data = fileService.getFileDataTypes();\n\n// let response = {\n// data_types: data\n// }\n\n// return sendSuccess(res, response, \"Retrieved successfully\");\n\n// } catch (error: any) {\n// next(error)\n// }\n// };\n"]}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.changePasswordUtil = void 0;
|
|
4
|
-
|
|
4
|
+
// import { config } from "../../configs";
|
|
5
5
|
const utils_1 = require("../../utils");
|
|
6
6
|
const services_1 = require("../../services");
|
|
7
7
|
const payload_1 = require("../../schema/payload");
|
|
8
|
+
// retrive core configuration
|
|
9
|
+
const coreConfig = (0, utils_1.getCoreConfiguration)();
|
|
8
10
|
// import { z } from "zod";
|
|
9
11
|
/** utils/change_password : change password via token */
|
|
10
12
|
const changePasswordUtil = async (req, res, next) => {
|
|
@@ -15,7 +17,8 @@ const changePasswordUtil = async (req, res, next) => {
|
|
|
15
17
|
// console.log('in core - authHeader', authHeader)
|
|
16
18
|
// Extract token from "Bearer <token>"
|
|
17
19
|
const headerToken = authHeader && authHeader.split(" ")[1];
|
|
18
|
-
const authSecretKey =
|
|
20
|
+
// const authSecretKey = config.AUTH_SECRET_KEY
|
|
21
|
+
const authSecretKey = coreConfig.authSecretKey;
|
|
19
22
|
const changePasswordUtilService = (0, services_1.ChangePasswordUtilService)({
|
|
20
23
|
...(0, utils_1.getDefaultServiceProps)(req),
|
|
21
24
|
secretKey: authSecretKey,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"changePasswordUtilController.js","sourceRoot":"","sources":["../../../src/controllers/utils/changePasswordUtilController.ts"],"names":[],"mappings":";;;AAEA,
|
|
1
|
+
{"version":3,"file":"changePasswordUtilController.js","sourceRoot":"","sources":["../../../src/controllers/utils/changePasswordUtilController.ts"],"names":[],"mappings":";;;AAEA,sCAAsC;AAEtC,mCAA2G;AAE3G,yCAAqF;AACrF,8CAE0B;AAE1B,6BAA6B;AAC7B,MAAM,UAAU,GAAG,IAAA,4BAAoB,GAAE,CAAA;AAEzC,2BAA2B;AAE3B,wDAAwD;AACjD,MAAM,kBAAkB,GAAG,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAgB,EAAE;IACtG,IAAI,CAAC;QAED,4DAA4D;QAE5D,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC;QAE7C,wDAAwD;QACxD,kDAAkD;QAElD,sCAAsC;QACtC,MAAM,WAAW,GAAG,UAAU,IAAI,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAE3D,+CAA+C;QAC/C,MAAM,aAAa,GAAG,UAAU,CAAC,aAAa,CAAA;QAE9C,MAAM,yBAAyB,GAAG,IAAA,oCAAyB,EAAC;YACxD,GAAG,IAAA,8BAAsB,EAAC,GAAG,CAAC;YAC9B,SAAS,EAAE,aAAa;YACxB,4BAA4B;SAC/B,CAAC,CAAA;QAEF,IAAI,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAA;QAC7B,IAAI,UAAU,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,CAAA;QAEjC,IAAI,OAAO,GAAG,yCAA+B,CAAC,KAAK,CAAC;YAChD,KAAK,EAAE;gBACH,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,MAAM,EAAE,QAAQ,CAAC,MAAM;aAC1B;YACD,OAAO,EAAE;gBACL,SAAS,EAAE,WAAW;gBACtB,eAAe,EAAE,UAAU,CAAC,gBAAgB;gBAC5C,WAAW,EAAE,UAAU,CAAC,YAAY;gBACpC,eAAe,EAAE,UAAU,CAAC,gBAAgB;aAC/C;SACJ,CAAC,CAAA;QAEF,IAAI,OAAO,GAAkC;YACzC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,SAAS;YACpC,eAAe,EAAE,OAAO,CAAC,OAAO,CAAC,eAAe;YAChD,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,WAAW;YACxC,eAAe,EAAE,OAAO,CAAC,OAAO,CAAC,eAAe;SACnD,CAAA;QAED,MAAM,IAAI,GAAG,MAAM,yBAAyB,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA;QAEpE,OAAO,IAAA,mBAAW,EAAC,GAAG,EAAE,IAAI,EAAE,+BAA+B,EAAE,EAAE,CAAC,CAAC;IAEvE,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QAClB,IAAI,CAAC,KAAK,CAAC,CAAA;IACf,CAAC;AACL,CAAC,CAAA;AApDY,QAAA,kBAAkB,sBAoD9B","sourcesContent":["import { NextFunction, Request, Response } from \"express\";\n\n// import { config } from \"@/configs\";\n\nimport { getDefaultServiceProps, sendSuccess, getCoreConfiguration, sendError, HTTP_STATUS } from \"@/utils\"\n\nimport { ChangePasswordUtilService, ChangePasswordUtilChangeProps } from \"@/services\"\nimport {\n schemaChangePasswordUtilPayload\n} from \"@/schema/payload\";\n\n// retrive core configuration\nconst coreConfig = getCoreConfiguration()\n\n// import { z } from \"zod\";\n\n/** utils/change_password : change password via token */\nexport const changePasswordUtil = async (req: Request, res: Response, next: NextFunction): Promise<any> => {\n try {\n\n // const requestAuthType = req.body.scope.target as AuthType\n\n const authHeader = req.headers.authorization;\n\n // console.log('in core - authSecretKey', authSecretKey)\n // console.log('in core - authHeader', authHeader)\n\n // Extract token from \"Bearer <token>\"\n const headerToken = authHeader && authHeader.split(\" \")[1];\n\n // const authSecretKey = config.AUTH_SECRET_KEY\n const authSecretKey = coreConfig.authSecretKey\n\n const changePasswordUtilService = ChangePasswordUtilService({\n ...getDefaultServiceProps(req),\n secretKey: authSecretKey,\n // authType: \"administrator\"\n })\n\n let reqScope = req.body.scope\n let reqPayload = req.body.payload\n\n let request = schemaChangePasswordUtilPayload.parse({\n scope: {\n target: reqScope.target,\n action: reqScope.action\n },\n payload: {\n authToken: headerToken,\n currentPassword: reqPayload.current_password,\n newPassword: reqPayload.new_password,\n confirmPassword: reqPayload.confirm_password,\n }\n })\n\n let payload: ChangePasswordUtilChangeProps = {\n authToken: request.payload.authToken,\n currentPassword: request.payload.currentPassword,\n newPassword: request.payload.newPassword,\n confirmPassword: request.payload.confirmPassword,\n }\n\n const data = await changePasswordUtilService.changePassword(payload)\n\n return sendSuccess(res, data, \"Password changed successfully\", ``);\n\n } catch (error: any) {\n next(error)\n }\n}\n"]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.registerCoreConfigHook = registerCoreConfigHook;
|
|
4
|
+
const features_1 = require("../../features");
|
|
5
|
+
/**
|
|
6
|
+
* Register consumer-provided hooks for core configuration
|
|
7
|
+
*/
|
|
8
|
+
function registerCoreConfigHook(hooks) {
|
|
9
|
+
Object.assign(features_1.CoreConfigHook, hooks);
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=coreConfigRegister.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coreConfigRegister.js","sourceRoot":"","sources":["../../../src/features/core_config/coreConfigRegister.ts"],"names":[],"mappings":";;AAMA,wDAEC;AAPD,yCAA2C;AAE3C;;GAEG;AACH,SAAgB,sBAAsB,CAAC,KAA6B;IAChE,MAAM,CAAC,MAAM,CAAC,yBAAc,EAAE,KAAK,CAAC,CAAA;AACxC,CAAC","sourcesContent":["import { FeatureCoreConfigProps } from '@/features'\nimport { CoreConfigHook } from '@/features'\n\n/**\n * Register consumer-provided hooks for core configuration\n */\nexport function registerCoreConfigHook(hooks: FeatureCoreConfigProps) {\n Object.assign(CoreConfigHook, hooks)\n}"]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CoreConfigHook = void 0;
|
|
4
|
+
// import { throwError } from '../../utils'
|
|
5
|
+
// Runtime storage for injected hook
|
|
6
|
+
exports.CoreConfigHook = {
|
|
7
|
+
onSetup: () => {
|
|
8
|
+
return {
|
|
9
|
+
authSecretKey: "KajMP7jrRmUBCnPbkGYwQyQ6pv[s/x2kdJdyqR>J(bWCRPmGMnckTUCMY,qGjMdX",
|
|
10
|
+
accessKeyEncryptionSecretKey: "jWx+5kH2Lk9EYuTuvwEuNccZJFT0MN1yzKXSv+WW88c="
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=coreConfigRegistry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coreConfigRegistry.js","sourceRoot":"","sources":["../../../src/features/core_config/coreConfigRegistry.ts"],"names":[],"mappings":";;;AACA,uCAAuC;AAEvC,oCAAoC;AACvB,QAAA,cAAc,GAA2B;IAClD,OAAO,EAAE,GAA6B,EAAE;QACpC,OAAO;YACH,aAAa,EAAE,kEAAkE;YACjF,4BAA4B,EAAE,8CAA8C;SAC/E,CAAA;IAEL,CAAC;CACJ,CAAA","sourcesContent":["import { FeatureCoreConfigOptions, FeatureCoreConfigProps } from '@/features'\n// import { throwError } from '@/utils'\n\n// Runtime storage for injected hook\nexport const CoreConfigHook: FeatureCoreConfigProps = {\n onSetup: (): FeatureCoreConfigOptions => {\n return {\n authSecretKey: \"KajMP7jrRmUBCnPbkGYwQyQ6pv[s/x2kdJdyqR>J(bWCRPmGMnckTUCMY,qGjMdX\",\n accessKeyEncryptionSecretKey: \"jWx+5kH2Lk9EYuTuvwEuNccZJFT0MN1yzKXSv+WW88c=\"\n }\n\n }\n}"]}
|