@ductape/sdk 0.1.16 → 0.1.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api/urls.js +10 -0
- package/dist/api/urls.js.map +1 -1
- package/dist/clients/products.client.js +2 -1
- package/dist/clients/products.client.js.map +1 -1
- package/dist/cloud/cloud-broker-link.util.js +9 -3
- package/dist/cloud/cloud-broker-link.util.js.map +1 -1
- package/dist/cloud/cloud-database-link.util.js +12 -5
- package/dist/cloud/cloud-database-link.util.js.map +1 -1
- package/dist/cloud/cloud-graph-link.util.js +10 -4
- package/dist/cloud/cloud-graph-link.util.js.map +1 -1
- package/dist/cloud/cloud-service-map.util.js +17 -1
- package/dist/cloud/cloud-service-map.util.js.map +1 -1
- package/dist/cloud/cloud-vector-link.util.js +9 -3
- package/dist/cloud/cloud-vector-link.util.js.map +1 -1
- package/dist/cloud/types/cloud.types.d.ts +17 -4
- package/dist/cloud/types/cloud.types.js +1 -1
- package/dist/products/services/products.service.js +65 -54
- package/dist/products/services/products.service.js.map +1 -1
- package/dist/products/validators/joi-validators/create.productDatabase.validator.js +5 -0
- package/dist/products/validators/joi-validators/create.productDatabase.validator.js.map +1 -1
- package/dist/products/validators/joi-validators/create.productGraph.validator.js +27 -16
- package/dist/products/validators/joi-validators/create.productGraph.validator.js.map +1 -1
- package/dist/products/validators/joi-validators/create.productMessageBrokers.validator.js +10 -1
- package/dist/products/validators/joi-validators/create.productMessageBrokers.validator.js.map +1 -1
- package/dist/products/validators/joi-validators/create.productVector.validator.js +6 -2
- package/dist/products/validators/joi-validators/create.productVector.validator.js.map +1 -1
- package/dist/types/processor.types.d.ts +7 -1
- package/dist/types/processor.types.js.map +1 -1
- package/dist/types/productsBuilder.types.d.ts +22 -0
- package/dist/types/productsBuilder.types.js.map +1 -1
- package/package.json +1 -1
|
@@ -1353,15 +1353,12 @@ class ProductsBuilderService {
|
|
|
1353
1353
|
const auth = this.getUserAccess();
|
|
1354
1354
|
const cloudApi = new cloudApi_service_1.CloudApiService(this.env_type);
|
|
1355
1355
|
const productTag = this.product.tag;
|
|
1356
|
-
const materializedEnvs = []
|
|
1357
|
-
|
|
1358
|
-
|
|
1359
|
-
|
|
1360
|
-
|
|
1361
|
-
|
|
1362
|
-
brokerTag: data.tag,
|
|
1363
|
-
}));
|
|
1364
|
-
}
|
|
1356
|
+
const materializedEnvs = await Promise.all((data.envs || []).map((env) => (0, cloud_broker_link_util_1.materializeCloudLinkedBrokerEnv)(env, {
|
|
1357
|
+
cloudApi,
|
|
1358
|
+
auth,
|
|
1359
|
+
productTag,
|
|
1360
|
+
brokerTag: data.tag,
|
|
1361
|
+
})));
|
|
1365
1362
|
data.envs = materializedEnvs;
|
|
1366
1363
|
console.log(`${logPrefix} Validating schema...`);
|
|
1367
1364
|
await validators_1.CreateMessageBrokerSchema.validateAsync(data);
|
|
@@ -1375,10 +1372,12 @@ class ProductsBuilderService {
|
|
|
1375
1372
|
throw new Error(`Env ${env.slug} does not exist`);
|
|
1376
1373
|
}
|
|
1377
1374
|
console.log(`${logPrefix} Env ${env.slug} exists, verified`);
|
|
1378
|
-
|
|
1379
|
-
|
|
1380
|
-
|
|
1381
|
-
|
|
1375
|
+
const isProvisioning = env.provisionStatus === 'provisioning';
|
|
1376
|
+
if (!isProvisioning) {
|
|
1377
|
+
console.log(`${logPrefix} Processing secrets for env: ${env.slug}...`);
|
|
1378
|
+
env.config = await this.processMessageBrokerConfigSecrets(env.config, env.type, data.tag, env.slug);
|
|
1379
|
+
console.log(`${logPrefix} Secrets processed for env: ${env.slug}`);
|
|
1380
|
+
}
|
|
1382
1381
|
console.log(`${logPrefix} Encrypting config for env: ${env.slug}...`);
|
|
1383
1382
|
env.config = (0, processor_utils_1.encrypt)(JSON.stringify(env.config), this.product.private_key);
|
|
1384
1383
|
console.log(`${logPrefix} Config encrypted for env: ${env.slug}`);
|
|
@@ -1386,6 +1385,10 @@ class ProductsBuilderService {
|
|
|
1386
1385
|
}
|
|
1387
1386
|
data.envs = processedEnvs;
|
|
1388
1387
|
console.log(`${logPrefix} All environments processed: ${processedEnvs.length}`);
|
|
1388
|
+
const hasProvisioningEnv = data.envs.some((env) => env.provisionStatus === 'provisioning');
|
|
1389
|
+
if (hasProvisioningEnv) {
|
|
1390
|
+
data.provisionStatus = 'provisioning';
|
|
1391
|
+
}
|
|
1389
1392
|
const envs = await this.fetchEnvs();
|
|
1390
1393
|
console.log(`${logPrefix} Product has ${envs.length} environments defined`);
|
|
1391
1394
|
for (const env of envs) {
|
|
@@ -1779,15 +1782,12 @@ class ProductsBuilderService {
|
|
|
1779
1782
|
const auth = this.getUserAccess();
|
|
1780
1783
|
const cloudApi = new cloudApi_service_1.CloudApiService(this.env_type);
|
|
1781
1784
|
const productTag = this.product.tag;
|
|
1782
|
-
const materializedEnvs = []
|
|
1783
|
-
|
|
1784
|
-
|
|
1785
|
-
|
|
1786
|
-
|
|
1787
|
-
|
|
1788
|
-
vectorTag: data.tag,
|
|
1789
|
-
}));
|
|
1790
|
-
}
|
|
1785
|
+
const materializedEnvs = await Promise.all((data.envs || []).map((env) => (0, cloud_vector_link_util_1.materializeCloudLinkedVectorEnv)(env, {
|
|
1786
|
+
cloudApi,
|
|
1787
|
+
auth,
|
|
1788
|
+
productTag,
|
|
1789
|
+
vectorTag: data.tag,
|
|
1790
|
+
})));
|
|
1791
1791
|
data.envs = materializedEnvs;
|
|
1792
1792
|
await validators_1.CreateProductVectorSchema.validateAsync(data);
|
|
1793
1793
|
const processedEnvs = [];
|
|
@@ -1796,12 +1796,12 @@ class ProductsBuilderService {
|
|
|
1796
1796
|
slug: env.slug,
|
|
1797
1797
|
hasApiKey: !!env.apiKey,
|
|
1798
1798
|
hasEndpoint: !!env.endpoint,
|
|
1799
|
+
provisionStatus: env.provisionStatus,
|
|
1799
1800
|
});
|
|
1800
1801
|
const exists = await this.fetchEnv(env.slug);
|
|
1801
1802
|
if (!exists) {
|
|
1802
1803
|
throw new Error(`Env ${env.slug} does not exist`);
|
|
1803
1804
|
}
|
|
1804
|
-
// Store API key as secret and encrypt
|
|
1805
1805
|
if (env.apiKey) {
|
|
1806
1806
|
console.log('[ProductsService.createVector] Converting API key to secret for env:', env.slug);
|
|
1807
1807
|
const originalApiKey = env.apiKey;
|
|
@@ -1830,6 +1830,10 @@ class ProductsBuilderService {
|
|
|
1830
1830
|
}
|
|
1831
1831
|
data.envs = processedEnvs;
|
|
1832
1832
|
console.log('[ProductsService.createVector] All envs processed, total:', processedEnvs.length);
|
|
1833
|
+
const hasProvisioningEnv = data.envs.some((env) => env.provisionStatus === 'provisioning');
|
|
1834
|
+
if (hasProvisioningEnv) {
|
|
1835
|
+
data.provisionStatus = 'provisioning';
|
|
1836
|
+
}
|
|
1833
1837
|
const envs = await this.fetchEnvs();
|
|
1834
1838
|
for (const env of envs) {
|
|
1835
1839
|
const exists = data.envs.findIndex((vecEnv) => vecEnv.slug === env.slug);
|
|
@@ -4239,16 +4243,15 @@ class ProductsBuilderService {
|
|
|
4239
4243
|
const auth = this.getUserAccess();
|
|
4240
4244
|
const cloudApi = new cloudApi_service_1.CloudApiService(this.env_type);
|
|
4241
4245
|
const productTag = this.product.tag;
|
|
4242
|
-
|
|
4243
|
-
|
|
4244
|
-
|
|
4245
|
-
|
|
4246
|
-
|
|
4247
|
-
|
|
4248
|
-
|
|
4249
|
-
|
|
4250
|
-
}
|
|
4251
|
-
data.envs = materializedEnvs;
|
|
4246
|
+
data.envs = (await Promise.all((data.envs || []).map(async (env) => (0, cloud_database_link_util_1.materializeCloudLinkedDatabaseEnv)(env, {
|
|
4247
|
+
cloudApi,
|
|
4248
|
+
auth,
|
|
4249
|
+
productTag,
|
|
4250
|
+
databaseTag: data.tag,
|
|
4251
|
+
})))).map((env) => {
|
|
4252
|
+
const _a = env, { masterPassword: _mp, importExisting: _ie } = _a, rest = __rest(_a, ["masterPassword", "importExisting"]);
|
|
4253
|
+
return rest;
|
|
4254
|
+
});
|
|
4252
4255
|
await validators_1.CreateProductDatabaseSchema.validateAsync(data);
|
|
4253
4256
|
const processedEnvs = [];
|
|
4254
4257
|
for (const env of data.envs) {
|
|
@@ -4256,10 +4259,16 @@ class ProductsBuilderService {
|
|
|
4256
4259
|
if (!exists) {
|
|
4257
4260
|
throw new Error(`Env ${env.slug} does not exist`);
|
|
4258
4261
|
}
|
|
4259
|
-
|
|
4262
|
+
if (env.connection_url) {
|
|
4263
|
+
env.connection_url = (0, processor_utils_1.encrypt)(env.connection_url, this.product.private_key);
|
|
4264
|
+
}
|
|
4260
4265
|
processedEnvs.push(env);
|
|
4261
4266
|
}
|
|
4262
4267
|
data.envs = processedEnvs;
|
|
4268
|
+
const hasProvisioningEnv = data.envs.some((env) => env.provisionStatus === 'provisioning');
|
|
4269
|
+
if (hasProvisioningEnv) {
|
|
4270
|
+
data.provisionStatus = 'provisioning';
|
|
4271
|
+
}
|
|
4263
4272
|
const envs = await this.fetchEnvs();
|
|
4264
4273
|
for (const env of envs) {
|
|
4265
4274
|
const exists = data.envs.findIndex((dbEnv) => dbEnv.slug === env.slug);
|
|
@@ -4400,15 +4409,12 @@ class ProductsBuilderService {
|
|
|
4400
4409
|
const auth = this.getUserAccess();
|
|
4401
4410
|
const cloudApi = new cloudApi_service_1.CloudApiService(this.env_type);
|
|
4402
4411
|
const productTag = this.product.tag;
|
|
4403
|
-
const materializedEnvs = []
|
|
4404
|
-
|
|
4405
|
-
|
|
4406
|
-
|
|
4407
|
-
|
|
4408
|
-
|
|
4409
|
-
graphTag: data.tag,
|
|
4410
|
-
}));
|
|
4411
|
-
}
|
|
4412
|
+
const materializedEnvs = await Promise.all((data.envs || []).map((env) => (0, cloud_graph_link_util_1.materializeCloudLinkedGraphEnv)(env, {
|
|
4413
|
+
cloudApi,
|
|
4414
|
+
auth,
|
|
4415
|
+
productTag,
|
|
4416
|
+
graphTag: data.tag,
|
|
4417
|
+
})));
|
|
4412
4418
|
data.envs = materializedEnvs;
|
|
4413
4419
|
await validators_1.CreateProductGraphSchema.validateAsync(data);
|
|
4414
4420
|
const processedEnvs = [];
|
|
@@ -4418,22 +4424,23 @@ class ProductsBuilderService {
|
|
|
4418
4424
|
hasConnectionUrl: !!env.connection_url,
|
|
4419
4425
|
hasUsername: !!env.username,
|
|
4420
4426
|
hasPassword: !!env.password,
|
|
4427
|
+
provisionStatus: env.provisionStatus,
|
|
4421
4428
|
});
|
|
4422
4429
|
const exists = await this.fetchEnv(env.slug);
|
|
4423
4430
|
if (!exists) {
|
|
4424
4431
|
throw new Error(`Env ${env.slug} does not exist`);
|
|
4425
4432
|
}
|
|
4426
|
-
|
|
4427
|
-
|
|
4428
|
-
|
|
4429
|
-
|
|
4430
|
-
|
|
4431
|
-
|
|
4432
|
-
|
|
4433
|
-
|
|
4434
|
-
|
|
4435
|
-
|
|
4436
|
-
|
|
4433
|
+
if (env.connection_url) {
|
|
4434
|
+
console.log('[ProductsService.createGraph] Converting connection URL to secret for env:', env.slug);
|
|
4435
|
+
const originalUrl = env.connection_url;
|
|
4436
|
+
env.connection_url = await this.storeGraphConnectionUrlAsSecret(env.connection_url, data.tag, env.slug);
|
|
4437
|
+
console.log('[ProductsService.createGraph] Connection URL after secret conversion:', {
|
|
4438
|
+
wasConverted: originalUrl !== env.connection_url,
|
|
4439
|
+
isSecretRef: (_c = env.connection_url) === null || _c === void 0 ? void 0 : _c.startsWith('$Secret{'),
|
|
4440
|
+
});
|
|
4441
|
+
env.connection_url = (0, processor_utils_1.encrypt)(env.connection_url, this.product.private_key);
|
|
4442
|
+
console.log('[ProductsService.createGraph] Connection URL encrypted');
|
|
4443
|
+
}
|
|
4437
4444
|
if (env.username) {
|
|
4438
4445
|
console.log('[ProductsService.createGraph] Encrypting username for env:', env.slug);
|
|
4439
4446
|
env.username = (0, processor_utils_1.encrypt)(env.username, this.product.private_key);
|
|
@@ -4447,6 +4454,10 @@ class ProductsBuilderService {
|
|
|
4447
4454
|
}
|
|
4448
4455
|
data.envs = processedEnvs;
|
|
4449
4456
|
console.log('[ProductsService.createGraph] All envs processed, total:', processedEnvs.length);
|
|
4457
|
+
const hasProvisioningEnv = data.envs.some((env) => env.provisionStatus === 'provisioning');
|
|
4458
|
+
if (hasProvisioningEnv) {
|
|
4459
|
+
data.provisionStatus = 'provisioning';
|
|
4460
|
+
}
|
|
4450
4461
|
const envs = await this.fetchEnvs();
|
|
4451
4462
|
for (const env of envs) {
|
|
4452
4463
|
const exists = data.envs.findIndex((graphEnv) => graphEnv.slug === env.slug);
|