skyeye-svc-common-utils 2.0.0-dev0.20 → 2.0.0-dev0.22
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/index.d.ts +32 -0
- package/dist/index.js +49 -0
- package/dist/index.js.map +1 -0
- package/dist/interfaces/apiResponse.d.ts +7 -0
- package/dist/interfaces/apiResponse.js +3 -0
- package/dist/interfaces/apiResponse.js.map +1 -0
- package/dist/interfaces/grpcListRequest.d.ts +6 -0
- package/dist/interfaces/grpcListRequest.js +3 -0
- package/dist/interfaces/grpcListRequest.js.map +1 -0
- package/dist/interfaces/grpcServiceResponse.d.ts +8 -0
- package/dist/interfaces/grpcServiceResponse.js +3 -0
- package/dist/interfaces/grpcServiceResponse.js.map +1 -0
- package/dist/interfaces/index.d.ts +10 -0
- package/dist/interfaces/index.js +26 -0
- package/dist/interfaces/index.js.map +1 -0
- package/dist/interfaces/internalHttp/request/index.d.ts +1 -0
- package/dist/interfaces/internalHttp/request/index.js +18 -0
- package/dist/interfaces/internalHttp/request/index.js.map +1 -0
- package/dist/interfaces/internalHttp/request/search.d.ts +9 -0
- package/dist/interfaces/internalHttp/request/search.js +3 -0
- package/dist/interfaces/internalHttp/request/search.js.map +1 -0
- package/dist/interfaces/internalHttp/response/index.d.ts +1 -0
- package/dist/interfaces/internalHttp/response/index.js +18 -0
- package/dist/interfaces/internalHttp/response/index.js.map +1 -0
- package/dist/interfaces/internalHttp/response/search.d.ts +10 -0
- package/dist/interfaces/internalHttp/response/search.js +3 -0
- package/dist/interfaces/internalHttp/response/search.js.map +1 -0
- package/dist/interfaces/pagination.d.ts +6 -0
- package/dist/interfaces/pagination.js +12 -0
- package/dist/interfaces/pagination.js.map +1 -0
- package/dist/interfaces/serviceResponse.d.ts +8 -0
- package/dist/interfaces/serviceResponse.js +3 -0
- package/dist/interfaces/serviceResponse.js.map +1 -0
- package/dist/interfaces/subcriptionFeaturePermissionModel.d.ts +8 -0
- package/dist/interfaces/subcriptionFeaturePermissionModel.js +14 -0
- package/dist/interfaces/subcriptionFeaturePermissionModel.js.map +1 -0
- package/dist/interfaces/userInfo.d.ts +17 -0
- package/dist/interfaces/userInfo.js +21 -0
- package/dist/interfaces/userInfo.js.map +1 -0
- package/dist/lib/azure/azureBlobStorage.d.ts +4 -0
- package/dist/lib/azure/azureBlobStorage.js +137 -0
- package/dist/lib/azure/azureBlobStorage.js.map +1 -0
- package/dist/lib/azure/azureKeyVault.d.ts +11 -0
- package/dist/lib/azure/azureKeyVault.js +65 -0
- package/dist/lib/azure/azureKeyVault.js.map +1 -0
- package/dist/lib/azure/azureServiceBusClient.d.ts +47 -0
- package/dist/lib/azure/azureServiceBusClient.js +139 -0
- package/dist/lib/azure/azureServiceBusClient.js.map +1 -0
- package/dist/lib/azure/azureServiceBusQueue.d.ts +1 -0
- package/dist/lib/azure/azureServiceBusQueue.js +42 -0
- package/dist/lib/azure/azureServiceBusQueue.js.map +1 -0
- package/dist/lib/azure/azureStorageQueue.d.ts +1 -0
- package/dist/lib/azure/azureStorageQueue.js +26 -0
- package/dist/lib/azure/azureStorageQueue.js.map +1 -0
- package/dist/lib/azure/azureTableStorage.d.ts +4 -0
- package/dist/lib/azure/azureTableStorage.js +67 -0
- package/dist/lib/azure/azureTableStorage.js.map +1 -0
- package/dist/lib/azure/cognitiveSearch/QueryType.d.ts +8 -0
- package/dist/lib/azure/cognitiveSearch/QueryType.js +13 -0
- package/dist/lib/azure/cognitiveSearch/QueryType.js.map +1 -0
- package/dist/lib/azure/cognitiveSearch/SearchClient.d.ts +42 -0
- package/dist/lib/azure/cognitiveSearch/SearchClient.js +161 -0
- package/dist/lib/azure/cognitiveSearch/SearchClient.js.map +1 -0
- package/dist/lib/azure/cognitiveSearch/SearchFacets.d.ts +16 -0
- package/dist/lib/azure/cognitiveSearch/SearchFacets.js +3 -0
- package/dist/lib/azure/cognitiveSearch/SearchFacets.js.map +1 -0
- package/dist/lib/azure/cognitiveSearch/SearchFilter.d.ts +68 -0
- package/dist/lib/azure/cognitiveSearch/SearchFilter.js +125 -0
- package/dist/lib/azure/cognitiveSearch/SearchFilter.js.map +1 -0
- package/dist/lib/azure/cognitiveSearch/SearchMode.d.ts +9 -0
- package/dist/lib/azure/cognitiveSearch/SearchMode.js +14 -0
- package/dist/lib/azure/cognitiveSearch/SearchMode.js.map +1 -0
- package/dist/lib/azure/cognitiveSearch/SearchOption.d.ts +88 -0
- package/dist/lib/azure/cognitiveSearch/SearchOption.js +104 -0
- package/dist/lib/azure/cognitiveSearch/SearchOption.js.map +1 -0
- package/dist/lib/azure/cognitiveSearch/SearchOrder.d.ts +9 -0
- package/dist/lib/azure/cognitiveSearch/SearchOrder.js +3 -0
- package/dist/lib/azure/cognitiveSearch/SearchOrder.js.map +1 -0
- package/dist/lib/azure/cognitiveSearch/index.d.ts +7 -0
- package/dist/lib/azure/cognitiveSearch/index.js +24 -0
- package/dist/lib/azure/cognitiveSearch/index.js.map +1 -0
- package/dist/lib/azure/index.d.ts +7 -0
- package/dist/lib/azure/index.js +24 -0
- package/dist/lib/azure/index.js.map +1 -0
- package/dist/lib/fetch/index.d.ts +2 -0
- package/dist/lib/fetch/index.js +19 -0
- package/dist/lib/fetch/index.js.map +1 -0
- package/dist/lib/fetch/sendRequest.d.ts +8 -0
- package/dist/lib/fetch/sendRequest.js +25 -0
- package/dist/lib/fetch/sendRequest.js.map +1 -0
- package/dist/lib/fetch/sendRequestWithTimeout.d.ts +9 -0
- package/dist/lib/fetch/sendRequestWithTimeout.js +53 -0
- package/dist/lib/fetch/sendRequestWithTimeout.js.map +1 -0
- package/dist/lib/httpClient.d.ts +4 -0
- package/dist/lib/httpClient.js +55 -0
- package/dist/lib/httpClient.js.map +1 -0
- package/dist/lib/index.d.ts +3 -0
- package/dist/lib/index.js +20 -0
- package/dist/lib/index.js.map +1 -0
- package/dist/lib/redisClient.d.ts +45 -0
- package/dist/lib/redisClient.js +153 -0
- package/dist/lib/redisClient.js.map +1 -0
- package/dist/lib/sendGridClient.d.ts +27 -0
- package/dist/lib/sendGridClient.js +62 -0
- package/dist/lib/sendGridClient.js.map +1 -0
- package/dist/lib/teams/broadcastLogMessage.d.ts +8 -0
- package/dist/lib/teams/broadcastLogMessage.js +81 -0
- package/dist/lib/teams/broadcastLogMessage.js.map +1 -0
- package/dist/lib/teams/index.d.ts +2 -0
- package/dist/lib/teams/index.js +19 -0
- package/dist/lib/teams/index.js.map +1 -0
- package/dist/lib/teams/logMessage.d.ts +51 -0
- package/dist/lib/teams/logMessage.js +33 -0
- package/dist/lib/teams/logMessage.js.map +1 -0
- package/dist/models/baseControllerParameter.d.ts +9 -0
- package/dist/models/baseControllerParameter.js +24 -0
- package/dist/models/baseControllerParameter.js.map +1 -0
- package/dist/models/campaign/grpcCampaignEventModel.d.ts +18 -0
- package/dist/models/campaign/grpcCampaignEventModel.js +24 -0
- package/dist/models/campaign/grpcCampaignEventModel.js.map +1 -0
- package/dist/models/campaign/grpcCampaignEventUserModel.d.ts +13 -0
- package/dist/models/campaign/grpcCampaignEventUserModel.js +19 -0
- package/dist/models/campaign/grpcCampaignEventUserModel.js.map +1 -0
- package/dist/models/campaign/grpcCampaignUserModel.d.ts +12 -0
- package/dist/models/campaign/grpcCampaignUserModel.js +16 -0
- package/dist/models/campaign/grpcCampaignUserModel.js.map +1 -0
- package/dist/models/campaign/index.d.ts +4 -0
- package/dist/models/campaign/index.js +10 -0
- package/dist/models/campaign/index.js.map +1 -0
- package/dist/models/emailtemplate/grpcEmailTemplateModel.d.ts +10 -0
- package/dist/models/emailtemplate/grpcEmailTemplateModel.js +16 -0
- package/dist/models/emailtemplate/grpcEmailTemplateModel.js.map +1 -0
- package/dist/models/emailtemplate/index.d.ts +2 -0
- package/dist/models/emailtemplate/index.js +6 -0
- package/dist/models/emailtemplate/index.js.map +1 -0
- package/dist/models/index.d.ts +10 -0
- package/dist/models/index.js +28 -0
- package/dist/models/index.js.map +1 -0
- package/dist/models/organisation/grpcOrganisationModel.d.ts +15 -0
- package/dist/models/organisation/grpcOrganisationModel.js +21 -0
- package/dist/models/organisation/grpcOrganisationModel.js.map +1 -0
- package/dist/models/organisation/index.d.ts +2 -0
- package/dist/models/organisation/index.js +6 -0
- package/dist/models/organisation/index.js.map +1 -0
- package/dist/models/rbac/grpcRoleModel.d.ts +9 -0
- package/dist/models/rbac/grpcRoleModel.js +15 -0
- package/dist/models/rbac/grpcRoleModel.js.map +1 -0
- package/dist/models/rbac/index.d.ts +2 -0
- package/dist/models/rbac/index.js +6 -0
- package/dist/models/rbac/index.js.map +1 -0
- package/dist/models/scoutai/grpcAIDETrainingResultListModel.d.ts +8 -0
- package/dist/models/scoutai/grpcAIDETrainingResultListModel.js +14 -0
- package/dist/models/scoutai/grpcAIDETrainingResultListModel.js.map +1 -0
- package/dist/models/scoutai/grpcNerlCorrectionModel.d.ts +11 -0
- package/dist/models/scoutai/grpcNerlCorrectionModel.js +16 -0
- package/dist/models/scoutai/grpcNerlCorrectionModel.js.map +1 -0
- package/dist/models/scoutai/grpcScoutAIListReq.d.ts +12 -0
- package/dist/models/scoutai/grpcScoutAIListReq.js +17 -0
- package/dist/models/scoutai/grpcScoutAIListReq.js.map +1 -0
- package/dist/models/scoutai/grpcScoutAIModel.d.ts +10 -0
- package/dist/models/scoutai/grpcScoutAIModel.js +16 -0
- package/dist/models/scoutai/grpcScoutAIModel.js.map +1 -0
- package/dist/models/scoutai/grpcScoutAIResult.d.ts +10 -0
- package/dist/models/scoutai/grpcScoutAIResult.js +16 -0
- package/dist/models/scoutai/grpcScoutAIResult.js.map +1 -0
- package/dist/models/scoutai/grpcTaasConfigAIModel.d.ts +6 -0
- package/dist/models/scoutai/grpcTaasConfigAIModel.js +12 -0
- package/dist/models/scoutai/grpcTaasConfigAIModel.js.map +1 -0
- package/dist/models/scoutai/grpcTaasConfigModel.d.ts +11 -0
- package/dist/models/scoutai/grpcTaasConfigModel.js +15 -0
- package/dist/models/scoutai/grpcTaasConfigModel.js.map +1 -0
- package/dist/models/scoutai/grpcTaasConfigUserModel.d.ts +8 -0
- package/dist/models/scoutai/grpcTaasConfigUserModel.js +14 -0
- package/dist/models/scoutai/grpcTaasConfigUserModel.js.map +1 -0
- package/dist/models/scoutai/grpcTagItemModel.d.ts +9 -0
- package/dist/models/scoutai/grpcTagItemModel.js +15 -0
- package/dist/models/scoutai/grpcTagItemModel.js.map +1 -0
- package/dist/models/scoutai/grpcVisualisationModel.d.ts +11 -0
- package/dist/models/scoutai/grpcVisualisationModel.js +15 -0
- package/dist/models/scoutai/grpcVisualisationModel.js.map +1 -0
- package/dist/models/scoutai/grpcVisualisationPositionModel.d.ts +6 -0
- package/dist/models/scoutai/grpcVisualisationPositionModel.js +11 -0
- package/dist/models/scoutai/grpcVisualisationPositionModel.js.map +1 -0
- package/dist/models/scoutai/index.d.ts +10 -0
- package/dist/models/scoutai/index.js +22 -0
- package/dist/models/scoutai/index.js.map +1 -0
- package/dist/models/search/grpcAggregation.d.ts +9 -0
- package/dist/models/search/grpcAggregation.js +14 -0
- package/dist/models/search/grpcAggregation.js.map +1 -0
- package/dist/models/search/grpcCmsModel.d.ts +5 -0
- package/dist/models/search/grpcCmsModel.js +11 -0
- package/dist/models/search/grpcCmsModel.js.map +1 -0
- package/dist/models/search/grpcCommonModels.d.ts +109 -0
- package/dist/models/search/grpcCommonModels.js +80 -0
- package/dist/models/search/grpcCommonModels.js.map +1 -0
- package/dist/models/search/grpcCompanyAggregation.d.ts +14 -0
- package/dist/models/search/grpcCompanyAggregation.js +16 -0
- package/dist/models/search/grpcCompanyAggregation.js.map +1 -0
- package/dist/models/search/grpcCompanyConnectModel.d.ts +14 -0
- package/dist/models/search/grpcCompanyConnectModel.js +18 -0
- package/dist/models/search/grpcCompanyConnectModel.js.map +1 -0
- package/dist/models/search/grpcCompanyListReq.d.ts +36 -0
- package/dist/models/search/grpcCompanyListReq.js +42 -0
- package/dist/models/search/grpcCompanyListReq.js.map +1 -0
- package/dist/models/search/grpcCompanyModel.d.ts +43 -0
- package/dist/models/search/grpcCompanyModel.js +46 -0
- package/dist/models/search/grpcCompanyModel.js.map +1 -0
- package/dist/models/search/grpcCompanyNewsCountModel.d.ts +9 -0
- package/dist/models/search/grpcCompanyNewsCountModel.js +14 -0
- package/dist/models/search/grpcCompanyNewsCountModel.js.map +1 -0
- package/dist/models/search/grpcCompanyPeriodMentionModel.d.ts +18 -0
- package/dist/models/search/grpcCompanyPeriodMentionModel.js +22 -0
- package/dist/models/search/grpcCompanyPeriodMentionModel.js.map +1 -0
- package/dist/models/search/grpcCompanyPreviewModel.d.ts +26 -0
- package/dist/models/search/grpcCompanyPreviewModel.js +31 -0
- package/dist/models/search/grpcCompanyPreviewModel.js.map +1 -0
- package/dist/models/search/grpcContentAggregation.d.ts +8 -0
- package/dist/models/search/grpcContentAggregation.js +7 -0
- package/dist/models/search/grpcContentAggregation.js.map +1 -0
- package/dist/models/search/grpcContentListReq.d.ts +16 -0
- package/dist/models/search/grpcContentListReq.js +22 -0
- package/dist/models/search/grpcContentListReq.js.map +1 -0
- package/dist/models/search/grpcContentModel.d.ts +32 -0
- package/dist/models/search/grpcContentModel.js +37 -0
- package/dist/models/search/grpcContentModel.js.map +1 -0
- package/dist/models/search/grpcContentPreviewModel.d.ts +28 -0
- package/dist/models/search/grpcContentPreviewModel.js +33 -0
- package/dist/models/search/grpcContentPreviewModel.js.map +1 -0
- package/dist/models/search/grpcContentTabsModel.d.ts +10 -0
- package/dist/models/search/grpcContentTabsModel.js +15 -0
- package/dist/models/search/grpcContentTabsModel.js.map +1 -0
- package/dist/models/search/grpcCountryModel.d.ts +13 -0
- package/dist/models/search/grpcCountryModel.js +19 -0
- package/dist/models/search/grpcCountryModel.js.map +1 -0
- package/dist/models/search/grpcFinancialModel.d.ts +292 -0
- package/dist/models/search/grpcFinancialModel.js +7 -0
- package/dist/models/search/grpcFinancialModel.js.map +1 -0
- package/dist/models/search/grpcMarketModel.d.ts +16 -0
- package/dist/models/search/grpcMarketModel.js +6 -0
- package/dist/models/search/grpcMarketModel.js.map +1 -0
- package/dist/models/search/grpcMentionContentCountModel.d.ts +5 -0
- package/dist/models/search/grpcMentionContentCountModel.js +7 -0
- package/dist/models/search/grpcMentionContentCountModel.js.map +1 -0
- package/dist/models/search/index.d.ts +16 -0
- package/dist/models/search/index.js +44 -0
- package/dist/models/search/index.js.map +1 -0
- package/dist/models/subscription/applicationFeatureModel.d.ts +7 -0
- package/dist/models/subscription/applicationFeatureModel.js +12 -0
- package/dist/models/subscription/applicationFeatureModel.js.map +1 -0
- package/dist/models/subscription/featureModel.d.ts +7 -0
- package/dist/models/subscription/featureModel.js +13 -0
- package/dist/models/subscription/featureModel.js.map +1 -0
- package/dist/models/subscription/grpcSubscriptionModel.d.ts +6 -0
- package/dist/models/subscription/grpcSubscriptionModel.js +12 -0
- package/dist/models/subscription/grpcSubscriptionModel.js.map +1 -0
- package/dist/models/subscription/index.d.ts +10 -0
- package/dist/models/subscription/index.js +22 -0
- package/dist/models/subscription/index.js.map +1 -0
- package/dist/models/subscription/licenseModel.d.ts +6 -0
- package/dist/models/subscription/licenseModel.js +12 -0
- package/dist/models/subscription/licenseModel.js.map +1 -0
- package/dist/models/subscription/licenseUserModel.d.ts +5 -0
- package/dist/models/subscription/licenseUserModel.js +11 -0
- package/dist/models/subscription/licenseUserModel.js.map +1 -0
- package/dist/models/subscription/subscriptionFeatureModel.d.ts +6 -0
- package/dist/models/subscription/subscriptionFeatureModel.js +12 -0
- package/dist/models/subscription/subscriptionFeatureModel.js.map +1 -0
- package/dist/models/subscription/subscriptionModel.d.ts +14 -0
- package/dist/models/subscription/subscriptionModel.js +19 -0
- package/dist/models/subscription/subscriptionModel.js.map +1 -0
- package/dist/models/subscription/subscriptionPlanFeatureModel.d.ts +5 -0
- package/dist/models/subscription/subscriptionPlanFeatureModel.js +11 -0
- package/dist/models/subscription/subscriptionPlanFeatureModel.js.map +1 -0
- package/dist/models/subscription/subscriptionPlanModel.d.ts +15 -0
- package/dist/models/subscription/subscriptionPlanModel.js +20 -0
- package/dist/models/subscription/subscriptionPlanModel.js.map +1 -0
- package/dist/models/user/grpcAccountInfoModel.d.ts +5 -0
- package/dist/models/user/grpcAccountInfoModel.js +7 -0
- package/dist/models/user/grpcAccountInfoModel.js.map +1 -0
- package/dist/models/user/grpcAppUserModel.d.ts +15 -0
- package/dist/models/user/grpcAppUserModel.js +20 -0
- package/dist/models/user/grpcAppUserModel.js.map +1 -0
- package/dist/models/user/grpcAppUserOrganisationStatistic.d.ts +6 -0
- package/dist/models/user/grpcAppUserOrganisationStatistic.js +12 -0
- package/dist/models/user/grpcAppUserOrganisationStatistic.js.map +1 -0
- package/dist/models/user/grpcAppUserRoleModel.d.ts +5 -0
- package/dist/models/user/grpcAppUserRoleModel.js +11 -0
- package/dist/models/user/grpcAppUserRoleModel.js.map +1 -0
- package/dist/models/user/grpcBrowseHistoryModel.d.ts +8 -0
- package/dist/models/user/grpcBrowseHistoryModel.js +14 -0
- package/dist/models/user/grpcBrowseHistoryModel.js.map +1 -0
- package/dist/models/user/grpcDailyDigestUserModel.d.ts +10 -0
- package/dist/models/user/grpcDailyDigestUserModel.js +15 -0
- package/dist/models/user/grpcDailyDigestUserModel.js.map +1 -0
- package/dist/models/user/grpcNotificationSettingModel.d.ts +11 -0
- package/dist/models/user/grpcNotificationSettingModel.js +17 -0
- package/dist/models/user/grpcNotificationSettingModel.js.map +1 -0
- package/dist/models/user/grpcSavedSearchModel.d.ts +8 -0
- package/dist/models/user/grpcSavedSearchModel.js +14 -0
- package/dist/models/user/grpcSavedSearchModel.js.map +1 -0
- package/dist/models/user/grpcSearchHistoryModel.d.ts +7 -0
- package/dist/models/user/grpcSearchHistoryModel.js +13 -0
- package/dist/models/user/grpcSearchHistoryModel.js.map +1 -0
- package/dist/models/user/grpcTargetListEntityModel.d.ts +5 -0
- package/dist/models/user/grpcTargetListEntityModel.js +7 -0
- package/dist/models/user/grpcTargetListEntityModel.js.map +1 -0
- package/dist/models/user/grpcTargetListExportModel.d.ts +8 -0
- package/dist/models/user/grpcTargetListExportModel.js +14 -0
- package/dist/models/user/grpcTargetListExportModel.js.map +1 -0
- package/dist/models/user/grpcTargetListItemModel.d.ts +7 -0
- package/dist/models/user/grpcTargetListItemModel.js +13 -0
- package/dist/models/user/grpcTargetListItemModel.js.map +1 -0
- package/dist/models/user/grpcTargetListModel.d.ts +9 -0
- package/dist/models/user/grpcTargetListModel.js +14 -0
- package/dist/models/user/grpcTargetListModel.js.map +1 -0
- package/dist/models/user/index.d.ts +14 -0
- package/dist/models/user/index.js +30 -0
- package/dist/models/user/index.js.map +1 -0
- package/dist/utils/appConfig.d.ts +45 -0
- package/dist/utils/appConfig.js +57 -0
- package/dist/utils/appConfig.js.map +1 -0
- package/dist/utils/appConst.d.ts +196 -0
- package/dist/utils/appConst.js +214 -0
- package/dist/utils/appConst.js.map +1 -0
- package/dist/utils/authentication/auth.d.ts +2 -0
- package/dist/utils/authentication/auth.js +163 -0
- package/dist/utils/authentication/auth.js.map +1 -0
- package/dist/utils/authentication/role.d.ts +7 -0
- package/dist/utils/authentication/role.js +139 -0
- package/dist/utils/authentication/role.js.map +1 -0
- package/dist/utils/baseClass/appDataSource.d.ts +7 -0
- package/dist/utils/baseClass/appDataSource.js +31 -0
- package/dist/utils/baseClass/appDataSource.js.map +1 -0
- package/dist/utils/baseClass/baseController.d.ts +12 -0
- package/dist/utils/baseClass/baseController.js +176 -0
- package/dist/utils/baseClass/baseController.js.map +1 -0
- package/dist/utils/baseClass/baseService.d.ts +7 -0
- package/dist/utils/baseClass/baseService.js +11 -0
- package/dist/utils/baseClass/baseService.js.map +1 -0
- package/dist/utils/commonUtils/appConfigKeyRetriever.d.ts +7 -0
- package/dist/utils/commonUtils/appConfigKeyRetriever.js +43 -0
- package/dist/utils/commonUtils/appConfigKeyRetriever.js.map +1 -0
- package/dist/utils/commonUtils/appUtils.d.ts +41 -0
- package/dist/utils/commonUtils/appUtils.js +236 -0
- package/dist/utils/commonUtils/appUtils.js.map +1 -0
- package/dist/utils/commonUtils/cronUtils.d.ts +9 -0
- package/dist/utils/commonUtils/cronUtils.js +32 -0
- package/dist/utils/commonUtils/cronUtils.js.map +1 -0
- package/dist/utils/commonUtils/index.d.ts +6 -0
- package/dist/utils/commonUtils/index.js +23 -0
- package/dist/utils/commonUtils/index.js.map +1 -0
- package/dist/utils/commonUtils/jwtUtils.d.ts +3 -0
- package/dist/utils/commonUtils/jwtUtils.js +83 -0
- package/dist/utils/commonUtils/jwtUtils.js.map +1 -0
- package/dist/utils/commonUtils/responseUtils.d.ts +7 -0
- package/dist/utils/commonUtils/responseUtils.js +131 -0
- package/dist/utils/commonUtils/responseUtils.js.map +1 -0
- package/dist/utils/commonUtils/validation.d.ts +6 -0
- package/dist/utils/commonUtils/validation.js +92 -0
- package/dist/utils/commonUtils/validation.js.map +1 -0
- package/dist/utils/documentation/swagger.d.ts +1 -0
- package/dist/utils/documentation/swagger.js +44 -0
- package/dist/utils/documentation/swagger.js.map +1 -0
- package/dist/utils/index.d.ts +2 -0
- package/dist/utils/index.js +19 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/logger/logger.d.ts +1 -0
- package/dist/utils/logger/logger.js +58 -0
- package/dist/utils/logger/logger.js.map +1 -0
- package/dist/utils/logger/morganLogger.d.ts +2 -0
- package/dist/utils/logger/morganLogger.js +41 -0
- package/dist/utils/logger/morganLogger.js.map +1 -0
- package/dist/utils/middleware/handleError.d.ts +2 -0
- package/dist/utils/middleware/handleError.js +12 -0
- package/dist/utils/middleware/handleError.js.map +1 -0
- package/dist/utils/middleware/isPublicUser.d.ts +2 -0
- package/dist/utils/middleware/isPublicUser.js +35 -0
- package/dist/utils/middleware/isPublicUser.js.map +1 -0
- package/dist/utils/middleware/loadConfig.d.ts +128 -0
- package/dist/utils/middleware/loadConfig.js +143 -0
- package/dist/utils/middleware/loadConfig.js.map +1 -0
- package/dist/utils/middleware/overwriteConst.d.ts +1 -0
- package/dist/utils/middleware/overwriteConst.js +84 -0
- package/dist/utils/middleware/overwriteConst.js.map +1 -0
- package/dist/utils/monitoring/apm.d.ts +6 -0
- package/dist/utils/monitoring/apm.js +99 -0
- package/dist/utils/monitoring/apm.js.map +1 -0
- package/package.json +3 -5
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.isValidDate = exports.isEmailList = exports.isEmail = exports.isGuids = exports.isGuid = exports.isEmptyString = void 0;
|
|
16
|
+
const moment_1 = __importDefault(require("moment"));
|
|
17
|
+
function isEmptyString(str) {
|
|
18
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
19
|
+
return (!str || str == undefined || str.trim() == "" || str.trim().length == 0);
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
exports.isEmptyString = isEmptyString;
|
|
23
|
+
function isGuid(guid) {
|
|
24
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
25
|
+
if (guid) {
|
|
26
|
+
var regexGuid = /^(\{){0,1}[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}(\}){0,1}$/gi;
|
|
27
|
+
return regexGuid.test(guid);
|
|
28
|
+
}
|
|
29
|
+
return false;
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
exports.isGuid = isGuid;
|
|
33
|
+
function isGuids(guids) {
|
|
34
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
35
|
+
if ((!guids || guids.length <= 0) || !Array.isArray(guids)) {
|
|
36
|
+
return false;
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
for (let guid of guids) {
|
|
40
|
+
if ((yield isEmptyString(guid)) || !(yield isGuid(guid))) {
|
|
41
|
+
return false;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
return true;
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
exports.isGuids = isGuids;
|
|
49
|
+
function isEmail(email) {
|
|
50
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
51
|
+
let regexp = new RegExp(/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/);
|
|
52
|
+
return regexp.test(email);
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
exports.isEmail = isEmail;
|
|
56
|
+
function isEmailList(emails) {
|
|
57
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
58
|
+
if (Array.isArray(emails) && emails.length > 0) {
|
|
59
|
+
for (let email of emails) {
|
|
60
|
+
if (!(yield isEmail(email))) {
|
|
61
|
+
return false;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
return false;
|
|
67
|
+
}
|
|
68
|
+
return true;
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
exports.isEmailList = isEmailList;
|
|
72
|
+
function isValidDate(date, notNull = true) {
|
|
73
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
74
|
+
let result = false;
|
|
75
|
+
if (notNull) {
|
|
76
|
+
if (!(yield isEmptyString(date)) && (0, moment_1.default)(date).isValid()) {
|
|
77
|
+
result = true;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
else {
|
|
81
|
+
if (yield isEmptyString(date)) {
|
|
82
|
+
result = true;
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
result = (0, moment_1.default)(date).isValid();
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
return result;
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
exports.isValidDate = isValidDate;
|
|
92
|
+
//# sourceMappingURL=validation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../src/utils/commonUtils/validation.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,oDAA4B;AAE5B,SAAsB,aAAa,CAAC,GAAQ;;QACxC,OAAO,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,SAAS,IAAI,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;IACpF,CAAC;CAAA;AAFD,sCAEC;AAED,SAAsB,MAAM,CAAC,IAAY;;QACrC,IAAI,IAAI,EAAE,CAAC;YACP,IAAI,SAAS,GAAG,uGAAuG,CAAC;YACxH,OAAO,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;CAAA;AAND,wBAMC;AAED,SAAsB,OAAO,CAAC,KAAe;;QACzC,IAAI,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACzD,OAAO,KAAK,CAAC;QACjB,CAAC;aAAM,CAAC;YACJ,KAAK,IAAI,IAAI,IAAI,KAAK,EAAE,CAAC;gBACrB,IAAI,CAAA,MAAM,aAAa,CAAC,IAAI,CAAC,KAAI,CAAC,CAAA,MAAM,MAAM,CAAC,IAAI,CAAC,CAAA,EAAE,CAAC;oBACnD,OAAO,KAAK,CAAC;gBACjB,CAAC;YACL,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;CAAA;AAZD,0BAYC;AAED,SAAsB,OAAO,CAAC,KAAa;;QACvC,IAAI,MAAM,GAAG,IAAI,MAAM,CAAC,wJAAwJ,CAAC,CAAC;QAClL,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;CAAA;AAHD,0BAGC;AAED,SAAsB,WAAW,CAAC,MAAgB;;QAC9C,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7C,KAAK,IAAI,KAAK,IAAI,MAAM,EAAE,CAAC;gBACvB,IAAI,CAAC,CAAA,MAAM,OAAO,CAAC,KAAK,CAAC,CAAA,EAAE,CAAC;oBACxB,OAAO,KAAK,CAAC;gBACjB,CAAC;YACL,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;CAAA;AAXD,kCAWC;AAED,SAAsB,WAAW,CAAC,IAAY,EAAE,UAAmB,IAAI;;QACnE,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,IAAI,OAAO,EAAE,CAAC;YACV,IAAI,CAAC,CAAA,MAAM,aAAa,CAAC,IAAI,CAAC,CAAA,IAAI,IAAA,gBAAM,EAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;gBACvD,MAAM,GAAG,IAAI,CAAC;YAClB,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,IAAI,MAAM,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC5B,MAAM,GAAG,IAAI,CAAC;YAClB,CAAC;iBAAM,CAAC;gBACJ,MAAM,GAAG,IAAA,gBAAM,EAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;YACpC,CAAC;QACL,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;CAAA;AAdD,kCAcC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const swaggerSpec: object;
|
|
@@ -0,0 +1,44 @@
|
|
|
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
|
+
exports.swaggerSpec = void 0;
|
|
7
|
+
const swagger_jsdoc_1 = __importDefault(require("swagger-jsdoc"));
|
|
8
|
+
const appConfig_1 = require("../appConfig");
|
|
9
|
+
// swagger definition
|
|
10
|
+
let swaggerDefinition = {
|
|
11
|
+
openapi: '3.0.0',
|
|
12
|
+
info: appConfig_1.commonAppConfig.Swagger,
|
|
13
|
+
servers: [{ url: appConfig_1.commonAppConfig.SwaggerServerUrl }],
|
|
14
|
+
components: {
|
|
15
|
+
securitySchemes: {
|
|
16
|
+
"xApiKey": {
|
|
17
|
+
type: "apiKey",
|
|
18
|
+
name: "x-api-key",
|
|
19
|
+
in: "header"
|
|
20
|
+
},
|
|
21
|
+
"bearerAuth": {
|
|
22
|
+
type: "http",
|
|
23
|
+
name: "JWT Token",
|
|
24
|
+
scheme: "bearer",
|
|
25
|
+
in: "header"
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
security: [
|
|
30
|
+
{
|
|
31
|
+
"xApiKey": ['read', 'write'],
|
|
32
|
+
"bearerAuth": ['read', 'write']
|
|
33
|
+
}
|
|
34
|
+
],
|
|
35
|
+
};
|
|
36
|
+
// options for the swagger docs
|
|
37
|
+
let options = {
|
|
38
|
+
// import swaggerDefinitions
|
|
39
|
+
swaggerDefinition: swaggerDefinition,
|
|
40
|
+
// path to the API docs
|
|
41
|
+
apis: [__dirname + '/../../../../../src/controllers/**/*.ts', __dirname + '/../../../../../src/models/*.ts', __dirname + '/../../../../../src/routes/*.ts'],
|
|
42
|
+
};
|
|
43
|
+
exports.swaggerSpec = (0, swagger_jsdoc_1.default)(options);
|
|
44
|
+
//# sourceMappingURL=swagger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"swagger.js","sourceRoot":"","sources":["../../../src/utils/documentation/swagger.ts"],"names":[],"mappings":";;;;;;AAAA,kEAAyC;AACzC,4CAA+C;AAE/C,qBAAqB;AACrB,IAAI,iBAAiB,GAAG;IACpB,OAAO,EAAE,OAAO;IAChB,IAAI,EAAE,2BAAe,CAAC,OAAO;IAC7B,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,2BAAe,CAAC,gBAAgB,EAAE,CAAC;IACpD,UAAU,EAAE;QACR,eAAe,EAAE;YACb,SAAS,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,WAAW;gBACjB,EAAE,EAAE,QAAQ;aACf;YACD,YAAY,EAAE;gBACV,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,WAAW;gBACjB,MAAM,EAAE,QAAQ;gBAChB,EAAE,EAAE,QAAQ;aACf;SACJ;KACJ;IACD,QAAQ,EAAE;QACN;YACI,SAAS,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;YAC5B,YAAY,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;SAClC;KACJ;CACJ,CAAC;AAEF,+BAA+B;AAC/B,IAAI,OAAO,GAAG;IACV,4BAA4B;IAC5B,iBAAiB,EAAE,iBAAiB;IACpC,uBAAuB;IACvB,IAAI,EAAE,CAAC,SAAS,GAAG,yCAAyC,EAAE,SAAS,GAAG,iCAAiC,EAAE,SAAS,GAAG,iCAAiC,CAAC;CAC9J,CAAC;AAEW,QAAA,WAAW,GAAG,IAAA,uBAAY,EAAC,OAAO,CAAC,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./appConfig"), exports);
|
|
18
|
+
__exportStar(require("./appConst"), exports);
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,6CAA2B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const logger: import("winston").Logger;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
3
|
+
var t = {};
|
|
4
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
5
|
+
t[p] = s[p];
|
|
6
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
7
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
8
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
9
|
+
t[p[i]] = s[p[i]];
|
|
10
|
+
}
|
|
11
|
+
return t;
|
|
12
|
+
};
|
|
13
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.logger = void 0;
|
|
18
|
+
const winston_1 = require("winston");
|
|
19
|
+
const winston_daily_rotate_file_1 = __importDefault(require("winston-daily-rotate-file"));
|
|
20
|
+
const appConfig_1 = require("../appConfig");
|
|
21
|
+
exports.logger = (0, winston_1.createLogger)({
|
|
22
|
+
defaultMeta: {
|
|
23
|
+
service: appConfig_1.commonAppConfig.AppName
|
|
24
|
+
},
|
|
25
|
+
exitOnError: false,
|
|
26
|
+
transports: [
|
|
27
|
+
new winston_daily_rotate_file_1.default({
|
|
28
|
+
filename: appConfig_1.commonAppConfig.LogPath + 'backend-combined-%DATE%.log',
|
|
29
|
+
datePattern: 'YYYY-MM-DD',
|
|
30
|
+
format: winston_1.format.combine(winston_1.format.json(), winston_1.format.timestamp(), winston_1.format.printf((_a) => {
|
|
31
|
+
var { timestamp, level, message } = _a, metadata = __rest(_a, ["timestamp", "level", "message"]);
|
|
32
|
+
return JSON.stringify(Object.assign({ timestamp,
|
|
33
|
+
level,
|
|
34
|
+
message }, (metadata || {})));
|
|
35
|
+
}))
|
|
36
|
+
}),
|
|
37
|
+
new winston_daily_rotate_file_1.default({
|
|
38
|
+
filename: appConfig_1.commonAppConfig.LogPath + 'backend-error-%DATE%.log',
|
|
39
|
+
level: 'error',
|
|
40
|
+
datePattern: 'YYYY-MM-DD',
|
|
41
|
+
format: winston_1.format.combine(winston_1.format.json(), winston_1.format.timestamp(), winston_1.format.printf((_a) => {
|
|
42
|
+
var { timestamp, level, message } = _a, metadata = __rest(_a, ["timestamp", "level", "message"]);
|
|
43
|
+
return JSON.stringify(Object.assign({ timestamp,
|
|
44
|
+
level,
|
|
45
|
+
message }, (metadata || {})));
|
|
46
|
+
}))
|
|
47
|
+
})
|
|
48
|
+
],
|
|
49
|
+
format: winston_1.format.combine(winston_1.format.timestamp())
|
|
50
|
+
});
|
|
51
|
+
exports.logger.add(new winston_1.transports.Console({
|
|
52
|
+
format: winston_1.format.combine(winston_1.format.json(), winston_1.format.metadata(), winston_1.format.timestamp(), winston_1.format.printf(({ timestamp, level, message, metadata }) => {
|
|
53
|
+
return JSON.stringify(Object.assign({ timestamp,
|
|
54
|
+
level,
|
|
55
|
+
message }, (metadata || {})));
|
|
56
|
+
}))
|
|
57
|
+
}));
|
|
58
|
+
//# sourceMappingURL=logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/utils/logger/logger.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,qCAAyD;AACzD,0FAAwD;AACxD,4CAA6C;AAEhC,QAAA,MAAM,GAAG,IAAA,sBAAY,EAAC;IACjC,WAAW,EAAE;QACT,OAAO,EAAE,2BAAe,CAAC,OAAO;KACnC;IACD,WAAW,EAAE,KAAK;IAClB,UAAU,EAAE;QACR,IAAI,mCAAe,CAAC;YAChB,QAAQ,EAAE,2BAAe,CAAC,OAAO,GAAG,6BAA6B;YACjE,WAAW,EAAE,YAAY;YACzB,MAAM,EAAE,gBAAM,CAAC,OAAO,CAClB,gBAAM,CAAC,IAAI,EAAE,EACb,gBAAM,CAAC,SAAS,EAAE,EAClB,gBAAM,CAAC,MAAM,CAAC,CAAC,EAA0C,EAAE,EAAE;oBAA9C,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,OAAe,EAAV,QAAQ,cAAxC,iCAA0C,CAAF;gBACnD,OAAO,IAAI,CAAC,SAAS,iBACjB,SAAS;oBACT,KAAK;oBACL,OAAO,IACJ,CAAC,QAAQ,IAAI,EAAE,CAAC,EACrB,CAAC;YACP,CAAC,CAAC,CACL;SACJ,CAAC;QACF,IAAI,mCAAe,CAAC;YAClB,QAAQ,EAAE,2BAAe,CAAC,OAAO,GAAG,0BAA0B;YAC9D,KAAK,EAAE,OAAO;YACd,WAAW,EAAE,YAAY;YACzB,MAAM,EAAE,gBAAM,CAAC,OAAO,CAClB,gBAAM,CAAC,IAAI,EAAE,EACb,gBAAM,CAAC,SAAS,EAAE,EAClB,gBAAM,CAAC,MAAM,CAAC,CAAC,EAA0C,EAAE,EAAE;oBAA9C,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,OAAe,EAAV,QAAQ,cAAxC,iCAA0C,CAAF;gBACnD,OAAO,IAAI,CAAC,SAAS,iBACjB,SAAS;oBACT,KAAK;oBACL,OAAO,IACJ,CAAC,QAAQ,IAAI,EAAE,CAAC,EACrB,CAAC;YACP,CAAC,CAAC,CACL;SACJ,CAAC;KACH;IACD,MAAM,EAAE,gBAAM,CAAC,OAAO,CAAC,gBAAM,CAAC,SAAS,EAAE,CAAC;CAC3C,CAAC,CAAC;AAGH,cAAM,CAAC,GAAG,CACN,IAAI,oBAAU,CAAC,OAAO,CAAC;IACnB,MAAM,EAAE,gBAAM,CAAC,OAAO,CAClB,gBAAM,CAAC,IAAI,EAAE,EACb,gBAAM,CAAC,QAAQ,EAAE,EACjB,gBAAM,CAAC,SAAS,EAAE,EAClB,gBAAM,CAAC,MAAM,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE;QACtD,OAAO,IAAI,CAAC,SAAS,iBACjB,SAAS;YACT,KAAK;YACL,OAAO,IACJ,CAAC,QAAQ,IAAI,EAAE,CAAC,EACrB,CAAC;IACP,CAAC,CAAC,CACL;CACJ,CAAC,CACL,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
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
|
+
exports.morganConsole = exports.morganFile = void 0;
|
|
7
|
+
const fs_1 = __importDefault(require("fs"));
|
|
8
|
+
const morgan_1 = __importDefault(require("morgan"));
|
|
9
|
+
const rotating_file_stream_1 = __importDefault(require("rotating-file-stream"));
|
|
10
|
+
const appConfig_1 = require("../appConfig");
|
|
11
|
+
const dateformat_1 = __importDefault(require("dateformat"));
|
|
12
|
+
// ensure log directory exists
|
|
13
|
+
fs_1.default.existsSync(appConfig_1.commonAppConfig.LogPath) || fs_1.default.mkdirSync(appConfig_1.commonAppConfig.LogPath);
|
|
14
|
+
const FileNameGenerator = (time, index) => {
|
|
15
|
+
if (!time) {
|
|
16
|
+
time = new Date();
|
|
17
|
+
}
|
|
18
|
+
let indexStr = index ? ("-" + JSON.stringify(index)) : "";
|
|
19
|
+
return `backend-access-${(0, dateformat_1.default)(time, 'yyyy-mm-dd')}${indexStr}.log`;
|
|
20
|
+
};
|
|
21
|
+
// create a rotating write stream
|
|
22
|
+
var accessLogStream = rotating_file_stream_1.default.createStream(FileNameGenerator, {
|
|
23
|
+
interval: '1d', // rotate daily
|
|
24
|
+
path: appConfig_1.commonAppConfig.LogPath
|
|
25
|
+
});
|
|
26
|
+
const jsonFormat = function (tokens, req, res) {
|
|
27
|
+
return JSON.stringify({
|
|
28
|
+
"method": tokens.method(req, res),
|
|
29
|
+
"url": tokens.url(req, res),
|
|
30
|
+
"status": tokens.status(req, res),
|
|
31
|
+
"contentLength": tokens.res(req, res, 'content-length'),
|
|
32
|
+
"responseTime": tokens['response-time'](req, res) + 'ms',
|
|
33
|
+
"totalTime": tokens['total-time'](req, res) + 'ms',
|
|
34
|
+
"httpVersion": tokens['http-version'](req, res),
|
|
35
|
+
"service": appConfig_1.commonAppConfig.AppName
|
|
36
|
+
});
|
|
37
|
+
};
|
|
38
|
+
// setup the logger
|
|
39
|
+
exports.morganFile = (0, morgan_1.default)(jsonFormat, { stream: accessLogStream, });
|
|
40
|
+
exports.morganConsole = (0, morgan_1.default)(jsonFormat);
|
|
41
|
+
//# sourceMappingURL=morganLogger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"morganLogger.js","sourceRoot":"","sources":["../../../src/utils/logger/morganLogger.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAoB;AACpB,oDAA4B;AAC5B,gFAAuC;AACvC,4CAA6C;AAC7C,4DAAoC;AAEpC,8BAA8B;AAC9B,YAAE,CAAC,UAAU,CAAC,2BAAe,CAAC,OAAO,CAAC,IAAI,YAAE,CAAC,SAAS,CAAC,2BAAe,CAAC,OAAO,CAAC,CAAA;AAE/E,MAAM,iBAAiB,GAAG,CAAC,IAAmB,EAAE,KAAa,EAAE,EAAE;IAC7D,IAAI,CAAC,IAAI,EACT,CAAC;QACG,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;IACtB,CAAC;IACD,IAAI,QAAQ,GAAa,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAA,CAAC,CAAC,EAAE,CAAC;IACnE,OAAO,kBAAkB,IAAA,oBAAU,EAAC,IAAI,EAAC,YAAY,CAAC,GAAG,QAAQ,MAAM,CAAC;AAE5E,CAAC,CAAA;AAED,iCAAiC;AACjC,IAAI,eAAe,GAAG,8BAAG,CAAC,YAAY,CAAC,iBAAiB,EAAE;IACxD,QAAQ,EAAE,IAAI,EAAE,eAAe;IAC/B,IAAI,EAAE,2BAAe,CAAC,OAAO;CAC9B,CAAC,CAAA;AAGF,MAAM,UAAU,GAAG,UAAU,MAAW,EAAE,GAAQ,EAAE,GAAQ;IAC1D,OAAO,IAAI,CAAC,SAAS,CAAC;QACpB,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC;QACjC,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC;QAC3B,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC;QACjC,eAAe,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,gBAAgB,CAAC;QACvD,cAAc,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI;QACxD,WAAW,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI;QAClD,aAAa,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC;QAC/C,SAAS,EAAE,2BAAe,CAAC,OAAO;KACnC,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,mBAAmB;AACN,QAAA,UAAU,GAAG,IAAA,gBAAM,EAAC,UAAU,EAAE,EAAE,MAAM,EAAE,eAAe,GAAG,CAAC,CAAA;AAE7D,QAAA,aAAa,GAAI,IAAA,gBAAM,EAAC,UAAU,CAAC,CAAA"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.handleError = void 0;
|
|
4
|
+
const logger_1 = require("../logger/logger");
|
|
5
|
+
const responseUtils_1 = require("../commonUtils/responseUtils");
|
|
6
|
+
function handleError(err, req, res, next) {
|
|
7
|
+
logger_1.logger.error('ErrorHandler: Request error message: ' + err.message);
|
|
8
|
+
logger_1.logger.error('ErrorHandler: Request error stack: ' + err.stack);
|
|
9
|
+
(0, responseUtils_1.failResponse)(res, err.message, 500);
|
|
10
|
+
}
|
|
11
|
+
exports.handleError = handleError;
|
|
12
|
+
//# sourceMappingURL=handleError.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handleError.js","sourceRoot":"","sources":["../../../src/utils/middleware/handleError.ts"],"names":[],"mappings":";;;AACA,6CAA0C;AAC1C,gEAA4D;AAE5D,SAAgB,WAAW,CAAC,GAAU,EAAE,GAAY,EAAE,GAAa,EAAE,IAAkB;IACnF,eAAM,CAAC,KAAK,CAAC,uCAAuC,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC;IACpE,eAAM,CAAC,KAAK,CAAC,qCAAqC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;IAChE,IAAA,4BAAY,EAAC,GAAG,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;AACxC,CAAC;AAJD,kCAIC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isPublicUser = void 0;
|
|
4
|
+
const logger_1 = require("../logger/logger");
|
|
5
|
+
const commonUtils_1 = require("../commonUtils");
|
|
6
|
+
function isPublicUser(req, res, next) {
|
|
7
|
+
logger_1.logger.info(`start isPublicUser`);
|
|
8
|
+
let userInfo = (0, commonUtils_1.getUserInfo)(res);
|
|
9
|
+
const url = req.url.toLowerCase();
|
|
10
|
+
let isPublicUser = null;
|
|
11
|
+
if (url.includes("/public/")) {
|
|
12
|
+
isPublicUser = true;
|
|
13
|
+
}
|
|
14
|
+
else if (url.includes("/internal/")) {
|
|
15
|
+
isPublicUser = false;
|
|
16
|
+
}
|
|
17
|
+
if (isPublicUser === null || userInfo === undefined || !userInfo.isPublicUser || isPublicUser) {
|
|
18
|
+
req.body.isPublicUser = isPublicUser;
|
|
19
|
+
logger_1.logger.info(`end isPublicUser : ${isPublicUser}`);
|
|
20
|
+
return next();
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
logger_1.logger.error(`Unauthorized: No Permit for this request ${url} ; isPublicUser: ${isPublicUser} ; userInfo.isPublicUser : ${userInfo.isPublicUser}`);
|
|
24
|
+
return res.sendStatus(401);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
exports.isPublicUser = isPublicUser;
|
|
28
|
+
//userInfo.isPublicUser isPublicUser Can Access
|
|
29
|
+
// true true true
|
|
30
|
+
// true false false
|
|
31
|
+
// true null true
|
|
32
|
+
// false true true
|
|
33
|
+
// false false true
|
|
34
|
+
// false null true
|
|
35
|
+
//# sourceMappingURL=isPublicUser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isPublicUser.js","sourceRoot":"","sources":["../../../src/utils/middleware/isPublicUser.ts"],"names":[],"mappings":";;;AACA,6CAA0C;AAE1C,gDAA6C;AAC7C,SAAgB,YAAY,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB;IACxE,eAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAClC,IAAI,QAAQ,GAAa,IAAA,yBAAW,EAAC,GAAG,CAAC,CAAC;IAC1C,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;IAClC,IAAI,YAAY,GAAY,IAAI,CAAC;IACjC,IAAG,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QAC1B,YAAY,GAAG,IAAI,CAAA;IACvB,CAAC;SAAM,IAAG,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;QACnC,YAAY,GAAG,KAAK,CAAA;IACxB,CAAC;IAED,IAAI,YAAY,KAAK,IAAI,IAAI,QAAQ,KAAK,SAAS,IAAI,CAAC,QAAQ,CAAC,YAAY,IAAI,YAAY,EAAE,CAAC;QAC5F,GAAG,CAAC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QAErC,eAAM,CAAC,IAAI,CAAC,sBAAsB,YAAY,EAAE,CAAC,CAAC;QAClD,OAAO,IAAI,EAAE,CAAC;IAClB,CAAC;SACI,CAAC;QACF,eAAM,CAAC,KAAK,CAAC,4CAA4C,GAAG,oBAAoB,YAAY,8BAA8B,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC;QACnJ,OAAO,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;AACL,CAAC;AArBD,oCAqBC;AAED,yDAAyD;AACzD,sDAAsD;AACtD,uDAAuD;AACvD,sDAAsD;AACtD,sDAAsD;AACtD,sDAAsD;AACtD,sDAAsD"}
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { Environment } from '../appConst';
|
|
3
|
+
/**
|
|
4
|
+
* @description
|
|
5
|
+
* @property {string} appName - service's app name from package.json
|
|
6
|
+
* @property {string} version - service's version from package.json
|
|
7
|
+
* @property {enum} environment - current environment
|
|
8
|
+
* @property {string} keyVaultName - Azure key vault name
|
|
9
|
+
* @property {string} keyVaultSecretName - secret name of Azure key vault
|
|
10
|
+
* @todo migration to single typedef
|
|
11
|
+
*/
|
|
12
|
+
declare const zEnvFileAppConfig: z.ZodObject<{
|
|
13
|
+
appName: z.ZodString;
|
|
14
|
+
version: z.ZodString;
|
|
15
|
+
environment: z.ZodEnum<["test", "dev", "development", "preview", "staging", "beta", "production"]>;
|
|
16
|
+
keyVaultName: z.ZodString;
|
|
17
|
+
keyVaultSecretName: z.ZodString;
|
|
18
|
+
}, "strict", z.ZodTypeAny, {
|
|
19
|
+
appName?: string;
|
|
20
|
+
version?: string;
|
|
21
|
+
environment?: "dev" | "development" | "test" | "preview" | "staging" | "beta" | "production";
|
|
22
|
+
keyVaultName?: string;
|
|
23
|
+
keyVaultSecretName?: string;
|
|
24
|
+
}, {
|
|
25
|
+
appName?: string;
|
|
26
|
+
version?: string;
|
|
27
|
+
environment?: "dev" | "development" | "test" | "preview" | "staging" | "beta" | "production";
|
|
28
|
+
keyVaultName?: string;
|
|
29
|
+
keyVaultSecretName?: string;
|
|
30
|
+
}>;
|
|
31
|
+
/**
|
|
32
|
+
* @description typedef of environment File App Config
|
|
33
|
+
*/
|
|
34
|
+
type EnvFileAppConfig = z.infer<typeof zEnvFileAppConfig>;
|
|
35
|
+
/**
|
|
36
|
+
* @todo migration to single typedef
|
|
37
|
+
*/
|
|
38
|
+
declare const zSecretFileAppConfig: z.ZodObject<{
|
|
39
|
+
telemetry: z.ZodObject<{
|
|
40
|
+
teamsChannelWebHook: z.ZodObject<{
|
|
41
|
+
errorChannel: z.ZodString;
|
|
42
|
+
warnChannel: z.ZodString;
|
|
43
|
+
}, "strip", z.ZodTypeAny, {
|
|
44
|
+
errorChannel?: string;
|
|
45
|
+
warnChannel?: string;
|
|
46
|
+
}, {
|
|
47
|
+
errorChannel?: string;
|
|
48
|
+
warnChannel?: string;
|
|
49
|
+
}>;
|
|
50
|
+
elasticKeyVault: z.ZodObject<{
|
|
51
|
+
secretToken: z.ZodString;
|
|
52
|
+
serverUrl: z.ZodString;
|
|
53
|
+
}, "strip", z.ZodTypeAny, {
|
|
54
|
+
secretToken?: string;
|
|
55
|
+
serverUrl?: string;
|
|
56
|
+
}, {
|
|
57
|
+
secretToken?: string;
|
|
58
|
+
serverUrl?: string;
|
|
59
|
+
}>;
|
|
60
|
+
}, "strip", z.ZodTypeAny, {
|
|
61
|
+
teamsChannelWebHook?: {
|
|
62
|
+
errorChannel?: string;
|
|
63
|
+
warnChannel?: string;
|
|
64
|
+
};
|
|
65
|
+
elasticKeyVault?: {
|
|
66
|
+
secretToken?: string;
|
|
67
|
+
serverUrl?: string;
|
|
68
|
+
};
|
|
69
|
+
}, {
|
|
70
|
+
teamsChannelWebHook?: {
|
|
71
|
+
errorChannel?: string;
|
|
72
|
+
warnChannel?: string;
|
|
73
|
+
};
|
|
74
|
+
elasticKeyVault?: {
|
|
75
|
+
secretToken?: string;
|
|
76
|
+
serverUrl?: string;
|
|
77
|
+
};
|
|
78
|
+
}>;
|
|
79
|
+
serviceConfig: z.ZodNullable<z.ZodAny>;
|
|
80
|
+
}, "strip", z.ZodTypeAny, {
|
|
81
|
+
telemetry?: {
|
|
82
|
+
teamsChannelWebHook?: {
|
|
83
|
+
errorChannel?: string;
|
|
84
|
+
warnChannel?: string;
|
|
85
|
+
};
|
|
86
|
+
elasticKeyVault?: {
|
|
87
|
+
secretToken?: string;
|
|
88
|
+
serverUrl?: string;
|
|
89
|
+
};
|
|
90
|
+
};
|
|
91
|
+
serviceConfig?: any;
|
|
92
|
+
}, {
|
|
93
|
+
telemetry?: {
|
|
94
|
+
teamsChannelWebHook?: {
|
|
95
|
+
errorChannel?: string;
|
|
96
|
+
warnChannel?: string;
|
|
97
|
+
};
|
|
98
|
+
elasticKeyVault?: {
|
|
99
|
+
secretToken?: string;
|
|
100
|
+
serverUrl?: string;
|
|
101
|
+
};
|
|
102
|
+
};
|
|
103
|
+
serviceConfig?: any;
|
|
104
|
+
}>;
|
|
105
|
+
/**
|
|
106
|
+
* @description typedef of secret file
|
|
107
|
+
*/
|
|
108
|
+
type SecretFileAppConfig = z.infer<typeof zSecretFileAppConfig>;
|
|
109
|
+
/**
|
|
110
|
+
* @todo migration to single typedef
|
|
111
|
+
*/
|
|
112
|
+
type AppConfig = EnvFileAppConfig & SecretFileAppConfig;
|
|
113
|
+
/**
|
|
114
|
+
* @description configuration carrier (or, instance). We can classified all the configurations into 2 categories:
|
|
115
|
+
* - Environment File App Config: configuration from the environment file (.env) and some other settings
|
|
116
|
+
* - Secret File App Config: loaded from the Azure Key Vault
|
|
117
|
+
*/
|
|
118
|
+
export declare let appConfig: AppConfig;
|
|
119
|
+
/**
|
|
120
|
+
* @todo move to loadConfig since all the environment fields should be loaded from appConfig
|
|
121
|
+
*/
|
|
122
|
+
export declare const environment: Environment;
|
|
123
|
+
/**
|
|
124
|
+
* @description preload for app configuration, once it is been called, the appConfig will be loaded and be freezed
|
|
125
|
+
* @param packagePath - optional, path of `package.json` in order to load app name and version
|
|
126
|
+
*/
|
|
127
|
+
export declare const loadConfig: (packagePath?: string) => Promise<void>;
|
|
128
|
+
export {};
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
var _a;
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
exports.loadConfig = exports.environment = exports.appConfig = void 0;
|
|
17
|
+
const dotenv_1 = __importDefault(require("dotenv"));
|
|
18
|
+
const lib_1 = require("../../lib");
|
|
19
|
+
const logger_1 = require("../logger/logger");
|
|
20
|
+
const zod_1 = require("zod");
|
|
21
|
+
const appConst_1 = require("../appConst");
|
|
22
|
+
/**
|
|
23
|
+
* @description
|
|
24
|
+
* @property {string} appName - service's app name from package.json
|
|
25
|
+
* @property {string} version - service's version from package.json
|
|
26
|
+
* @property {enum} environment - current environment
|
|
27
|
+
* @property {string} keyVaultName - Azure key vault name
|
|
28
|
+
* @property {string} keyVaultSecretName - secret name of Azure key vault
|
|
29
|
+
* @todo migration to single typedef
|
|
30
|
+
*/
|
|
31
|
+
const zEnvFileAppConfig = zod_1.z.object({
|
|
32
|
+
appName: zod_1.z.string(),
|
|
33
|
+
version: zod_1.z.string(),
|
|
34
|
+
environment: appConst_1.zEnvironment,
|
|
35
|
+
keyVaultName: zod_1.z.string(),
|
|
36
|
+
keyVaultSecretName: zod_1.z.string()
|
|
37
|
+
}).strict();
|
|
38
|
+
/**
|
|
39
|
+
* @todo migration to single typedef
|
|
40
|
+
*/
|
|
41
|
+
const zElasticKeyVault = zod_1.z.object({
|
|
42
|
+
secretToken: zod_1.z.string(),
|
|
43
|
+
serverUrl: zod_1.z.string()
|
|
44
|
+
});
|
|
45
|
+
/**
|
|
46
|
+
* @todo migration to single typedef
|
|
47
|
+
*/
|
|
48
|
+
const zTeamsChannelWebHook = zod_1.z.object({
|
|
49
|
+
errorChannel: zod_1.z.string(),
|
|
50
|
+
warnChannel: zod_1.z.string()
|
|
51
|
+
});
|
|
52
|
+
/**
|
|
53
|
+
* @todo migration to single typedef
|
|
54
|
+
*/
|
|
55
|
+
const zTelemetry = zod_1.z.object({
|
|
56
|
+
teamsChannelWebHook: zTeamsChannelWebHook,
|
|
57
|
+
elasticKeyVault: zElasticKeyVault
|
|
58
|
+
});
|
|
59
|
+
/**
|
|
60
|
+
* @todo migration to single typedef
|
|
61
|
+
*/
|
|
62
|
+
const zSecretFileAppConfig = zod_1.z.object({
|
|
63
|
+
telemetry: zTelemetry,
|
|
64
|
+
serviceConfig: zod_1.z.any().nullable()
|
|
65
|
+
});
|
|
66
|
+
/**
|
|
67
|
+
* @todo move to loadConfig since all the environment fields should be loaded from appConfig
|
|
68
|
+
*/
|
|
69
|
+
exports.environment = (_a = process.env.NODE_ENV) !== null && _a !== void 0 ? _a : 'development';
|
|
70
|
+
/**
|
|
71
|
+
* @description preload for app configuration, once it is been called, the appConfig will be loaded and be freezed
|
|
72
|
+
* @param packagePath - optional, path of `package.json` in order to load app name and version
|
|
73
|
+
*/
|
|
74
|
+
const loadConfig = (packagePath) => __awaiter(void 0, void 0, void 0, function* () {
|
|
75
|
+
logger_1.logger.verbose('start /appConfig/preload()');
|
|
76
|
+
// load environment file
|
|
77
|
+
dotenv_1.default.config({ path: `${exports.environment}.env` });
|
|
78
|
+
/**
|
|
79
|
+
* To load the appName and the version, we read the package information in the following order:
|
|
80
|
+
* 1. check if the environment value is defined directly
|
|
81
|
+
* 2. check if environment given from npm is defined
|
|
82
|
+
* 3. check if value in package.json is defined
|
|
83
|
+
*/
|
|
84
|
+
const pkg = require(packagePath !== null && packagePath !== void 0 ? packagePath : `${process.env.PWD}/package.json`);
|
|
85
|
+
const appName = (() => {
|
|
86
|
+
if (!!process.env.APP_NAME) {
|
|
87
|
+
return process.env.APP_NAME;
|
|
88
|
+
}
|
|
89
|
+
if (!!process.env.npm_package_name) {
|
|
90
|
+
return process.env.npm_package_name;
|
|
91
|
+
}
|
|
92
|
+
if (!!pkg.name) {
|
|
93
|
+
return pkg.name;
|
|
94
|
+
}
|
|
95
|
+
return 'default-app-name';
|
|
96
|
+
})();
|
|
97
|
+
const version = (() => {
|
|
98
|
+
if (!!process.env.VERSION) {
|
|
99
|
+
return process.env.VERSION;
|
|
100
|
+
}
|
|
101
|
+
if (!!process.env.npm_package_version) {
|
|
102
|
+
return process.env.npm_package_version;
|
|
103
|
+
}
|
|
104
|
+
if (!!pkg.version) {
|
|
105
|
+
return pkg.version;
|
|
106
|
+
}
|
|
107
|
+
return '0.0.0';
|
|
108
|
+
})();
|
|
109
|
+
/**
|
|
110
|
+
* check the env which suppose to be hide as possible as it can,
|
|
111
|
+
* which is not allowed to define in-memory.
|
|
112
|
+
*/
|
|
113
|
+
if (process.env.AZURE_TENANT_ID === undefined || process.env.AZURE_CLIENT_ID === undefined || process.env.AZURE_CLIENT_SECRET === undefined) {
|
|
114
|
+
throw new Error('/appConfig/preload: missing Azure configuration');
|
|
115
|
+
}
|
|
116
|
+
const envFileAppConfig = {
|
|
117
|
+
appName,
|
|
118
|
+
version,
|
|
119
|
+
environment: exports.environment,
|
|
120
|
+
keyVaultName: process.env.KEYVAULT_NAME,
|
|
121
|
+
keyVaultSecretName: process.env.LIBRARY_KEY_VAULT_SECRET_NAME
|
|
122
|
+
};
|
|
123
|
+
// check envFileAppConfig
|
|
124
|
+
const envTypeCheck = zEnvFileAppConfig.safeParse(envFileAppConfig);
|
|
125
|
+
if (!envTypeCheck.success) {
|
|
126
|
+
throw new Error('/appConfig/preload: invalid schema of envFileAppConfig');
|
|
127
|
+
}
|
|
128
|
+
// check secretFileAppConfig
|
|
129
|
+
const rawSecretResp = yield (0, lib_1.getKeyVault)(envFileAppConfig.keyVaultName, envFileAppConfig.keyVaultSecretName);
|
|
130
|
+
if (!rawSecretResp.isSuccess) {
|
|
131
|
+
throw new Error(rawSecretResp.message);
|
|
132
|
+
}
|
|
133
|
+
const secretFileAppConfig = rawSecretResp.data;
|
|
134
|
+
const secretFileTypeCheck = zSecretFileAppConfig.safeParse(secretFileAppConfig);
|
|
135
|
+
if (!secretFileTypeCheck.success) {
|
|
136
|
+
throw new Error('/appConfig/preload: invalid schema of secretFileAppConfig');
|
|
137
|
+
}
|
|
138
|
+
exports.appConfig = Object.assign(Object.assign({}, envFileAppConfig), secretFileAppConfig);
|
|
139
|
+
Object.freeze(exports.appConfig);
|
|
140
|
+
logger_1.logger.verbose('end /appConfig/preload()');
|
|
141
|
+
});
|
|
142
|
+
exports.loadConfig = loadConfig;
|
|
143
|
+
//# sourceMappingURL=loadConfig.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loadConfig.js","sourceRoot":"","sources":["../../../src/utils/middleware/loadConfig.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function overwriteConst(containerName: string, blobName: string, connectionKey: string): Promise<any>;
|