@culturefy/shared 1.0.73 → 1.0.75
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/build/cjs/enums/secretKeys.enum.js +2 -0
- package/build/cjs/enums/secretKeys.enum.js.map +1 -1
- package/build/cjs/utils/index.js +6 -0
- package/build/cjs/utils/index.js.map +1 -1
- package/build/cjs/utils/secrets.js +17 -0
- package/build/cjs/utils/secrets.js.map +1 -1
- package/build/cjs/utils/service-bus-queue.js +31 -0
- package/build/cjs/utils/service-bus-queue.js.map +1 -0
- package/build/esm/enums/secretKeys.enum.js +2 -0
- package/build/esm/enums/secretKeys.enum.js.map +1 -1
- package/build/esm/utils/index.js +1 -0
- package/build/esm/utils/index.js.map +1 -1
- package/build/esm/utils/secrets.js +16 -0
- package/build/esm/utils/secrets.js.map +1 -1
- package/build/esm/utils/service-bus-queue.js +27 -0
- package/build/esm/utils/service-bus-queue.js.map +1 -0
- package/build/src/enums/secretKeys.enum.d.ts +2 -0
- package/build/src/enums/secretKeys.enum.js +2 -0
- package/build/src/enums/secretKeys.enum.js.map +1 -1
- package/build/src/utils/index.d.ts +1 -0
- package/build/src/utils/index.js +1 -0
- package/build/src/utils/index.js.map +1 -1
- package/build/src/utils/secrets.d.ts +1 -0
- package/build/src/utils/secrets.js +19 -0
- package/build/src/utils/secrets.js.map +1 -1
- package/build/src/utils/service-bus-queue.d.ts +13 -0
- package/build/src/utils/service-bus-queue.js +33 -0
- package/build/src/utils/service-bus-queue.js.map +1 -0
- package/package.json +2 -1
|
@@ -42,6 +42,8 @@ let AzureSecretKeysEnum = exports.AzureSecretKeysEnum = /*#__PURE__*/function (A
|
|
|
42
42
|
AzureSecretKeysEnum["GITHUB_TOKEN"] = "GITHUB-TOKEN";
|
|
43
43
|
AzureSecretKeysEnum["GITHUB_WORKFLOW_URL"] = "GITHUB-WORKFLOW-URL";
|
|
44
44
|
AzureSecretKeysEnum["DB_CONNECTION_STRING_ENCRYPTION_KEY"] = "DB-CONNECTION-STRING-ENCRYPTION-KEY";
|
|
45
|
+
AzureSecretKeysEnum["AGENTS_API_KEY"] = "AGENTS-API-KEY";
|
|
46
|
+
AzureSecretKeysEnum["INTERSERVICES_COMMUNICATION_KEY"] = "INTERSERVICES-COMMUNICATION-KEY";
|
|
45
47
|
AzureSecretKeysEnum["REDIS_HOST"] = "REDIS-HOST";
|
|
46
48
|
AzureSecretKeysEnum["REDIS_KEY"] = "REDIS-KEY";
|
|
47
49
|
AzureSecretKeysEnum["REDIS_URL"] = "REDIS-URL";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"secretKeys.enum.js","names":["AzureSecretKeysEnum","exports"],"sources":["../../../src/enums/secretKeys.enum.ts"],"sourcesContent":["// Enum for secret keys\nexport enum AzureSecretKeysEnum {\n KEYCLOAK_ADMIN_CLIENT_SECRET = \"KEYCLOAK-ADMIN-CLIENT-SECRET\",\n KEYCLOAK_ADMIN_CLIENT_ID = \"KEYCLOAK-ADMIN-CLIENT-ID\",\n KEYCLOAK_BASE_URL = \"KEYCLOAK-BASE-URL\",\n STRIPE_PAYMENT_WEBHOOK_SECRET_KEY = \"Stripe-payment-webhook-secret-key\", // in-use\n STRIPE_PRODUCT_WEBHOOK_SECRET = \"Stripe-product-webhook-secret-key\", // in-use\n STRIPE_PRICE_WEBHOOK_SECRET = \"Stripe-price-webhook-secret-key\", // in-use\n EMAIL_SERVICE_URL = \"Email-Service-Url\", // in-use,\n DB_CONNECTING_STRING_AUTH = \"DB-CONNECTION-STRING-AUTH\",\n DB_CONNECTING_STRING_USER = \"DB-CONNECTION-STRING-USER\",\n DB_CONNECTING_STRING_PAYMENT = \"DB-CONNECTION-STRING-PAYMENT\",\n DB_CONNECTING_STRING_CORE = \"DB-CONNECTION-STRING-CORE\",\n DB_CONNECTING_STRING_BILLING = \"DB-CONNECTION-STRING-BILLING\",\n DB_CONNECTING_STRING_STAGING = \"DB-CONNECTION-STRING-STAGING\",\n DB_CONNECTING_STRING_BNT_DEV = \"DB-CONNECTION-STRING-BNT-DEV\",\n DB_CONNECTION_STRING_TENANT_BRIDGE = \"DB-CONNECTION-STRING-TENANT-BRIDGE\",\n SERVICE_BUS_CONNECTION_STRING = \"servicebus-connection-string\",\n STRIPE_CUSTOMER_SYNC_WEBHOOK_SECRET = \"stripe-customer-sync-webhook-secret-key\",\n STRIPE_INVOICE_SYNC_WEBHOOK_SECRET = \"stripe-invoice-sync-webhook-secret-key\",\n STRIPE_PRODUCT_SYNC_WEBHOOK_SECRET = \"stripe-product-sync-webhook-secret-key\",\n STRIPE_PRICE_SYNC_WEBHOOK_SECRET = \"stripe-price-sync-webhook-secret-key\",\n STRIPE_SECRET_KEY = \"Stripe-secret-key\",\n STRIPE_WEBHOOK_CUSTOMER_CREATED_SECRET_KEY = \"Stripe-Webhook-Customer-Created-Secret-Key\",\n STRIPE_SUBSCRIPTION_SYNC_WEBHOOK_SECRET = \"stripe-subscription-sync-webhook-secret-key\",\n FIREBASE_SERVICE_ACCOUNTS_VARIABLE = \"firebase_service_accounts_variable\",\n HMS_ACCESS_KEY=\"MEETING-HMS-ACCESS-KEY-APP-SECRET\",\n MEETING_ROOM_APP_SECRET=\"MEETING-ROOM-APP-SECRET\",\n BASE_DB_CLUSTER_CONNECTING_STRING_CHAT = \"BASE-DB-CLUSTER-CONNECTING-STRING-CHAT\",\n AUTH_SERVICE_AUTHENTICATION_URL = \"AUTH-SERVICE-AUTHENTICATION-URL\",\n GCP_PROJECT_ID=\"gcp-project-id\",\n PUBSUB_SERVICE_ACCOUNT_KEYS=\"pubsub-service-account-keys\",\n VAPI_TOKEN = \"vapi-token\",\n GITHUB_TOKEN = \"GITHUB-TOKEN\",\n GITHUB_WORKFLOW_URL = \"GITHUB-WORKFLOW-URL\",\n DB_CONNECTION_STRING_ENCRYPTION_KEY = \"DB-CONNECTION-STRING-ENCRYPTION-KEY\",\n\n REDIS_HOST=\"REDIS-HOST\",\n REDIS_KEY=\"REDIS-KEY\",\n REDIS_URL = \"REDIS-URL\",\n REDIS_PORT = \"REDIS-PORT\"\n}\n\n// AUTH-SERVICE-AUTHENTICATION-URL\n// https://culturefy-auth-staging.azurewebsites.net/api/verify\n\n// REFRESH-SESSION-URL"],"mappings":";;;;AAAA;AAAA,IACYA,mBAAmB,GAAAC,OAAA,CAAAD,mBAAA,0BAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAI4C;EAJ/DA,mBAAmB;EAKwC;EAL3DA,mBAAmB;EAMoC;EANvDA,mBAAmB;EAOY;EAP/BA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAA,OAAnBA,mBAAmB;AAAA,
|
|
1
|
+
{"version":3,"file":"secretKeys.enum.js","names":["AzureSecretKeysEnum","exports"],"sources":["../../../src/enums/secretKeys.enum.ts"],"sourcesContent":["// Enum for secret keys\nexport enum AzureSecretKeysEnum {\n KEYCLOAK_ADMIN_CLIENT_SECRET = \"KEYCLOAK-ADMIN-CLIENT-SECRET\",\n KEYCLOAK_ADMIN_CLIENT_ID = \"KEYCLOAK-ADMIN-CLIENT-ID\",\n KEYCLOAK_BASE_URL = \"KEYCLOAK-BASE-URL\",\n STRIPE_PAYMENT_WEBHOOK_SECRET_KEY = \"Stripe-payment-webhook-secret-key\", // in-use\n STRIPE_PRODUCT_WEBHOOK_SECRET = \"Stripe-product-webhook-secret-key\", // in-use\n STRIPE_PRICE_WEBHOOK_SECRET = \"Stripe-price-webhook-secret-key\", // in-use\n EMAIL_SERVICE_URL = \"Email-Service-Url\", // in-use,\n DB_CONNECTING_STRING_AUTH = \"DB-CONNECTION-STRING-AUTH\",\n DB_CONNECTING_STRING_USER = \"DB-CONNECTION-STRING-USER\",\n DB_CONNECTING_STRING_PAYMENT = \"DB-CONNECTION-STRING-PAYMENT\",\n DB_CONNECTING_STRING_CORE = \"DB-CONNECTION-STRING-CORE\",\n DB_CONNECTING_STRING_BILLING = \"DB-CONNECTION-STRING-BILLING\",\n DB_CONNECTING_STRING_STAGING = \"DB-CONNECTION-STRING-STAGING\",\n DB_CONNECTING_STRING_BNT_DEV = \"DB-CONNECTION-STRING-BNT-DEV\",\n DB_CONNECTION_STRING_TENANT_BRIDGE = \"DB-CONNECTION-STRING-TENANT-BRIDGE\",\n SERVICE_BUS_CONNECTION_STRING = \"servicebus-connection-string\",\n STRIPE_CUSTOMER_SYNC_WEBHOOK_SECRET = \"stripe-customer-sync-webhook-secret-key\",\n STRIPE_INVOICE_SYNC_WEBHOOK_SECRET = \"stripe-invoice-sync-webhook-secret-key\",\n STRIPE_PRODUCT_SYNC_WEBHOOK_SECRET = \"stripe-product-sync-webhook-secret-key\",\n STRIPE_PRICE_SYNC_WEBHOOK_SECRET = \"stripe-price-sync-webhook-secret-key\",\n STRIPE_SECRET_KEY = \"Stripe-secret-key\",\n STRIPE_WEBHOOK_CUSTOMER_CREATED_SECRET_KEY = \"Stripe-Webhook-Customer-Created-Secret-Key\",\n STRIPE_SUBSCRIPTION_SYNC_WEBHOOK_SECRET = \"stripe-subscription-sync-webhook-secret-key\",\n FIREBASE_SERVICE_ACCOUNTS_VARIABLE = \"firebase_service_accounts_variable\",\n HMS_ACCESS_KEY=\"MEETING-HMS-ACCESS-KEY-APP-SECRET\",\n MEETING_ROOM_APP_SECRET=\"MEETING-ROOM-APP-SECRET\",\n BASE_DB_CLUSTER_CONNECTING_STRING_CHAT = \"BASE-DB-CLUSTER-CONNECTING-STRING-CHAT\",\n AUTH_SERVICE_AUTHENTICATION_URL = \"AUTH-SERVICE-AUTHENTICATION-URL\",\n GCP_PROJECT_ID=\"gcp-project-id\",\n PUBSUB_SERVICE_ACCOUNT_KEYS=\"pubsub-service-account-keys\",\n VAPI_TOKEN = \"vapi-token\",\n GITHUB_TOKEN = \"GITHUB-TOKEN\",\n GITHUB_WORKFLOW_URL = \"GITHUB-WORKFLOW-URL\",\n DB_CONNECTION_STRING_ENCRYPTION_KEY = \"DB-CONNECTION-STRING-ENCRYPTION-KEY\",\n AGENTS_API_KEY = \"AGENTS-API-KEY\",\n INTERSERVICES_COMMUNICATION_KEY = \"INTERSERVICES-COMMUNICATION-KEY\",\n\n REDIS_HOST=\"REDIS-HOST\",\n REDIS_KEY=\"REDIS-KEY\",\n REDIS_URL = \"REDIS-URL\",\n REDIS_PORT = \"REDIS-PORT\"\n}\n\n// AUTH-SERVICE-AUTHENTICATION-URL\n// https://culturefy-auth-staging.azurewebsites.net/api/verify\n\n// REFRESH-SESSION-URL"],"mappings":";;;;AAAA;AAAA,IACYA,mBAAmB,GAAAC,OAAA,CAAAD,mBAAA,0BAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAI4C;EAJ/DA,mBAAmB;EAKwC;EAL3DA,mBAAmB;EAMoC;EANvDA,mBAAmB;EAOY;EAP/BA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAA,OAAnBA,mBAAmB;AAAA,OA4C/B;AACA;AAEA","ignoreList":[]}
|
package/build/cjs/utils/index.js
CHANGED
|
@@ -43,4 +43,10 @@ Object.keys(_cache).forEach(function (key) {
|
|
|
43
43
|
if (key in exports && exports[key] === _cache[key]) return;
|
|
44
44
|
exports[key] = _cache[key];
|
|
45
45
|
});
|
|
46
|
+
var _serviceBusQueue = require("./service-bus-queue");
|
|
47
|
+
Object.keys(_serviceBusQueue).forEach(function (key) {
|
|
48
|
+
if (key === "default" || key === "__esModule") return;
|
|
49
|
+
if (key in exports && exports[key] === _serviceBusQueue[key]) return;
|
|
50
|
+
exports[key] = _serviceBusQueue[key];
|
|
51
|
+
});
|
|
46
52
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_secrets","require","Object","keys","forEach","key","exports","_response","_initializers","_mapper","_jwt","_middleware","_cache"],"sources":["../../../src/utils/index.ts"],"sourcesContent":["export * from './secrets';\nexport * from './response';\nexport * from './initializers';\nexport * from './mapper';\nexport * from './jwt';\nexport * from './middleware';\nexport * from './cache';\n"],"mappings":";;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,QAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,QAAA,CAAAK,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAL,QAAA,CAAAK,GAAA;AAAA;AACA,IAAAE,SAAA,GAAAN,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAI,SAAA,EAAAH,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAE,SAAA,CAAAF,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAE,SAAA,CAAAF,GAAA;AAAA;AACA,IAAAG,aAAA,GAAAP,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAK,aAAA,EAAAJ,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAG,aAAA,CAAAH,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAG,aAAA,CAAAH,GAAA;AAAA;AACA,IAAAI,OAAA,GAAAR,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAM,OAAA,EAAAL,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAI,OAAA,CAAAJ,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAI,OAAA,CAAAJ,GAAA;AAAA;AACA,IAAAK,IAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,IAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,IAAA,CAAAL,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAK,IAAA,CAAAL,GAAA;AAAA;AACA,IAAAM,WAAA,GAAAV,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAQ,WAAA,EAAAP,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAM,WAAA,CAAAN,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAM,WAAA,CAAAN,GAAA;AAAA;AACA,IAAAO,MAAA,GAAAX,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAS,MAAA,EAAAR,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAO,MAAA,CAAAP,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAO,MAAA,CAAAP,GAAA;AAAA","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["_secrets","require","Object","keys","forEach","key","exports","_response","_initializers","_mapper","_jwt","_middleware","_cache","_serviceBusQueue"],"sources":["../../../src/utils/index.ts"],"sourcesContent":["export * from './secrets';\nexport * from './response';\nexport * from './initializers';\nexport * from './mapper';\nexport * from './jwt';\nexport * from './middleware';\nexport * from './cache';\nexport * from './service-bus-queue';\n"],"mappings":";;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,QAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,QAAA,CAAAK,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAL,QAAA,CAAAK,GAAA;AAAA;AACA,IAAAE,SAAA,GAAAN,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAI,SAAA,EAAAH,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAE,SAAA,CAAAF,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAE,SAAA,CAAAF,GAAA;AAAA;AACA,IAAAG,aAAA,GAAAP,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAK,aAAA,EAAAJ,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAG,aAAA,CAAAH,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAG,aAAA,CAAAH,GAAA;AAAA;AACA,IAAAI,OAAA,GAAAR,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAM,OAAA,EAAAL,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAI,OAAA,CAAAJ,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAI,OAAA,CAAAJ,GAAA;AAAA;AACA,IAAAK,IAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,IAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,IAAA,CAAAL,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAK,IAAA,CAAAL,GAAA;AAAA;AACA,IAAAM,WAAA,GAAAV,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAQ,WAAA,EAAAP,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAM,WAAA,CAAAN,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAM,WAAA,CAAAN,GAAA;AAAA;AACA,IAAAO,MAAA,GAAAX,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAS,MAAA,EAAAR,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAO,MAAA,CAAAP,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAO,MAAA,CAAAP,GAAA;AAAA;AACA,IAAAQ,gBAAA,GAAAZ,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAU,gBAAA,EAAAT,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAQ,gBAAA,CAAAR,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAQ,gBAAA,CAAAR,GAAA;AAAA","ignoreList":[]}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
exports.__esModule = true;
|
|
4
4
|
exports.getAzureVaultSecretByKey = getAzureVaultSecretByKey;
|
|
5
|
+
exports.getInterservicesCommunicationKey = getInterservicesCommunicationKey;
|
|
5
6
|
var _identity = require("@azure/identity");
|
|
6
7
|
var _keyvaultSecrets = require("@azure/keyvault-secrets");
|
|
7
8
|
var _enums = require("../enums");
|
|
@@ -38,4 +39,20 @@ async function getAzureVaultSecretByKey(context, vaultName, key) {
|
|
|
38
39
|
throw new Error(`Failed to fetch secret "${key}": ${err.message}`);
|
|
39
40
|
}
|
|
40
41
|
}
|
|
42
|
+
async function getInterservicesCommunicationKey(context) {
|
|
43
|
+
var _process$env$INTERSER;
|
|
44
|
+
const localKey = (_process$env$INTERSER = process.env.INTERSERVICES_COMMUNICATION_KEY) == null ? void 0 : _process$env$INTERSER.trim();
|
|
45
|
+
if (localKey) {
|
|
46
|
+
return localKey;
|
|
47
|
+
}
|
|
48
|
+
const vaultName = process.env.AZURE_KEY_VAULT_NAME || "";
|
|
49
|
+
if (!vaultName) {
|
|
50
|
+
throw new Error("AZURE_KEY_VAULT_NAME is required to fetch interservices key");
|
|
51
|
+
}
|
|
52
|
+
const key = await getAzureVaultSecretByKey(context, vaultName, _enums.AzureSecretKeysEnum.INTERSERVICES_COMMUNICATION_KEY);
|
|
53
|
+
if (!key) {
|
|
54
|
+
throw new Error("Interservices communication key not found");
|
|
55
|
+
}
|
|
56
|
+
return key;
|
|
57
|
+
}
|
|
41
58
|
//# sourceMappingURL=secrets.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"secrets.js","names":["_identity","require","_keyvaultSecrets","_enums","_mapper","getAzureVaultSecretByKey","context","vaultName","key","validKeys","enumMapper","AzureSecretKeysEnum","includes","msg","error","Error","vaultUrl","credential","DefaultAzureCredential","client","SecretClient","_secret$value","secret","getSecret","value","err","message"],"sources":["../../../src/utils/secrets.ts"],"sourcesContent":["import { DefaultAzureCredential } from \"@azure/identity\";\nimport { SecretClient } from \"@azure/keyvault-secrets\";\nimport { InvocationContext } from \"@azure/functions\";\nimport { AzureSecretKeysEnum } from \"../enums\";\nimport { enumMapper } from \"./mapper\";\n\n/**\n * Fetches a secret value from Azure Key Vault by key.\n * @param key - The key name from the AzureSecretKeysEnum enum.\n * @returns The secret value.\n * @throws Error if the key is invalid or if the secret fetch fails.\n*/\nexport async function getAzureVaultSecretByKey(\n context: InvocationContext,\n vaultName: string,\n key: AzureSecretKeysEnum\n): Promise<string> {\n // Build the list of valid enum values once\n const validKeys = enumMapper(AzureSecretKeysEnum);\n\n // Validate\n if (!validKeys.includes(key)) {\n const msg = `Invalid secret key requested: ${key}`;\n context.error(msg);\n throw new Error(msg);\n }\n\n // Construct the vault URL\n const vaultUrl = `https://${vaultName}.vault.azure.net`;\n\n // Initialize the client\n const credential = new DefaultAzureCredential();\n const client = new SecretClient(vaultUrl, credential);\n\n try {\n const secret = await client.getSecret(key);\n return secret.value ?? \"\";\n } catch (err: any) {\n context.error(`Error fetching secret \"${key}\" from vault \"${vaultName}\"`, err);\n throw new Error(`Failed to fetch secret \"${key}\": ${err.message}`);\n }\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"secrets.js","names":["_identity","require","_keyvaultSecrets","_enums","_mapper","getAzureVaultSecretByKey","context","vaultName","key","validKeys","enumMapper","AzureSecretKeysEnum","includes","msg","error","Error","vaultUrl","credential","DefaultAzureCredential","client","SecretClient","_secret$value","secret","getSecret","value","err","message","getInterservicesCommunicationKey","_process$env$INTERSER","localKey","process","env","INTERSERVICES_COMMUNICATION_KEY","trim","AZURE_KEY_VAULT_NAME"],"sources":["../../../src/utils/secrets.ts"],"sourcesContent":["import { DefaultAzureCredential } from \"@azure/identity\";\nimport { SecretClient } from \"@azure/keyvault-secrets\";\nimport { InvocationContext } from \"@azure/functions\";\nimport { AzureSecretKeysEnum } from \"../enums\";\nimport { enumMapper } from \"./mapper\";\n\n/**\n * Fetches a secret value from Azure Key Vault by key.\n * @param key - The key name from the AzureSecretKeysEnum enum.\n * @returns The secret value.\n * @throws Error if the key is invalid or if the secret fetch fails.\n*/\nexport async function getAzureVaultSecretByKey(\n context: InvocationContext,\n vaultName: string,\n key: AzureSecretKeysEnum\n): Promise<string> {\n // Build the list of valid enum values once\n const validKeys = enumMapper(AzureSecretKeysEnum);\n\n // Validate\n if (!validKeys.includes(key)) {\n const msg = `Invalid secret key requested: ${key}`;\n context.error(msg);\n throw new Error(msg);\n }\n\n // Construct the vault URL\n const vaultUrl = `https://${vaultName}.vault.azure.net`;\n\n // Initialize the client\n const credential = new DefaultAzureCredential();\n const client = new SecretClient(vaultUrl, credential);\n\n try {\n const secret = await client.getSecret(key);\n return secret.value ?? \"\";\n } catch (err: any) {\n context.error(`Error fetching secret \"${key}\" from vault \"${vaultName}\"`, err);\n throw new Error(`Failed to fetch secret \"${key}\": ${err.message}`);\n }\n}\n\nexport async function getInterservicesCommunicationKey(\n context: InvocationContext\n): Promise<string> {\n const localKey = process.env.INTERSERVICES_COMMUNICATION_KEY?.trim();\n if (localKey) {\n return localKey;\n }\n\n const vaultName = process.env.AZURE_KEY_VAULT_NAME || \"\";\n if (!vaultName) {\n throw new Error(\"AZURE_KEY_VAULT_NAME is required to fetch interservices key\");\n }\n\n const key = await getAzureVaultSecretByKey(\n context,\n vaultName,\n AzureSecretKeysEnum.INTERSERVICES_COMMUNICATION_KEY\n );\n\n if (!key) {\n throw new Error(\"Interservices communication key not found\");\n }\n\n return key;\n}\n"],"mappings":";;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,gBAAA,GAAAD,OAAA;AAEA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,eAAeI,wBAAwBA,CAC5CC,OAA0B,EAC1BC,SAAiB,EACjBC,GAAwB,EACP;EACjB;EACA,MAAMC,SAAS,GAAG,IAAAC,kBAAU,EAACC,0BAAmB,CAAC;;EAEjD;EACA,IAAI,CAACF,SAAS,CAACG,QAAQ,CAACJ,GAAG,CAAC,EAAE;IAC5B,MAAMK,GAAG,GAAG,iCAAiCL,GAAG,EAAE;IAClDF,OAAO,CAACQ,KAAK,CAACD,GAAG,CAAC;IAClB,MAAM,IAAIE,KAAK,CAACF,GAAG,CAAC;EACtB;;EAEA;EACA,MAAMG,QAAQ,GAAG,WAAWT,SAAS,kBAAkB;;EAEvD;EACA,MAAMU,UAAU,GAAG,IAAIC,gCAAsB,CAAC,CAAC;EAC/C,MAAMC,MAAM,GAAO,IAAIC,6BAAY,CAACJ,QAAQ,EAAEC,UAAU,CAAC;EAEzD,IAAI;IAAA,IAAAI,aAAA;IACF,MAAMC,MAAM,GAAG,MAAMH,MAAM,CAACI,SAAS,CAACf,GAAG,CAAC;IAC1C,QAAAa,aAAA,GAAOC,MAAM,CAACE,KAAK,YAAAH,aAAA,GAAI,EAAE;EAC3B,CAAC,CAAC,OAAOI,GAAQ,EAAE;IACjBnB,OAAO,CAACQ,KAAK,CAAC,0BAA0BN,GAAG,iBAAiBD,SAAS,GAAG,EAAEkB,GAAG,CAAC;IAC9E,MAAM,IAAIV,KAAK,CAAC,2BAA2BP,GAAG,MAAMiB,GAAG,CAACC,OAAO,EAAE,CAAC;EACpE;AACF;AAEO,eAAeC,gCAAgCA,CACpDrB,OAA0B,EACT;EAAA,IAAAsB,qBAAA;EACjB,MAAMC,QAAQ,IAAAD,qBAAA,GAAGE,OAAO,CAACC,GAAG,CAACC,+BAA+B,qBAA3CJ,qBAAA,CAA6CK,IAAI,CAAC,CAAC;EACpE,IAAIJ,QAAQ,EAAE;IACZ,OAAOA,QAAQ;EACjB;EAEA,MAAMtB,SAAS,GAAGuB,OAAO,CAACC,GAAG,CAACG,oBAAoB,IAAI,EAAE;EACxD,IAAI,CAAC3B,SAAS,EAAE;IACd,MAAM,IAAIQ,KAAK,CAAC,6DAA6D,CAAC;EAChF;EAEA,MAAMP,GAAG,GAAG,MAAMH,wBAAwB,CACxCC,OAAO,EACPC,SAAS,EACTI,0BAAmB,CAACqB,+BACtB,CAAC;EAED,IAAI,CAACxB,GAAG,EAAE;IACR,MAAM,IAAIO,KAAK,CAAC,2CAA2C,CAAC;EAC9D;EAEA,OAAOP,GAAG;AACZ","ignoreList":[]}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.sendServiceBusQueueMessage = sendServiceBusQueueMessage;
|
|
5
|
+
var _serviceBus = require("@azure/service-bus");
|
|
6
|
+
/**
|
|
7
|
+
* Sends one message to an Azure Service Bus queue. Opens and closes the client per call.
|
|
8
|
+
* `payload` is JSON-stringified unless it is already a string (raw body).
|
|
9
|
+
*/
|
|
10
|
+
async function sendServiceBusQueueMessage(queueName, payload, options) {
|
|
11
|
+
var _options$connectionSt, _process$env$SERVICE_;
|
|
12
|
+
const connectionString = (options == null || (_options$connectionSt = options.connectionString) == null ? void 0 : _options$connectionSt.trim()) || ((_process$env$SERVICE_ = process.env.SERVICE_BUS_CONNECTION_STRING) == null ? void 0 : _process$env$SERVICE_.trim());
|
|
13
|
+
if (!connectionString) {
|
|
14
|
+
throw new Error("Service Bus connection string missing: pass options.connectionString or set SERVICE_BUS_CONNECTION_STRING");
|
|
15
|
+
}
|
|
16
|
+
const body = typeof payload === "string" ? payload : JSON.stringify(payload);
|
|
17
|
+
const client = new _serviceBus.ServiceBusClient(connectionString);
|
|
18
|
+
const sender = client.createSender(queueName);
|
|
19
|
+
try {
|
|
20
|
+
await sender.sendMessages({
|
|
21
|
+
body,
|
|
22
|
+
...((options == null ? void 0 : options.applicationProperties) != null && Object.keys(options.applicationProperties).length > 0 ? {
|
|
23
|
+
applicationProperties: options.applicationProperties
|
|
24
|
+
} : {})
|
|
25
|
+
});
|
|
26
|
+
} finally {
|
|
27
|
+
await sender.close();
|
|
28
|
+
await client.close();
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=service-bus-queue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service-bus-queue.js","names":["_serviceBus","require","sendServiceBusQueueMessage","queueName","payload","options","_options$connectionSt","_process$env$SERVICE_","connectionString","trim","process","env","SERVICE_BUS_CONNECTION_STRING","Error","body","JSON","stringify","client","ServiceBusClient","sender","createSender","sendMessages","applicationProperties","Object","keys","length","close"],"sources":["../../../src/utils/service-bus-queue.ts"],"sourcesContent":["import { ServiceBusClient } from \"@azure/service-bus\";\n\nexport type ServiceBusQueueApplicationProperties = Record<\n string,\n string | number | boolean | Date\n>;\n\nexport type SendServiceBusQueueMessageOptions = {\n /**\n * Defaults to `process.env.SERVICE_BUS_CONNECTION_STRING` when omitted.\n */\n connectionString?: string;\n applicationProperties?: ServiceBusQueueApplicationProperties;\n};\n\n/**\n * Sends one message to an Azure Service Bus queue. Opens and closes the client per call.\n * `payload` is JSON-stringified unless it is already a string (raw body).\n */\nexport async function sendServiceBusQueueMessage(\n queueName: string,\n payload: unknown,\n options?: SendServiceBusQueueMessageOptions,\n): Promise<void> {\n const connectionString =\n options?.connectionString?.trim() ||\n process.env.SERVICE_BUS_CONNECTION_STRING?.trim();\n if (!connectionString) {\n throw new Error(\n \"Service Bus connection string missing: pass options.connectionString or set SERVICE_BUS_CONNECTION_STRING\",\n );\n }\n\n const body =\n typeof payload === \"string\" ? payload : JSON.stringify(payload);\n\n const client = new ServiceBusClient(connectionString);\n const sender = client.createSender(queueName);\n try {\n await sender.sendMessages({\n body,\n ...(options?.applicationProperties != null &&\n Object.keys(options.applicationProperties).length > 0\n ? { applicationProperties: options.applicationProperties }\n : {}),\n });\n } finally {\n await sender.close();\n await client.close();\n }\n}\n"],"mappings":";;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AAeA;AACA;AACA;AACA;AACO,eAAeC,0BAA0BA,CAC9CC,SAAiB,EACjBC,OAAgB,EAChBC,OAA2C,EAC5B;EAAA,IAAAC,qBAAA,EAAAC,qBAAA;EACf,MAAMC,gBAAgB,GACpB,CAAAH,OAAO,aAAAC,qBAAA,GAAPD,OAAO,CAAEG,gBAAgB,qBAAzBF,qBAAA,CAA2BG,IAAI,CAAC,CAAC,OAAAF,qBAAA,GACjCG,OAAO,CAACC,GAAG,CAACC,6BAA6B,qBAAzCL,qBAAA,CAA2CE,IAAI,CAAC,CAAC;EACnD,IAAI,CAACD,gBAAgB,EAAE;IACrB,MAAM,IAAIK,KAAK,CACb,2GACF,CAAC;EACH;EAEA,MAAMC,IAAI,GACR,OAAOV,OAAO,KAAK,QAAQ,GAAGA,OAAO,GAAGW,IAAI,CAACC,SAAS,CAACZ,OAAO,CAAC;EAEjE,MAAMa,MAAM,GAAG,IAAIC,4BAAgB,CAACV,gBAAgB,CAAC;EACrD,MAAMW,MAAM,GAAGF,MAAM,CAACG,YAAY,CAACjB,SAAS,CAAC;EAC7C,IAAI;IACF,MAAMgB,MAAM,CAACE,YAAY,CAAC;MACxBP,IAAI;MACJ,IAAI,CAAAT,OAAO,oBAAPA,OAAO,CAAEiB,qBAAqB,KAAI,IAAI,IAC1CC,MAAM,CAACC,IAAI,CAACnB,OAAO,CAACiB,qBAAqB,CAAC,CAACG,MAAM,GAAG,CAAC,GACjD;QAAEH,qBAAqB,EAAEjB,OAAO,CAACiB;MAAsB,CAAC,GACxD,CAAC,CAAC;IACR,CAAC,CAAC;EACJ,CAAC,SAAS;IACR,MAAMH,MAAM,CAACO,KAAK,CAAC,CAAC;IACpB,MAAMT,MAAM,CAACS,KAAK,CAAC,CAAC;EACtB;AACF","ignoreList":[]}
|
|
@@ -38,6 +38,8 @@ export let AzureSecretKeysEnum = /*#__PURE__*/function (AzureSecretKeysEnum) {
|
|
|
38
38
|
AzureSecretKeysEnum["GITHUB_TOKEN"] = "GITHUB-TOKEN";
|
|
39
39
|
AzureSecretKeysEnum["GITHUB_WORKFLOW_URL"] = "GITHUB-WORKFLOW-URL";
|
|
40
40
|
AzureSecretKeysEnum["DB_CONNECTION_STRING_ENCRYPTION_KEY"] = "DB-CONNECTION-STRING-ENCRYPTION-KEY";
|
|
41
|
+
AzureSecretKeysEnum["AGENTS_API_KEY"] = "AGENTS-API-KEY";
|
|
42
|
+
AzureSecretKeysEnum["INTERSERVICES_COMMUNICATION_KEY"] = "INTERSERVICES-COMMUNICATION-KEY";
|
|
41
43
|
AzureSecretKeysEnum["REDIS_HOST"] = "REDIS-HOST";
|
|
42
44
|
AzureSecretKeysEnum["REDIS_KEY"] = "REDIS-KEY";
|
|
43
45
|
AzureSecretKeysEnum["REDIS_URL"] = "REDIS-URL";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"secretKeys.enum.js","names":["AzureSecretKeysEnum"],"sources":["../../../src/enums/secretKeys.enum.ts"],"sourcesContent":["// Enum for secret keys\nexport enum AzureSecretKeysEnum {\n KEYCLOAK_ADMIN_CLIENT_SECRET = \"KEYCLOAK-ADMIN-CLIENT-SECRET\",\n KEYCLOAK_ADMIN_CLIENT_ID = \"KEYCLOAK-ADMIN-CLIENT-ID\",\n KEYCLOAK_BASE_URL = \"KEYCLOAK-BASE-URL\",\n STRIPE_PAYMENT_WEBHOOK_SECRET_KEY = \"Stripe-payment-webhook-secret-key\", // in-use\n STRIPE_PRODUCT_WEBHOOK_SECRET = \"Stripe-product-webhook-secret-key\", // in-use\n STRIPE_PRICE_WEBHOOK_SECRET = \"Stripe-price-webhook-secret-key\", // in-use\n EMAIL_SERVICE_URL = \"Email-Service-Url\", // in-use,\n DB_CONNECTING_STRING_AUTH = \"DB-CONNECTION-STRING-AUTH\",\n DB_CONNECTING_STRING_USER = \"DB-CONNECTION-STRING-USER\",\n DB_CONNECTING_STRING_PAYMENT = \"DB-CONNECTION-STRING-PAYMENT\",\n DB_CONNECTING_STRING_CORE = \"DB-CONNECTION-STRING-CORE\",\n DB_CONNECTING_STRING_BILLING = \"DB-CONNECTION-STRING-BILLING\",\n DB_CONNECTING_STRING_STAGING = \"DB-CONNECTION-STRING-STAGING\",\n DB_CONNECTING_STRING_BNT_DEV = \"DB-CONNECTION-STRING-BNT-DEV\",\n DB_CONNECTION_STRING_TENANT_BRIDGE = \"DB-CONNECTION-STRING-TENANT-BRIDGE\",\n SERVICE_BUS_CONNECTION_STRING = \"servicebus-connection-string\",\n STRIPE_CUSTOMER_SYNC_WEBHOOK_SECRET = \"stripe-customer-sync-webhook-secret-key\",\n STRIPE_INVOICE_SYNC_WEBHOOK_SECRET = \"stripe-invoice-sync-webhook-secret-key\",\n STRIPE_PRODUCT_SYNC_WEBHOOK_SECRET = \"stripe-product-sync-webhook-secret-key\",\n STRIPE_PRICE_SYNC_WEBHOOK_SECRET = \"stripe-price-sync-webhook-secret-key\",\n STRIPE_SECRET_KEY = \"Stripe-secret-key\",\n STRIPE_WEBHOOK_CUSTOMER_CREATED_SECRET_KEY = \"Stripe-Webhook-Customer-Created-Secret-Key\",\n STRIPE_SUBSCRIPTION_SYNC_WEBHOOK_SECRET = \"stripe-subscription-sync-webhook-secret-key\",\n FIREBASE_SERVICE_ACCOUNTS_VARIABLE = \"firebase_service_accounts_variable\",\n HMS_ACCESS_KEY=\"MEETING-HMS-ACCESS-KEY-APP-SECRET\",\n MEETING_ROOM_APP_SECRET=\"MEETING-ROOM-APP-SECRET\",\n BASE_DB_CLUSTER_CONNECTING_STRING_CHAT = \"BASE-DB-CLUSTER-CONNECTING-STRING-CHAT\",\n AUTH_SERVICE_AUTHENTICATION_URL = \"AUTH-SERVICE-AUTHENTICATION-URL\",\n GCP_PROJECT_ID=\"gcp-project-id\",\n PUBSUB_SERVICE_ACCOUNT_KEYS=\"pubsub-service-account-keys\",\n VAPI_TOKEN = \"vapi-token\",\n GITHUB_TOKEN = \"GITHUB-TOKEN\",\n GITHUB_WORKFLOW_URL = \"GITHUB-WORKFLOW-URL\",\n DB_CONNECTION_STRING_ENCRYPTION_KEY = \"DB-CONNECTION-STRING-ENCRYPTION-KEY\",\n\n REDIS_HOST=\"REDIS-HOST\",\n REDIS_KEY=\"REDIS-KEY\",\n REDIS_URL = \"REDIS-URL\",\n REDIS_PORT = \"REDIS-PORT\"\n}\n\n// AUTH-SERVICE-AUTHENTICATION-URL\n// https://culturefy-auth-staging.azurewebsites.net/api/verify\n\n// REFRESH-SESSION-URL"],"mappings":"AAAA;AACA,WAAYA,mBAAmB,0BAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAI4C;EAJ/DA,mBAAmB;EAKwC;EAL3DA,mBAAmB;EAMoC;EANvDA,mBAAmB;EAOY;EAP/BA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAA,OAAnBA,mBAAmB;AAAA;;
|
|
1
|
+
{"version":3,"file":"secretKeys.enum.js","names":["AzureSecretKeysEnum"],"sources":["../../../src/enums/secretKeys.enum.ts"],"sourcesContent":["// Enum for secret keys\nexport enum AzureSecretKeysEnum {\n KEYCLOAK_ADMIN_CLIENT_SECRET = \"KEYCLOAK-ADMIN-CLIENT-SECRET\",\n KEYCLOAK_ADMIN_CLIENT_ID = \"KEYCLOAK-ADMIN-CLIENT-ID\",\n KEYCLOAK_BASE_URL = \"KEYCLOAK-BASE-URL\",\n STRIPE_PAYMENT_WEBHOOK_SECRET_KEY = \"Stripe-payment-webhook-secret-key\", // in-use\n STRIPE_PRODUCT_WEBHOOK_SECRET = \"Stripe-product-webhook-secret-key\", // in-use\n STRIPE_PRICE_WEBHOOK_SECRET = \"Stripe-price-webhook-secret-key\", // in-use\n EMAIL_SERVICE_URL = \"Email-Service-Url\", // in-use,\n DB_CONNECTING_STRING_AUTH = \"DB-CONNECTION-STRING-AUTH\",\n DB_CONNECTING_STRING_USER = \"DB-CONNECTION-STRING-USER\",\n DB_CONNECTING_STRING_PAYMENT = \"DB-CONNECTION-STRING-PAYMENT\",\n DB_CONNECTING_STRING_CORE = \"DB-CONNECTION-STRING-CORE\",\n DB_CONNECTING_STRING_BILLING = \"DB-CONNECTION-STRING-BILLING\",\n DB_CONNECTING_STRING_STAGING = \"DB-CONNECTION-STRING-STAGING\",\n DB_CONNECTING_STRING_BNT_DEV = \"DB-CONNECTION-STRING-BNT-DEV\",\n DB_CONNECTION_STRING_TENANT_BRIDGE = \"DB-CONNECTION-STRING-TENANT-BRIDGE\",\n SERVICE_BUS_CONNECTION_STRING = \"servicebus-connection-string\",\n STRIPE_CUSTOMER_SYNC_WEBHOOK_SECRET = \"stripe-customer-sync-webhook-secret-key\",\n STRIPE_INVOICE_SYNC_WEBHOOK_SECRET = \"stripe-invoice-sync-webhook-secret-key\",\n STRIPE_PRODUCT_SYNC_WEBHOOK_SECRET = \"stripe-product-sync-webhook-secret-key\",\n STRIPE_PRICE_SYNC_WEBHOOK_SECRET = \"stripe-price-sync-webhook-secret-key\",\n STRIPE_SECRET_KEY = \"Stripe-secret-key\",\n STRIPE_WEBHOOK_CUSTOMER_CREATED_SECRET_KEY = \"Stripe-Webhook-Customer-Created-Secret-Key\",\n STRIPE_SUBSCRIPTION_SYNC_WEBHOOK_SECRET = \"stripe-subscription-sync-webhook-secret-key\",\n FIREBASE_SERVICE_ACCOUNTS_VARIABLE = \"firebase_service_accounts_variable\",\n HMS_ACCESS_KEY=\"MEETING-HMS-ACCESS-KEY-APP-SECRET\",\n MEETING_ROOM_APP_SECRET=\"MEETING-ROOM-APP-SECRET\",\n BASE_DB_CLUSTER_CONNECTING_STRING_CHAT = \"BASE-DB-CLUSTER-CONNECTING-STRING-CHAT\",\n AUTH_SERVICE_AUTHENTICATION_URL = \"AUTH-SERVICE-AUTHENTICATION-URL\",\n GCP_PROJECT_ID=\"gcp-project-id\",\n PUBSUB_SERVICE_ACCOUNT_KEYS=\"pubsub-service-account-keys\",\n VAPI_TOKEN = \"vapi-token\",\n GITHUB_TOKEN = \"GITHUB-TOKEN\",\n GITHUB_WORKFLOW_URL = \"GITHUB-WORKFLOW-URL\",\n DB_CONNECTION_STRING_ENCRYPTION_KEY = \"DB-CONNECTION-STRING-ENCRYPTION-KEY\",\n AGENTS_API_KEY = \"AGENTS-API-KEY\",\n INTERSERVICES_COMMUNICATION_KEY = \"INTERSERVICES-COMMUNICATION-KEY\",\n\n REDIS_HOST=\"REDIS-HOST\",\n REDIS_KEY=\"REDIS-KEY\",\n REDIS_URL = \"REDIS-URL\",\n REDIS_PORT = \"REDIS-PORT\"\n}\n\n// AUTH-SERVICE-AUTHENTICATION-URL\n// https://culturefy-auth-staging.azurewebsites.net/api/verify\n\n// REFRESH-SESSION-URL"],"mappings":"AAAA;AACA,WAAYA,mBAAmB,0BAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAI4C;EAJ/DA,mBAAmB;EAKwC;EAL3DA,mBAAmB;EAMoC;EANvDA,mBAAmB;EAOY;EAP/BA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAA,OAAnBA,mBAAmB;AAAA;;AA4C/B;AACA;;AAEA","ignoreList":[]}
|
package/build/esm/utils/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../../src/utils/index.ts"],"sourcesContent":["export * from './secrets';\nexport * from './response';\nexport * from './initializers';\nexport * from './mapper';\nexport * from './jwt';\nexport * from './middleware';\nexport * from './cache';\n"],"mappings":"AAAA,cAAc,WAAW;AACzB,cAAc,YAAY;AAC1B,cAAc,gBAAgB;AAC9B,cAAc,UAAU;AACxB,cAAc,OAAO;AACrB,cAAc,cAAc;AAC5B,cAAc,SAAS","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../src/utils/index.ts"],"sourcesContent":["export * from './secrets';\nexport * from './response';\nexport * from './initializers';\nexport * from './mapper';\nexport * from './jwt';\nexport * from './middleware';\nexport * from './cache';\nexport * from './service-bus-queue';\n"],"mappings":"AAAA,cAAc,WAAW;AACzB,cAAc,YAAY;AAC1B,cAAc,gBAAgB;AAC9B,cAAc,UAAU;AACxB,cAAc,OAAO;AACrB,cAAc,cAAc;AAC5B,cAAc,SAAS;AACvB,cAAc,qBAAqB","ignoreList":[]}
|
|
@@ -35,4 +35,20 @@ export async function getAzureVaultSecretByKey(context, vaultName, key) {
|
|
|
35
35
|
throw new Error(`Failed to fetch secret "${key}": ${err.message}`);
|
|
36
36
|
}
|
|
37
37
|
}
|
|
38
|
+
export async function getInterservicesCommunicationKey(context) {
|
|
39
|
+
var _process$env$INTERSER;
|
|
40
|
+
const localKey = (_process$env$INTERSER = process.env.INTERSERVICES_COMMUNICATION_KEY) == null ? void 0 : _process$env$INTERSER.trim();
|
|
41
|
+
if (localKey) {
|
|
42
|
+
return localKey;
|
|
43
|
+
}
|
|
44
|
+
const vaultName = process.env.AZURE_KEY_VAULT_NAME || "";
|
|
45
|
+
if (!vaultName) {
|
|
46
|
+
throw new Error("AZURE_KEY_VAULT_NAME is required to fetch interservices key");
|
|
47
|
+
}
|
|
48
|
+
const key = await getAzureVaultSecretByKey(context, vaultName, AzureSecretKeysEnum.INTERSERVICES_COMMUNICATION_KEY);
|
|
49
|
+
if (!key) {
|
|
50
|
+
throw new Error("Interservices communication key not found");
|
|
51
|
+
}
|
|
52
|
+
return key;
|
|
53
|
+
}
|
|
38
54
|
//# sourceMappingURL=secrets.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"secrets.js","names":["DefaultAzureCredential","SecretClient","AzureSecretKeysEnum","enumMapper","getAzureVaultSecretByKey","context","vaultName","key","validKeys","includes","msg","error","Error","vaultUrl","credential","client","_secret$value","secret","getSecret","value","err","message"],"sources":["../../../src/utils/secrets.ts"],"sourcesContent":["import { DefaultAzureCredential } from \"@azure/identity\";\nimport { SecretClient } from \"@azure/keyvault-secrets\";\nimport { InvocationContext } from \"@azure/functions\";\nimport { AzureSecretKeysEnum } from \"../enums\";\nimport { enumMapper } from \"./mapper\";\n\n/**\n * Fetches a secret value from Azure Key Vault by key.\n * @param key - The key name from the AzureSecretKeysEnum enum.\n * @returns The secret value.\n * @throws Error if the key is invalid or if the secret fetch fails.\n*/\nexport async function getAzureVaultSecretByKey(\n context: InvocationContext,\n vaultName: string,\n key: AzureSecretKeysEnum\n): Promise<string> {\n // Build the list of valid enum values once\n const validKeys = enumMapper(AzureSecretKeysEnum);\n\n // Validate\n if (!validKeys.includes(key)) {\n const msg = `Invalid secret key requested: ${key}`;\n context.error(msg);\n throw new Error(msg);\n }\n\n // Construct the vault URL\n const vaultUrl = `https://${vaultName}.vault.azure.net`;\n\n // Initialize the client\n const credential = new DefaultAzureCredential();\n const client = new SecretClient(vaultUrl, credential);\n\n try {\n const secret = await client.getSecret(key);\n return secret.value ?? \"\";\n } catch (err: any) {\n context.error(`Error fetching secret \"${key}\" from vault \"${vaultName}\"`, err);\n throw new Error(`Failed to fetch secret \"${key}\": ${err.message}`);\n }\n}\n"],"mappings":"AAAA,SAASA,sBAAsB,QAAQ,iBAAiB;AACxD,SAASC,YAAY,QAAQ,yBAAyB;AAEtD,SAASC,mBAAmB,QAAQ,UAAU;AAC9C,SAASC,UAAU,QAAQ,UAAU;;AAErC;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeC,wBAAwBA,CAC5CC,OAA0B,EAC1BC,SAAiB,EACjBC,GAAwB,EACP;EACjB;EACA,MAAMC,SAAS,GAAGL,UAAU,CAACD,mBAAmB,CAAC;;EAEjD;EACA,IAAI,CAACM,SAAS,CAACC,QAAQ,CAACF,GAAG,CAAC,EAAE;IAC5B,MAAMG,GAAG,GAAG,iCAAiCH,GAAG,EAAE;IAClDF,OAAO,CAACM,KAAK,CAACD,GAAG,CAAC;IAClB,MAAM,IAAIE,KAAK,CAACF,GAAG,CAAC;EACtB;;EAEA;EACA,MAAMG,QAAQ,GAAG,WAAWP,SAAS,kBAAkB;;EAEvD;EACA,MAAMQ,UAAU,GAAG,IAAId,sBAAsB,CAAC,CAAC;EAC/C,MAAMe,MAAM,GAAO,IAAId,YAAY,CAACY,QAAQ,EAAEC,UAAU,CAAC;EAEzD,IAAI;IAAA,IAAAE,aAAA;IACF,MAAMC,MAAM,GAAG,MAAMF,MAAM,CAACG,SAAS,CAACX,GAAG,CAAC;IAC1C,QAAAS,aAAA,GAAOC,MAAM,CAACE,KAAK,YAAAH,aAAA,GAAI,EAAE;EAC3B,CAAC,CAAC,OAAOI,GAAQ,EAAE;IACjBf,OAAO,CAACM,KAAK,CAAC,0BAA0BJ,GAAG,iBAAiBD,SAAS,GAAG,EAAEc,GAAG,CAAC;IAC9E,MAAM,IAAIR,KAAK,CAAC,2BAA2BL,GAAG,MAAMa,GAAG,CAACC,OAAO,EAAE,CAAC;EACpE;AACF","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"secrets.js","names":["DefaultAzureCredential","SecretClient","AzureSecretKeysEnum","enumMapper","getAzureVaultSecretByKey","context","vaultName","key","validKeys","includes","msg","error","Error","vaultUrl","credential","client","_secret$value","secret","getSecret","value","err","message","getInterservicesCommunicationKey","_process$env$INTERSER","localKey","process","env","INTERSERVICES_COMMUNICATION_KEY","trim","AZURE_KEY_VAULT_NAME"],"sources":["../../../src/utils/secrets.ts"],"sourcesContent":["import { DefaultAzureCredential } from \"@azure/identity\";\nimport { SecretClient } from \"@azure/keyvault-secrets\";\nimport { InvocationContext } from \"@azure/functions\";\nimport { AzureSecretKeysEnum } from \"../enums\";\nimport { enumMapper } from \"./mapper\";\n\n/**\n * Fetches a secret value from Azure Key Vault by key.\n * @param key - The key name from the AzureSecretKeysEnum enum.\n * @returns The secret value.\n * @throws Error if the key is invalid or if the secret fetch fails.\n*/\nexport async function getAzureVaultSecretByKey(\n context: InvocationContext,\n vaultName: string,\n key: AzureSecretKeysEnum\n): Promise<string> {\n // Build the list of valid enum values once\n const validKeys = enumMapper(AzureSecretKeysEnum);\n\n // Validate\n if (!validKeys.includes(key)) {\n const msg = `Invalid secret key requested: ${key}`;\n context.error(msg);\n throw new Error(msg);\n }\n\n // Construct the vault URL\n const vaultUrl = `https://${vaultName}.vault.azure.net`;\n\n // Initialize the client\n const credential = new DefaultAzureCredential();\n const client = new SecretClient(vaultUrl, credential);\n\n try {\n const secret = await client.getSecret(key);\n return secret.value ?? \"\";\n } catch (err: any) {\n context.error(`Error fetching secret \"${key}\" from vault \"${vaultName}\"`, err);\n throw new Error(`Failed to fetch secret \"${key}\": ${err.message}`);\n }\n}\n\nexport async function getInterservicesCommunicationKey(\n context: InvocationContext\n): Promise<string> {\n const localKey = process.env.INTERSERVICES_COMMUNICATION_KEY?.trim();\n if (localKey) {\n return localKey;\n }\n\n const vaultName = process.env.AZURE_KEY_VAULT_NAME || \"\";\n if (!vaultName) {\n throw new Error(\"AZURE_KEY_VAULT_NAME is required to fetch interservices key\");\n }\n\n const key = await getAzureVaultSecretByKey(\n context,\n vaultName,\n AzureSecretKeysEnum.INTERSERVICES_COMMUNICATION_KEY\n );\n\n if (!key) {\n throw new Error(\"Interservices communication key not found\");\n }\n\n return key;\n}\n"],"mappings":"AAAA,SAASA,sBAAsB,QAAQ,iBAAiB;AACxD,SAASC,YAAY,QAAQ,yBAAyB;AAEtD,SAASC,mBAAmB,QAAQ,UAAU;AAC9C,SAASC,UAAU,QAAQ,UAAU;;AAErC;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeC,wBAAwBA,CAC5CC,OAA0B,EAC1BC,SAAiB,EACjBC,GAAwB,EACP;EACjB;EACA,MAAMC,SAAS,GAAGL,UAAU,CAACD,mBAAmB,CAAC;;EAEjD;EACA,IAAI,CAACM,SAAS,CAACC,QAAQ,CAACF,GAAG,CAAC,EAAE;IAC5B,MAAMG,GAAG,GAAG,iCAAiCH,GAAG,EAAE;IAClDF,OAAO,CAACM,KAAK,CAACD,GAAG,CAAC;IAClB,MAAM,IAAIE,KAAK,CAACF,GAAG,CAAC;EACtB;;EAEA;EACA,MAAMG,QAAQ,GAAG,WAAWP,SAAS,kBAAkB;;EAEvD;EACA,MAAMQ,UAAU,GAAG,IAAId,sBAAsB,CAAC,CAAC;EAC/C,MAAMe,MAAM,GAAO,IAAId,YAAY,CAACY,QAAQ,EAAEC,UAAU,CAAC;EAEzD,IAAI;IAAA,IAAAE,aAAA;IACF,MAAMC,MAAM,GAAG,MAAMF,MAAM,CAACG,SAAS,CAACX,GAAG,CAAC;IAC1C,QAAAS,aAAA,GAAOC,MAAM,CAACE,KAAK,YAAAH,aAAA,GAAI,EAAE;EAC3B,CAAC,CAAC,OAAOI,GAAQ,EAAE;IACjBf,OAAO,CAACM,KAAK,CAAC,0BAA0BJ,GAAG,iBAAiBD,SAAS,GAAG,EAAEc,GAAG,CAAC;IAC9E,MAAM,IAAIR,KAAK,CAAC,2BAA2BL,GAAG,MAAMa,GAAG,CAACC,OAAO,EAAE,CAAC;EACpE;AACF;AAEA,OAAO,eAAeC,gCAAgCA,CACpDjB,OAA0B,EACT;EAAA,IAAAkB,qBAAA;EACjB,MAAMC,QAAQ,IAAAD,qBAAA,GAAGE,OAAO,CAACC,GAAG,CAACC,+BAA+B,qBAA3CJ,qBAAA,CAA6CK,IAAI,CAAC,CAAC;EACpE,IAAIJ,QAAQ,EAAE;IACZ,OAAOA,QAAQ;EACjB;EAEA,MAAMlB,SAAS,GAAGmB,OAAO,CAACC,GAAG,CAACG,oBAAoB,IAAI,EAAE;EACxD,IAAI,CAACvB,SAAS,EAAE;IACd,MAAM,IAAIM,KAAK,CAAC,6DAA6D,CAAC;EAChF;EAEA,MAAML,GAAG,GAAG,MAAMH,wBAAwB,CACxCC,OAAO,EACPC,SAAS,EACTJ,mBAAmB,CAACyB,+BACtB,CAAC;EAED,IAAI,CAACpB,GAAG,EAAE;IACR,MAAM,IAAIK,KAAK,CAAC,2CAA2C,CAAC;EAC9D;EAEA,OAAOL,GAAG;AACZ","ignoreList":[]}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
2
|
+
import { ServiceBusClient } from "@azure/service-bus";
|
|
3
|
+
/**
|
|
4
|
+
* Sends one message to an Azure Service Bus queue. Opens and closes the client per call.
|
|
5
|
+
* `payload` is JSON-stringified unless it is already a string (raw body).
|
|
6
|
+
*/
|
|
7
|
+
export async function sendServiceBusQueueMessage(queueName, payload, options) {
|
|
8
|
+
var _options$connectionSt, _process$env$SERVICE_;
|
|
9
|
+
const connectionString = (options == null || (_options$connectionSt = options.connectionString) == null ? void 0 : _options$connectionSt.trim()) || ((_process$env$SERVICE_ = process.env.SERVICE_BUS_CONNECTION_STRING) == null ? void 0 : _process$env$SERVICE_.trim());
|
|
10
|
+
if (!connectionString) {
|
|
11
|
+
throw new Error("Service Bus connection string missing: pass options.connectionString or set SERVICE_BUS_CONNECTION_STRING");
|
|
12
|
+
}
|
|
13
|
+
const body = typeof payload === "string" ? payload : JSON.stringify(payload);
|
|
14
|
+
const client = new ServiceBusClient(connectionString);
|
|
15
|
+
const sender = client.createSender(queueName);
|
|
16
|
+
try {
|
|
17
|
+
await sender.sendMessages(_extends({
|
|
18
|
+
body
|
|
19
|
+
}, (options == null ? void 0 : options.applicationProperties) != null && Object.keys(options.applicationProperties).length > 0 ? {
|
|
20
|
+
applicationProperties: options.applicationProperties
|
|
21
|
+
} : {}));
|
|
22
|
+
} finally {
|
|
23
|
+
await sender.close();
|
|
24
|
+
await client.close();
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=service-bus-queue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service-bus-queue.js","names":["ServiceBusClient","sendServiceBusQueueMessage","queueName","payload","options","_options$connectionSt","_process$env$SERVICE_","connectionString","trim","process","env","SERVICE_BUS_CONNECTION_STRING","Error","body","JSON","stringify","client","sender","createSender","sendMessages","_extends","applicationProperties","Object","keys","length","close"],"sources":["../../../src/utils/service-bus-queue.ts"],"sourcesContent":["import { ServiceBusClient } from \"@azure/service-bus\";\n\nexport type ServiceBusQueueApplicationProperties = Record<\n string,\n string | number | boolean | Date\n>;\n\nexport type SendServiceBusQueueMessageOptions = {\n /**\n * Defaults to `process.env.SERVICE_BUS_CONNECTION_STRING` when omitted.\n */\n connectionString?: string;\n applicationProperties?: ServiceBusQueueApplicationProperties;\n};\n\n/**\n * Sends one message to an Azure Service Bus queue. Opens and closes the client per call.\n * `payload` is JSON-stringified unless it is already a string (raw body).\n */\nexport async function sendServiceBusQueueMessage(\n queueName: string,\n payload: unknown,\n options?: SendServiceBusQueueMessageOptions,\n): Promise<void> {\n const connectionString =\n options?.connectionString?.trim() ||\n process.env.SERVICE_BUS_CONNECTION_STRING?.trim();\n if (!connectionString) {\n throw new Error(\n \"Service Bus connection string missing: pass options.connectionString or set SERVICE_BUS_CONNECTION_STRING\",\n );\n }\n\n const body =\n typeof payload === \"string\" ? payload : JSON.stringify(payload);\n\n const client = new ServiceBusClient(connectionString);\n const sender = client.createSender(queueName);\n try {\n await sender.sendMessages({\n body,\n ...(options?.applicationProperties != null &&\n Object.keys(options.applicationProperties).length > 0\n ? { applicationProperties: options.applicationProperties }\n : {}),\n });\n } finally {\n await sender.close();\n await client.close();\n }\n}\n"],"mappings":";AAAA,SAASA,gBAAgB,QAAQ,oBAAoB;AAerD;AACA;AACA;AACA;AACA,OAAO,eAAeC,0BAA0BA,CAC9CC,SAAiB,EACjBC,OAAgB,EAChBC,OAA2C,EAC5B;EAAA,IAAAC,qBAAA,EAAAC,qBAAA;EACf,MAAMC,gBAAgB,GACpB,CAAAH,OAAO,aAAAC,qBAAA,GAAPD,OAAO,CAAEG,gBAAgB,qBAAzBF,qBAAA,CAA2BG,IAAI,CAAC,CAAC,OAAAF,qBAAA,GACjCG,OAAO,CAACC,GAAG,CAACC,6BAA6B,qBAAzCL,qBAAA,CAA2CE,IAAI,CAAC,CAAC;EACnD,IAAI,CAACD,gBAAgB,EAAE;IACrB,MAAM,IAAIK,KAAK,CACb,2GACF,CAAC;EACH;EAEA,MAAMC,IAAI,GACR,OAAOV,OAAO,KAAK,QAAQ,GAAGA,OAAO,GAAGW,IAAI,CAACC,SAAS,CAACZ,OAAO,CAAC;EAEjE,MAAMa,MAAM,GAAG,IAAIhB,gBAAgB,CAACO,gBAAgB,CAAC;EACrD,MAAMU,MAAM,GAAGD,MAAM,CAACE,YAAY,CAAChB,SAAS,CAAC;EAC7C,IAAI;IACF,MAAMe,MAAM,CAACE,YAAY,CAAAC,QAAA;MACvBP;IAAI,GACA,CAAAT,OAAO,oBAAPA,OAAO,CAAEiB,qBAAqB,KAAI,IAAI,IAC1CC,MAAM,CAACC,IAAI,CAACnB,OAAO,CAACiB,qBAAqB,CAAC,CAACG,MAAM,GAAG,CAAC,GACjD;MAAEH,qBAAqB,EAAEjB,OAAO,CAACiB;IAAsB,CAAC,GACxD,CAAC,CAAC,CACP,CAAC;EACJ,CAAC,SAAS;IACR,MAAMJ,MAAM,CAACQ,KAAK,CAAC,CAAC;IACpB,MAAMT,MAAM,CAACS,KAAK,CAAC,CAAC;EACtB;AACF","ignoreList":[]}
|
|
@@ -33,6 +33,8 @@ export declare enum AzureSecretKeysEnum {
|
|
|
33
33
|
GITHUB_TOKEN = "GITHUB-TOKEN",
|
|
34
34
|
GITHUB_WORKFLOW_URL = "GITHUB-WORKFLOW-URL",
|
|
35
35
|
DB_CONNECTION_STRING_ENCRYPTION_KEY = "DB-CONNECTION-STRING-ENCRYPTION-KEY",
|
|
36
|
+
AGENTS_API_KEY = "AGENTS-API-KEY",
|
|
37
|
+
INTERSERVICES_COMMUNICATION_KEY = "INTERSERVICES-COMMUNICATION-KEY",
|
|
36
38
|
REDIS_HOST = "REDIS-HOST",
|
|
37
39
|
REDIS_KEY = "REDIS-KEY",
|
|
38
40
|
REDIS_URL = "REDIS-URL",
|
|
@@ -38,6 +38,8 @@ var AzureSecretKeysEnum;
|
|
|
38
38
|
AzureSecretKeysEnum["GITHUB_TOKEN"] = "GITHUB-TOKEN";
|
|
39
39
|
AzureSecretKeysEnum["GITHUB_WORKFLOW_URL"] = "GITHUB-WORKFLOW-URL";
|
|
40
40
|
AzureSecretKeysEnum["DB_CONNECTION_STRING_ENCRYPTION_KEY"] = "DB-CONNECTION-STRING-ENCRYPTION-KEY";
|
|
41
|
+
AzureSecretKeysEnum["AGENTS_API_KEY"] = "AGENTS-API-KEY";
|
|
42
|
+
AzureSecretKeysEnum["INTERSERVICES_COMMUNICATION_KEY"] = "INTERSERVICES-COMMUNICATION-KEY";
|
|
41
43
|
AzureSecretKeysEnum["REDIS_HOST"] = "REDIS-HOST";
|
|
42
44
|
AzureSecretKeysEnum["REDIS_KEY"] = "REDIS-KEY";
|
|
43
45
|
AzureSecretKeysEnum["REDIS_URL"] = "REDIS-URL";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"secretKeys.enum.js","sourceRoot":"","sources":["../../../src/enums/secretKeys.enum.ts"],"names":[],"mappings":";;;AAAA,uBAAuB;AACvB,IAAY,
|
|
1
|
+
{"version":3,"file":"secretKeys.enum.js","sourceRoot":"","sources":["../../../src/enums/secretKeys.enum.ts"],"names":[],"mappings":";;;AAAA,uBAAuB;AACvB,IAAY,mBA0CX;AA1CD,WAAY,mBAAmB;IAC7B,oFAA6D,CAAA;IAC7D,4EAAqD,CAAA;IACrD,8DAAuC,CAAA;IACvC,8FAAuE,CAAA;IACvE,0FAAmE,CAAA;IACnE,sFAA+D,CAAA;IAC/D,8DAAuC,CAAA;IACvC,8EAAuD,CAAA;IACvD,8EAAuD,CAAA;IACvD,oFAA6D,CAAA;IAC7D,8EAAuD,CAAA;IACvD,oFAA6D,CAAA;IAC7D,oFAA8D,CAAA;IAC9D,oFAA6D,CAAA;IAC7D,gGAAyE,CAAA;IACzE,qFAA8D,CAAA;IAC9D,sGAA+E,CAAA;IAC/E,oGAA6E,CAAA;IAC7E,oGAA6E,CAAA;IAC7E,gGAAyE,CAAA;IACzE,8DAAuC,CAAA;IACvC,gHAAyF,CAAA;IACzF,8GAAuF,CAAA;IACvF,gGAAyE,CAAA;IACzE,2EAAkD,CAAA;IAClD,0EAAiD,CAAA;IACjD,wGAAiF,CAAA;IACjF,0FAAmE,CAAA;IACnE,wDAA+B,CAAA;IAC/B,kFAAyD,CAAA;IACzD,gDAAyB,CAAA;IACzB,oDAA6B,CAAA;IAC7B,kEAA2C,CAAA;IAC3C,kGAA2E,CAAA;IAC3E,wDAAiC,CAAA;IACjC,0FAAmE,CAAA;IAEnE,gDAAuB,CAAA;IACvB,8CAAqB,CAAA;IACrB,8CAAuB,CAAA;IACvB,gDAAyB,CAAA;AAC3B,CAAC,EA1CW,mBAAmB,mCAAnB,mBAAmB,QA0C9B;AAED,kCAAkC;AAClC,8DAA8D;AAE9D,sBAAsB"}
|
package/build/src/utils/index.js
CHANGED
|
@@ -8,4 +8,5 @@ tslib_1.__exportStar(require("./mapper"), exports);
|
|
|
8
8
|
tslib_1.__exportStar(require("./jwt"), exports);
|
|
9
9
|
tslib_1.__exportStar(require("./middleware"), exports);
|
|
10
10
|
tslib_1.__exportStar(require("./cache"), exports);
|
|
11
|
+
tslib_1.__exportStar(require("./service-bus-queue"), exports);
|
|
11
12
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":";;;AAAA,oDAA0B;AAC1B,qDAA2B;AAC3B,yDAA+B;AAC/B,mDAAyB;AACzB,gDAAsB;AACtB,uDAA6B;AAC7B,kDAAwB"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":";;;AAAA,oDAA0B;AAC1B,qDAA2B;AAC3B,yDAA+B;AAC/B,mDAAyB;AACzB,gDAAsB;AACtB,uDAA6B;AAC7B,kDAAwB;AACxB,8DAAoC"}
|
|
@@ -7,3 +7,4 @@ import { AzureSecretKeysEnum } from "../enums";
|
|
|
7
7
|
* @throws Error if the key is invalid or if the secret fetch fails.
|
|
8
8
|
*/
|
|
9
9
|
export declare function getAzureVaultSecretByKey(context: InvocationContext, vaultName: string, key: AzureSecretKeysEnum): Promise<string>;
|
|
10
|
+
export declare function getInterservicesCommunicationKey(context: InvocationContext): Promise<string>;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getAzureVaultSecretByKey = getAzureVaultSecretByKey;
|
|
4
|
+
exports.getInterservicesCommunicationKey = getInterservicesCommunicationKey;
|
|
4
5
|
const tslib_1 = require("tslib");
|
|
5
6
|
const identity_1 = require("@azure/identity");
|
|
6
7
|
const keyvault_secrets_1 = require("@azure/keyvault-secrets");
|
|
@@ -38,4 +39,22 @@ function getAzureVaultSecretByKey(context, vaultName, key) {
|
|
|
38
39
|
}
|
|
39
40
|
});
|
|
40
41
|
}
|
|
42
|
+
function getInterservicesCommunicationKey(context) {
|
|
43
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
44
|
+
var _a;
|
|
45
|
+
const localKey = (_a = process.env.INTERSERVICES_COMMUNICATION_KEY) === null || _a === void 0 ? void 0 : _a.trim();
|
|
46
|
+
if (localKey) {
|
|
47
|
+
return localKey;
|
|
48
|
+
}
|
|
49
|
+
const vaultName = process.env.AZURE_KEY_VAULT_NAME || "";
|
|
50
|
+
if (!vaultName) {
|
|
51
|
+
throw new Error("AZURE_KEY_VAULT_NAME is required to fetch interservices key");
|
|
52
|
+
}
|
|
53
|
+
const key = yield getAzureVaultSecretByKey(context, vaultName, enums_1.AzureSecretKeysEnum.INTERSERVICES_COMMUNICATION_KEY);
|
|
54
|
+
if (!key) {
|
|
55
|
+
throw new Error("Interservices communication key not found");
|
|
56
|
+
}
|
|
57
|
+
return key;
|
|
58
|
+
});
|
|
59
|
+
}
|
|
41
60
|
//# sourceMappingURL=secrets.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"secrets.js","sourceRoot":"","sources":["../../../src/utils/secrets.ts"],"names":[],"mappings":";;AAYA,4DA6BC;;
|
|
1
|
+
{"version":3,"file":"secrets.js","sourceRoot":"","sources":["../../../src/utils/secrets.ts"],"names":[],"mappings":";;AAYA,4DA6BC;AAED,4EAwBC;;AAnED,8CAAyD;AACzD,8DAAuD;AAEvD,oCAA+C;AAC/C,qCAAsC;AAEtC;;;;;EAKE;AACF,SAAsB,wBAAwB,CAC5C,OAA0B,EAC1B,SAAiB,EACjB,GAAwB;;;QAExB,2CAA2C;QAC3C,MAAM,SAAS,GAAG,IAAA,mBAAU,EAAC,2BAAmB,CAAC,CAAC;QAElD,WAAW;QACX,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,iCAAiC,GAAG,EAAE,CAAC;YACnD,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;QACvB,CAAC;QAED,0BAA0B;QAC1B,MAAM,QAAQ,GAAG,WAAW,SAAS,kBAAkB,CAAC;QAExD,wBAAwB;QACxB,MAAM,UAAU,GAAG,IAAI,iCAAsB,EAAE,CAAC;QAChD,MAAM,MAAM,GAAO,IAAI,+BAAY,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAE1D,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YAC3C,OAAO,MAAA,MAAM,CAAC,KAAK,mCAAI,EAAE,CAAC;QAC5B,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,OAAO,CAAC,KAAK,CAAC,0BAA0B,GAAG,iBAAiB,SAAS,GAAG,EAAE,GAAG,CAAC,CAAC;YAC/E,MAAM,IAAI,KAAK,CAAC,2BAA2B,GAAG,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;CAAA;AAED,SAAsB,gCAAgC,CACpD,OAA0B;;;QAE1B,MAAM,QAAQ,GAAG,MAAA,OAAO,CAAC,GAAG,CAAC,+BAA+B,0CAAE,IAAI,EAAE,CAAC;QACrE,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,EAAE,CAAC;QACzD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;QACjF,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,wBAAwB,CACxC,OAAO,EACP,SAAS,EACT,2BAAmB,CAAC,+BAA+B,CACpD,CAAC;QAEF,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC/D,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;CAAA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export type ServiceBusQueueApplicationProperties = Record<string, string | number | boolean | Date>;
|
|
2
|
+
export type SendServiceBusQueueMessageOptions = {
|
|
3
|
+
/**
|
|
4
|
+
* Defaults to `process.env.SERVICE_BUS_CONNECTION_STRING` when omitted.
|
|
5
|
+
*/
|
|
6
|
+
connectionString?: string;
|
|
7
|
+
applicationProperties?: ServiceBusQueueApplicationProperties;
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* Sends one message to an Azure Service Bus queue. Opens and closes the client per call.
|
|
11
|
+
* `payload` is JSON-stringified unless it is already a string (raw body).
|
|
12
|
+
*/
|
|
13
|
+
export declare function sendServiceBusQueueMessage(queueName: string, payload: unknown, options?: SendServiceBusQueueMessageOptions): Promise<void>;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.sendServiceBusQueueMessage = sendServiceBusQueueMessage;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const service_bus_1 = require("@azure/service-bus");
|
|
6
|
+
/**
|
|
7
|
+
* Sends one message to an Azure Service Bus queue. Opens and closes the client per call.
|
|
8
|
+
* `payload` is JSON-stringified unless it is already a string (raw body).
|
|
9
|
+
*/
|
|
10
|
+
function sendServiceBusQueueMessage(queueName, payload, options) {
|
|
11
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
12
|
+
var _a, _b;
|
|
13
|
+
const connectionString = ((_a = options === null || options === void 0 ? void 0 : options.connectionString) === null || _a === void 0 ? void 0 : _a.trim()) ||
|
|
14
|
+
((_b = process.env.SERVICE_BUS_CONNECTION_STRING) === null || _b === void 0 ? void 0 : _b.trim());
|
|
15
|
+
if (!connectionString) {
|
|
16
|
+
throw new Error("Service Bus connection string missing: pass options.connectionString or set SERVICE_BUS_CONNECTION_STRING");
|
|
17
|
+
}
|
|
18
|
+
const body = typeof payload === "string" ? payload : JSON.stringify(payload);
|
|
19
|
+
const client = new service_bus_1.ServiceBusClient(connectionString);
|
|
20
|
+
const sender = client.createSender(queueName);
|
|
21
|
+
try {
|
|
22
|
+
yield sender.sendMessages(Object.assign({ body }, ((options === null || options === void 0 ? void 0 : options.applicationProperties) != null &&
|
|
23
|
+
Object.keys(options.applicationProperties).length > 0
|
|
24
|
+
? { applicationProperties: options.applicationProperties }
|
|
25
|
+
: {})));
|
|
26
|
+
}
|
|
27
|
+
finally {
|
|
28
|
+
yield sender.close();
|
|
29
|
+
yield client.close();
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=service-bus-queue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service-bus-queue.js","sourceRoot":"","sources":["../../../src/utils/service-bus-queue.ts"],"names":[],"mappings":";;AAmBA,gEA+BC;;AAlDD,oDAAsD;AAetD;;;GAGG;AACH,SAAsB,0BAA0B,CAC9C,SAAiB,EACjB,OAAgB,EAChB,OAA2C;;;QAE3C,MAAM,gBAAgB,GACpB,CAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,gBAAgB,0CAAE,IAAI,EAAE;aACjC,MAAA,OAAO,CAAC,GAAG,CAAC,6BAA6B,0CAAE,IAAI,EAAE,CAAA,CAAC;QACpD,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CACb,2GAA2G,CAC5G,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,GACR,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAElE,MAAM,MAAM,GAAG,IAAI,8BAAgB,CAAC,gBAAgB,CAAC,CAAC;QACtD,MAAM,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QAC9C,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,YAAY,iBACvB,IAAI,IACD,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,qBAAqB,KAAI,IAAI;gBAC1C,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,MAAM,GAAG,CAAC;gBACnD,CAAC,CAAC,EAAE,qBAAqB,EAAE,OAAO,CAAC,qBAAqB,EAAE;gBAC1D,CAAC,CAAC,EAAE,CAAC,EACP,CAAC;QACL,CAAC;gBAAS,CAAC;YACT,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;YACrB,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACvB,CAAC;IACH,CAAC;CAAA"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@culturefy/shared",
|
|
3
3
|
"description": "Shared utilities for culturefy serverless services",
|
|
4
|
-
"version": "1.0.
|
|
4
|
+
"version": "1.0.75",
|
|
5
5
|
"main": "build/cjs/index.js",
|
|
6
6
|
"module": "build/esm/index.js",
|
|
7
7
|
"types": "build/src/index.d.ts",
|
|
@@ -56,6 +56,7 @@
|
|
|
56
56
|
"@azure/functions": "^4.7.2-preview",
|
|
57
57
|
"@azure/identity": "^4.13.0",
|
|
58
58
|
"@azure/keyvault-secrets": "^4.10.0",
|
|
59
|
+
"@azure/service-bus": "^7.9.5",
|
|
59
60
|
"@types/mongoose": "^5.11.96",
|
|
60
61
|
"ioredis": "^5.5.0",
|
|
61
62
|
"express": "^4.18.2",
|