@heavybit/pendoadmin-shared-lib 1.1.0 → 1.1.1
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.
|
@@ -71,7 +71,7 @@ export declare function createTenantAccessControl(config: TenantAccessControlCon
|
|
|
71
71
|
* Default implementation of `getCompanyFeatures` using Knex
|
|
72
72
|
* against the `company_service_configs` table.
|
|
73
73
|
*
|
|
74
|
-
* Returns the `
|
|
74
|
+
* Returns the `service` of every row where `is_active = true`
|
|
75
75
|
* for the given company.
|
|
76
76
|
*/
|
|
77
77
|
export declare function knexFeatureResolver(knex: Knex): (companyId: string) => Promise<Feature[]>;
|
|
@@ -182,15 +182,15 @@ export function createTenantAccessControl(config) {
|
|
|
182
182
|
* Default implementation of `getCompanyFeatures` using Knex
|
|
183
183
|
* against the `company_service_configs` table.
|
|
184
184
|
*
|
|
185
|
-
* Returns the `
|
|
185
|
+
* Returns the `service` of every row where `is_active = true`
|
|
186
186
|
* for the given company.
|
|
187
187
|
*/
|
|
188
188
|
export function knexFeatureResolver(knex) {
|
|
189
189
|
return async (companyId) => {
|
|
190
190
|
const rows = await knex("company_service_configs")
|
|
191
|
-
.select("
|
|
191
|
+
.select("service")
|
|
192
192
|
.where({ company_id: companyId, is_active: true });
|
|
193
|
-
return rows.map((r) => r.
|
|
193
|
+
return rows.map((r) => r.service);
|
|
194
194
|
};
|
|
195
195
|
}
|
|
196
196
|
/**
|
|
@@ -230,7 +230,7 @@ export async function provisionCompanyPlan(knex, companyId, planName, plans = DE
|
|
|
230
230
|
// Upsert new configs
|
|
231
231
|
for (const feature of features) {
|
|
232
232
|
const existing = await knex("company_service_configs")
|
|
233
|
-
.where({ company_id: companyId,
|
|
233
|
+
.where({ company_id: companyId, service: feature })
|
|
234
234
|
.first();
|
|
235
235
|
if (existing) {
|
|
236
236
|
await knex("company_service_configs")
|
|
@@ -241,7 +241,7 @@ export async function provisionCompanyPlan(knex, companyId, planName, plans = DE
|
|
|
241
241
|
await knex("company_service_configs").insert({
|
|
242
242
|
id: knex.raw("UUID()"),
|
|
243
243
|
company_id: companyId,
|
|
244
|
-
|
|
244
|
+
service: feature,
|
|
245
245
|
config: JSON.stringify({}),
|
|
246
246
|
is_active: true,
|
|
247
247
|
created_at: knex.fn.now(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tenant-access-control.js","sourceRoot":"","sources":["../../src/tenant/tenant-access-control.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"tenant-access-control.js","sourceRoot":"","sources":["../../src/tenant/tenant-access-control.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -276,15 +276,15 @@ export function createTenantAccessControl(config: TenantAccessControlConfig) {
|
|
|
276
276
|
* Default implementation of `getCompanyFeatures` using Knex
|
|
277
277
|
* against the `company_service_configs` table.
|
|
278
278
|
*
|
|
279
|
-
* Returns the `
|
|
279
|
+
* Returns the `service` of every row where `is_active = true`
|
|
280
280
|
* for the given company.
|
|
281
281
|
*/
|
|
282
282
|
export function knexFeatureResolver(knex: Knex) {
|
|
283
283
|
return async (companyId: string): Promise<Feature[]> => {
|
|
284
284
|
const rows = await knex("company_service_configs")
|
|
285
|
-
.select("
|
|
285
|
+
.select("service")
|
|
286
286
|
.where({ company_id: companyId, is_active: true });
|
|
287
|
-
return rows.map((r: any) => r.
|
|
287
|
+
return rows.map((r: any) => r.service as Feature);
|
|
288
288
|
};
|
|
289
289
|
}
|
|
290
290
|
|
|
@@ -337,7 +337,7 @@ export async function provisionCompanyPlan(
|
|
|
337
337
|
// Upsert new configs
|
|
338
338
|
for (const feature of features) {
|
|
339
339
|
const existing = await knex("company_service_configs")
|
|
340
|
-
.where({ company_id: companyId,
|
|
340
|
+
.where({ company_id: companyId, service: feature })
|
|
341
341
|
.first();
|
|
342
342
|
|
|
343
343
|
if (existing) {
|
|
@@ -348,7 +348,7 @@ export async function provisionCompanyPlan(
|
|
|
348
348
|
await knex("company_service_configs").insert({
|
|
349
349
|
id: knex.raw("UUID()"),
|
|
350
350
|
company_id: companyId,
|
|
351
|
-
|
|
351
|
+
service: feature,
|
|
352
352
|
config: JSON.stringify({}),
|
|
353
353
|
is_active: true,
|
|
354
354
|
created_at: knex.fn.now(),
|