@culturefy/shared 1.0.74 → 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 +1 -0
- package/build/cjs/enums/secretKeys.enum.js.map +1 -1
- package/build/cjs/utils/secrets.js +17 -0
- package/build/cjs/utils/secrets.js.map +1 -1
- package/build/esm/enums/secretKeys.enum.js +1 -0
- package/build/esm/enums/secretKeys.enum.js.map +1 -1
- package/build/esm/utils/secrets.js +16 -0
- package/build/esm/utils/secrets.js.map +1 -1
- package/build/src/enums/secretKeys.enum.d.ts +1 -0
- package/build/src/enums/secretKeys.enum.js +1 -0
- package/build/src/enums/secretKeys.enum.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/package.json +1 -1
|
@@ -43,6 +43,7 @@ let AzureSecretKeysEnum = exports.AzureSecretKeysEnum = /*#__PURE__*/function (A
|
|
|
43
43
|
AzureSecretKeysEnum["GITHUB_WORKFLOW_URL"] = "GITHUB-WORKFLOW-URL";
|
|
44
44
|
AzureSecretKeysEnum["DB_CONNECTION_STRING_ENCRYPTION_KEY"] = "DB-CONNECTION-STRING-ENCRYPTION-KEY";
|
|
45
45
|
AzureSecretKeysEnum["AGENTS_API_KEY"] = "AGENTS-API-KEY";
|
|
46
|
+
AzureSecretKeysEnum["INTERSERVICES_COMMUNICATION_KEY"] = "INTERSERVICES-COMMUNICATION-KEY";
|
|
46
47
|
AzureSecretKeysEnum["REDIS_HOST"] = "REDIS-HOST";
|
|
47
48
|
AzureSecretKeysEnum["REDIS_KEY"] = "REDIS-KEY";
|
|
48
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 AGENTS_API_KEY = \"AGENTS-API-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;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":[]}
|
|
@@ -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":[]}
|
|
@@ -39,6 +39,7 @@ export let AzureSecretKeysEnum = /*#__PURE__*/function (AzureSecretKeysEnum) {
|
|
|
39
39
|
AzureSecretKeysEnum["GITHUB_WORKFLOW_URL"] = "GITHUB-WORKFLOW-URL";
|
|
40
40
|
AzureSecretKeysEnum["DB_CONNECTION_STRING_ENCRYPTION_KEY"] = "DB-CONNECTION-STRING-ENCRYPTION-KEY";
|
|
41
41
|
AzureSecretKeysEnum["AGENTS_API_KEY"] = "AGENTS-API-KEY";
|
|
42
|
+
AzureSecretKeysEnum["INTERSERVICES_COMMUNICATION_KEY"] = "INTERSERVICES-COMMUNICATION-KEY";
|
|
42
43
|
AzureSecretKeysEnum["REDIS_HOST"] = "REDIS-HOST";
|
|
43
44
|
AzureSecretKeysEnum["REDIS_KEY"] = "REDIS-KEY";
|
|
44
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 AGENTS_API_KEY = \"AGENTS-API-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;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":[]}
|
|
@@ -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":[]}
|
|
@@ -34,6 +34,7 @@ export declare enum AzureSecretKeysEnum {
|
|
|
34
34
|
GITHUB_WORKFLOW_URL = "GITHUB-WORKFLOW-URL",
|
|
35
35
|
DB_CONNECTION_STRING_ENCRYPTION_KEY = "DB-CONNECTION-STRING-ENCRYPTION-KEY",
|
|
36
36
|
AGENTS_API_KEY = "AGENTS-API-KEY",
|
|
37
|
+
INTERSERVICES_COMMUNICATION_KEY = "INTERSERVICES-COMMUNICATION-KEY",
|
|
37
38
|
REDIS_HOST = "REDIS-HOST",
|
|
38
39
|
REDIS_KEY = "REDIS-KEY",
|
|
39
40
|
REDIS_URL = "REDIS-URL",
|
|
@@ -39,6 +39,7 @@ var AzureSecretKeysEnum;
|
|
|
39
39
|
AzureSecretKeysEnum["GITHUB_WORKFLOW_URL"] = "GITHUB-WORKFLOW-URL";
|
|
40
40
|
AzureSecretKeysEnum["DB_CONNECTION_STRING_ENCRYPTION_KEY"] = "DB-CONNECTION-STRING-ENCRYPTION-KEY";
|
|
41
41
|
AzureSecretKeysEnum["AGENTS_API_KEY"] = "AGENTS-API-KEY";
|
|
42
|
+
AzureSecretKeysEnum["INTERSERVICES_COMMUNICATION_KEY"] = "INTERSERVICES-COMMUNICATION-KEY";
|
|
42
43
|
AzureSecretKeysEnum["REDIS_HOST"] = "REDIS-HOST";
|
|
43
44
|
AzureSecretKeysEnum["REDIS_KEY"] = "REDIS-KEY";
|
|
44
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"}
|
|
@@ -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"}
|
package/package.json
CHANGED