@antelopejs/interface-dms-saas 0.2.7 → 0.4.0
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/README.md +19 -0
- package/dist/billing.d.ts +2 -0
- package/dist/billing.js +2 -1
- package/dist/billing.js.map +1 -1
- package/dist/db/models/creditNotes.model.d.ts +1 -0
- package/dist/db/models/creditNotes.model.js +9 -0
- package/dist/db/models/creditNotes.model.js.map +1 -1
- package/dist/db/models/planMigrations.model.d.ts +5 -2
- package/dist/db/models/planMigrations.model.js +25 -8
- package/dist/db/models/planMigrations.model.js.map +1 -1
- package/dist/db/models/segments.model.d.ts +7 -2
- package/dist/db/models/segments.model.js +14 -3
- package/dist/db/models/segments.model.js.map +1 -1
- package/dist/db/models/tenantBillingState.model.d.ts +3 -2
- package/dist/db/models/tenantBillingState.model.js +47 -5
- package/dist/db/models/tenantBillingState.model.js.map +1 -1
- package/dist/db/models/tenantSubscriptions.model.d.ts +1 -0
- package/dist/db/models/tenantSubscriptions.model.js +6 -0
- package/dist/db/models/tenantSubscriptions.model.js.map +1 -1
- package/dist/db/models/userSegments.model.d.ts +2 -1
- package/dist/db/models/userSegments.model.js +2 -2
- package/dist/db/models/userSegments.model.js.map +1 -1
- package/dist/db/tables/billingSettings.table.d.ts +1 -0
- package/dist/db/tables/billingSettings.table.js +4 -0
- package/dist/db/tables/billingSettings.table.js.map +1 -1
- package/dist/db/tables/features.table.d.ts +9 -1
- package/dist/db/tables/features.table.js +7 -2
- package/dist/db/tables/features.table.js.map +1 -1
- package/dist/db/tables/invoices.table.d.ts +6 -0
- package/dist/db/tables/invoices.table.js +24 -0
- package/dist/db/tables/invoices.table.js.map +1 -1
- package/dist/db/tables/legalDocuments.table.d.ts +8 -0
- package/dist/db/tables/legalDocuments.table.js +10 -1
- package/dist/db/tables/legalDocuments.table.js.map +1 -1
- package/dist/db/tables/planMigrations.table.d.ts +19 -1
- package/dist/db/tables/planMigrations.table.js +60 -1
- package/dist/db/tables/planMigrations.table.js.map +1 -1
- package/dist/db/tables/plans.table.d.ts +1 -0
- package/dist/db/tables/plans.table.js +2 -1
- package/dist/db/tables/plans.table.js.map +1 -1
- package/dist/db/tables/segments.table.d.ts +6 -0
- package/dist/db/tables/segments.table.js +8 -0
- package/dist/db/tables/segments.table.js.map +1 -1
- package/dist/db/tables/tenantBillingState.table.d.ts +48 -1
- package/dist/db/tables/tenantBillingState.table.js +100 -1
- package/dist/db/tables/tenantBillingState.table.js.map +1 -1
- package/dist/db/tables/tenantSubscriptions.table.d.ts +2 -0
- package/dist/db/tables/tenantSubscriptions.table.js +9 -0
- package/dist/db/tables/tenantSubscriptions.table.js.map +1 -1
- package/dist/page-definitions.d.ts +1 -8
- package/dist/page-definitions.js +1 -27
- package/dist/page-definitions.js.map +1 -1
- package/dist/pages.d.ts +1 -2
- package/dist/pages.js +13 -11
- package/dist/pages.js.map +1 -1
- package/dist/plans.d.ts +5 -3
- package/dist/plans.js +23 -4
- package/dist/plans.js.map +1 -1
- package/package.json +3 -3
|
@@ -1,17 +1,10 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ModuleInfo, PageInfo } from "@antelopejs/interface-dms/page";
|
|
2
2
|
interface SaasModuleDefinition {
|
|
3
3
|
fullId: string;
|
|
4
4
|
fullSlug: string;
|
|
5
5
|
registration: ModuleInfo;
|
|
6
6
|
}
|
|
7
|
-
interface WorkspaceSettingsCategoryDefinition extends Omit<MenuOptions, "category" | "module"> {
|
|
8
|
-
id: string;
|
|
9
|
-
fullId: string;
|
|
10
|
-
fullSlug: string;
|
|
11
|
-
}
|
|
12
7
|
export declare const MODULES_ROOT_DEFINITION: PageInfo;
|
|
13
|
-
export declare const SETTINGS_ROOT_DEFINITION: PageInfo;
|
|
14
8
|
export declare const SAAS_MODULE_ID = "saas";
|
|
15
9
|
export declare const SAAS_MODULE_DEFINITION: SaasModuleDefinition;
|
|
16
|
-
export declare const WORKSPACE_SETTINGS_CATEGORY_DEFINITION: WorkspaceSettingsCategoryDefinition;
|
|
17
10
|
export {};
|
package/dist/page-definitions.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.SAAS_MODULE_DEFINITION = exports.SAAS_MODULE_ID = exports.MODULES_ROOT_DEFINITION = void 0;
|
|
4
4
|
exports.MODULES_ROOT_DEFINITION = {
|
|
5
5
|
id: "modules",
|
|
6
6
|
fullId: "modules",
|
|
@@ -19,23 +19,6 @@ exports.MODULES_ROOT_DEFINITION = {
|
|
|
19
19
|
authOnly: undefined,
|
|
20
20
|
bypassTenantAccessGate: undefined,
|
|
21
21
|
};
|
|
22
|
-
exports.SETTINGS_ROOT_DEFINITION = {
|
|
23
|
-
id: "settings",
|
|
24
|
-
fullId: "settings",
|
|
25
|
-
fullSlug: "/settings",
|
|
26
|
-
layoutUrl: "/settings/pagelayout",
|
|
27
|
-
category: undefined,
|
|
28
|
-
displayName: "$page.settings.title",
|
|
29
|
-
description: "$page.settings.intro",
|
|
30
|
-
urlSlug: "/settings",
|
|
31
|
-
icon: "i-ph-gear",
|
|
32
|
-
order: 3,
|
|
33
|
-
noComponentPermissions: true,
|
|
34
|
-
hidden: undefined,
|
|
35
|
-
publicAccess: undefined,
|
|
36
|
-
authOnly: undefined,
|
|
37
|
-
bypassTenantAccessGate: undefined,
|
|
38
|
-
};
|
|
39
22
|
exports.SAAS_MODULE_ID = "saas";
|
|
40
23
|
exports.SAAS_MODULE_DEFINITION = {
|
|
41
24
|
fullId: `${exports.MODULES_ROOT_DEFINITION.fullId}.${exports.SAAS_MODULE_ID}`,
|
|
@@ -48,13 +31,4 @@ exports.SAAS_MODULE_DEFINITION = {
|
|
|
48
31
|
landingPage: "dashboard",
|
|
49
32
|
},
|
|
50
33
|
};
|
|
51
|
-
exports.WORKSPACE_SETTINGS_CATEGORY_DEFINITION = {
|
|
52
|
-
id: "workspace",
|
|
53
|
-
fullId: `${exports.SETTINGS_ROOT_DEFINITION.fullId}.workspace`,
|
|
54
|
-
fullSlug: `${exports.SETTINGS_ROOT_DEFINITION.fullSlug}/workspace`,
|
|
55
|
-
displayName: "$saas.workspace.settings.title",
|
|
56
|
-
urlSlug: "workspace",
|
|
57
|
-
icon: "i-ph-buildings",
|
|
58
|
-
order: 2,
|
|
59
|
-
};
|
|
60
34
|
//# sourceMappingURL=page-definitions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"page-definitions.js","sourceRoot":"","sources":["../src/page-definitions.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"page-definitions.js","sourceRoot":"","sources":["../src/page-definitions.ts"],"names":[],"mappings":";;;AAQa,QAAA,uBAAuB,GAAa;IAC/C,EAAE,EAAE,SAAS;IACb,MAAM,EAAE,SAAS;IACjB,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,qBAAqB;IAChC,QAAQ,EAAE,SAAS;IACnB,WAAW,EAAE,gBAAgB;IAC7B,WAAW,EAAE,gBAAgB;IAC7B,OAAO,EAAE,UAAU;IACnB,IAAI,EAAE,mBAAmB;IACzB,KAAK,EAAE,CAAC;IACR,sBAAsB,EAAE,IAAI;IAC5B,YAAY,EAAE,IAAI;IAClB,MAAM,EAAE,SAAS;IACjB,YAAY,EAAE,SAAS;IACvB,QAAQ,EAAE,SAAS;IACnB,sBAAsB,EAAE,SAAS;CAClC,CAAC;AAEW,QAAA,cAAc,GAAG,MAAM,CAAC;AAExB,QAAA,sBAAsB,GAAyB;IAC1D,MAAM,EAAE,GAAG,+BAAuB,CAAC,MAAM,IAAI,sBAAc,EAAE;IAC7D,QAAQ,EAAE,GAAG,+BAAuB,CAAC,QAAQ,IAAI,sBAAc,EAAE;IACjE,YAAY,EAAE;QACZ,EAAE,EAAE,sBAAc;QAClB,KAAK,EAAE,oBAAoB;QAC3B,WAAW,EAAE,0BAA0B;QACvC,IAAI,EAAE,gBAAgB;QACtB,WAAW,EAAE,WAAW;KACzB;CACF,CAAC"}
|
package/dist/pages.d.ts
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
import type { Component, PlacementSide } from "@antelopejs/interface-dms/component";
|
|
2
2
|
import { type CategoryInfo, type PageExtensionComponent } from "@antelopejs/interface-dms/page";
|
|
3
|
-
export declare const workspaceSettingsCategory: CategoryInfo;
|
|
4
|
-
export declare const GetWorkspaceSettingsCategory: () => Promise<CategoryInfo>;
|
|
5
3
|
export declare const tenantBillingPage: {
|
|
6
4
|
readonly id: "billing";
|
|
7
5
|
readonly fullId: "settings.workspace.billing";
|
|
@@ -17,6 +15,7 @@ export declare const tenantBillingPage: {
|
|
|
17
15
|
};
|
|
18
16
|
};
|
|
19
17
|
export type TenantBillingPageComponentKey = (typeof tenantBillingPage.components)[keyof typeof tenantBillingPage.components];
|
|
18
|
+
export declare const tenantBillingPageAnchorPaths: Readonly<Record<TenantBillingPageComponentKey, readonly string[]>>;
|
|
20
19
|
export interface TenantBillingPageExtensionComponentBase {
|
|
21
20
|
key: string;
|
|
22
21
|
component: Component;
|
package/dist/pages.js
CHANGED
|
@@ -1,19 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.platformWorkspaceDetailPage = exports.GetPlatformSaasModule = exports.platformSaasModule = exports.
|
|
3
|
+
exports.platformWorkspaceDetailPage = exports.GetPlatformSaasModule = exports.platformSaasModule = exports.tenantBillingPageAnchorPaths = exports.tenantBillingPage = void 0;
|
|
4
4
|
exports.RegisterTenantBillingPageExtension = RegisterTenantBillingPageExtension;
|
|
5
5
|
exports.RegisterPlatformWorkspaceDetailPageExtension = RegisterPlatformWorkspaceDetailPageExtension;
|
|
6
6
|
const interface_core_1 = require("@antelopejs/interface-core");
|
|
7
7
|
const page_1 = require("@antelopejs/interface-dms/page");
|
|
8
8
|
const page_definitions_1 = require("./page-definitions");
|
|
9
|
-
exports.workspaceSettingsCategory = {
|
|
10
|
-
...page_definitions_1.WORKSPACE_SETTINGS_CATEGORY_DEFINITION,
|
|
11
|
-
category: page_definitions_1.SETTINGS_ROOT_DEFINITION,
|
|
12
|
-
urlTransparent: false,
|
|
13
|
-
hidden: undefined,
|
|
14
|
-
bypassTenantAccessGate: undefined,
|
|
15
|
-
};
|
|
16
|
-
exports.GetWorkspaceSettingsCategory = (0, interface_core_1.InterfaceFunction)();
|
|
17
9
|
exports.tenantBillingPage = {
|
|
18
10
|
id: "billing",
|
|
19
11
|
fullId: "settings.workspace.billing",
|
|
@@ -28,6 +20,15 @@ exports.tenantBillingPage = {
|
|
|
28
20
|
table: "table",
|
|
29
21
|
},
|
|
30
22
|
};
|
|
23
|
+
exports.tenantBillingPageAnchorPaths = {
|
|
24
|
+
freeAccessBanner: ["freeAccessBanner"],
|
|
25
|
+
pastDueAlert: ["pastDueAlert"],
|
|
26
|
+
planCard: ["overview", "plan", "current", "planCard"],
|
|
27
|
+
paymentMethod: ["overview", "payment", "method", "paymentMethod"],
|
|
28
|
+
refundButton: ["overview", "payment", "guarantee", "refundButton"],
|
|
29
|
+
billingForm: ["billingForm"],
|
|
30
|
+
table: ["invoices", "table"],
|
|
31
|
+
};
|
|
31
32
|
exports.platformSaasModule = {
|
|
32
33
|
id: page_definitions_1.SAAS_MODULE_DEFINITION.registration.id,
|
|
33
34
|
fullId: page_definitions_1.SAAS_MODULE_DEFINITION.fullId,
|
|
@@ -59,8 +60,9 @@ function toPageExtensionComponent(input) {
|
|
|
59
60
|
side: input.side ?? "end",
|
|
60
61
|
order: input.order ?? 0,
|
|
61
62
|
};
|
|
62
|
-
if (input.anchorKey)
|
|
63
|
-
component.anchorPath = [input.anchorKey];
|
|
63
|
+
if (input.anchorKey) {
|
|
64
|
+
component.anchorPath = exports.tenantBillingPageAnchorPaths[input.anchorKey];
|
|
65
|
+
}
|
|
64
66
|
return component;
|
|
65
67
|
}
|
|
66
68
|
function RegisterTenantBillingPageExtension(extension) {
|
package/dist/pages.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pages.js","sourceRoot":"","sources":["../src/pages.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"pages.js","sourceRoot":"","sources":["../src/pages.ts"],"names":[],"mappings":"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"}
|
package/dist/plans.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { FeatureModel, FeatureValueType, Plan, PlanInterval, PlanModel } from "./db";
|
|
1
|
+
import type { Feature, FeatureModel, FeatureValueType, Plan, PlanInterval, PlanModel } from "./db";
|
|
2
2
|
export interface TenantPlanFeature {
|
|
3
3
|
featureId: string;
|
|
4
4
|
displayName: string;
|
|
@@ -23,5 +23,7 @@ export interface TenantPlanCatalog {
|
|
|
23
23
|
features: TenantPlanFeature[];
|
|
24
24
|
}
|
|
25
25
|
export declare function monthlyPrice(plan: Plan): number;
|
|
26
|
-
export declare function isDowngrade(current: Plan | null, target: Plan): boolean;
|
|
27
|
-
export declare
|
|
26
|
+
export declare function isDowngrade(current: Plan | null, target: Plan, seats?: number): boolean;
|
|
27
|
+
export declare const FEATURE_LOCALIZED_FIELDS: Array<keyof Feature>;
|
|
28
|
+
export declare function localizeFeature(feature: Feature, locale: string): Feature;
|
|
29
|
+
export declare function buildTenantPlanCatalog(planModel: PlanModel, featureModel: FeatureModel, plans: Plan[], locale: string): Promise<TenantPlanCatalog>;
|
package/dist/plans.js
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FEATURE_LOCALIZED_FIELDS = void 0;
|
|
3
4
|
exports.monthlyPrice = monthlyPrice;
|
|
4
5
|
exports.isDowngrade = isDowngrade;
|
|
6
|
+
exports.localizeFeature = localizeFeature;
|
|
5
7
|
exports.buildTenantPlanCatalog = buildTenantPlanCatalog;
|
|
6
8
|
const db_1 = require("./db");
|
|
7
9
|
const MONTHS_PER_INTERVAL = {
|
|
@@ -11,10 +13,27 @@ const MONTHS_PER_INTERVAL = {
|
|
|
11
13
|
function monthlyPrice(plan) {
|
|
12
14
|
return plan.price / MONTHS_PER_INTERVAL[plan.interval];
|
|
13
15
|
}
|
|
14
|
-
|
|
16
|
+
const SEAT_BILLING_MODE = "seat";
|
|
17
|
+
const MIN_BILLED_SEATS = 1;
|
|
18
|
+
function monthlyCost(plan, seats) {
|
|
19
|
+
const units = plan.billingMode === SEAT_BILLING_MODE
|
|
20
|
+
? Math.max(MIN_BILLED_SEATS, seats)
|
|
21
|
+
: 1;
|
|
22
|
+
return monthlyPrice(plan) * units;
|
|
23
|
+
}
|
|
24
|
+
function isDowngrade(current, target, seats = MIN_BILLED_SEATS) {
|
|
15
25
|
if (!current)
|
|
16
26
|
return false;
|
|
17
|
-
return
|
|
27
|
+
return monthlyCost(target, seats) < monthlyCost(current, seats);
|
|
28
|
+
}
|
|
29
|
+
exports.FEATURE_LOCALIZED_FIELDS = [
|
|
30
|
+
"displayName",
|
|
31
|
+
"description",
|
|
32
|
+
"tooltip",
|
|
33
|
+
"unit",
|
|
34
|
+
];
|
|
35
|
+
function localizeFeature(feature, locale) {
|
|
36
|
+
return feature.localize(locale, exports.FEATURE_LOCALIZED_FIELDS);
|
|
18
37
|
}
|
|
19
38
|
function toPlanFeature(feature) {
|
|
20
39
|
return {
|
|
@@ -46,14 +65,14 @@ async function toPlanView(planModel, plan, knownFeatureIds) {
|
|
|
46
65
|
featureValues,
|
|
47
66
|
};
|
|
48
67
|
}
|
|
49
|
-
async function buildTenantPlanCatalog(planModel, featureModel, plans) {
|
|
68
|
+
async function buildTenantPlanCatalog(planModel, featureModel, plans, locale) {
|
|
50
69
|
const features = await featureModel.getAll();
|
|
51
70
|
const knownFeatureIds = new Set(features.map((feature) => feature._id));
|
|
52
71
|
const views = await Promise.all(plans.map((plan) => toPlanView(planModel, plan, knownFeatureIds)));
|
|
53
72
|
return {
|
|
54
73
|
plans: views.sort((left, right) => left.order - right.order),
|
|
55
74
|
features: features
|
|
56
|
-
.map(toPlanFeature)
|
|
75
|
+
.map((feature) => toPlanFeature(localizeFeature(feature, locale)))
|
|
57
76
|
.sort((left, right) => left.order - right.order),
|
|
58
77
|
};
|
|
59
78
|
}
|
package/dist/plans.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plans.js","sourceRoot":"","sources":["../src/plans.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"plans.js","sourceRoot":"","sources":["../src/plans.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@antelopejs/interface-dms-saas",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"description": "Public interfaces for the DMS SaaS module",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"repository": {
|
|
@@ -57,8 +57,8 @@
|
|
|
57
57
|
"prepack": "pnpm run build"
|
|
58
58
|
},
|
|
59
59
|
"dependencies": {
|
|
60
|
-
"@antelopejs/interface-data-api": ">=0.
|
|
61
|
-
"@antelopejs/interface-dms": ">=0.
|
|
60
|
+
"@antelopejs/interface-data-api": ">=0.2.0 <1.0.0",
|
|
61
|
+
"@antelopejs/interface-dms": ">=0.5.5 <1.0.0"
|
|
62
62
|
},
|
|
63
63
|
"devDependencies": {
|
|
64
64
|
"@antelopejs/interface-core": ">=0.1.1 <1.0.0",
|