fluxmail 0.9.0 → 0.11.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 +1 -1
- package/dist/accounts/googleAuth.d.ts +4 -2
- package/dist/accounts/googleAuth.d.ts.map +1 -1
- package/dist/accounts/googleAuth.js +20 -85
- package/dist/accounts/googleAuth.js.map +1 -1
- package/dist/accounts/microsoftAuth.d.ts +2 -1
- package/dist/accounts/microsoftAuth.d.ts.map +1 -1
- package/dist/accounts/microsoftAuth.js +16 -80
- package/dist/accounts/microsoftAuth.js.map +1 -1
- package/dist/accounts/oauthCallback.d.ts +52 -0
- package/dist/accounts/oauthCallback.d.ts.map +1 -0
- package/dist/accounts/oauthCallback.js +237 -0
- package/dist/accounts/oauthCallback.js.map +1 -0
- package/dist/accounts/registry.d.ts.map +1 -1
- package/dist/accounts/registry.js +12 -5
- package/dist/accounts/registry.js.map +1 -1
- package/dist/accounts/telemetry.d.ts +6 -0
- package/dist/accounts/telemetry.d.ts.map +1 -1
- package/dist/accounts/telemetry.js +19 -0
- package/dist/accounts/telemetry.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +114 -36
- package/dist/cli.js.map +1 -1
- package/dist/cliInstances.d.ts +5 -2
- package/dist/cliInstances.d.ts.map +1 -1
- package/dist/cliInstances.js +74 -22
- package/dist/cliInstances.js.map +1 -1
- package/dist/cliMail.d.ts +2 -0
- package/dist/cliMail.d.ts.map +1 -1
- package/dist/cliMail.js +113 -19
- package/dist/cliMail.js.map +1 -1
- package/dist/cliOutput.d.ts +9 -0
- package/dist/cliOutput.d.ts.map +1 -0
- package/dist/cliOutput.js +76 -0
- package/dist/cliOutput.js.map +1 -0
- package/dist/context.js +1 -1
- package/dist/context.js.map +1 -1
- package/dist/http/admin.d.ts.map +1 -1
- package/dist/http/admin.js +2 -0
- package/dist/http/admin.js.map +1 -1
- package/dist/http/app.d.ts.map +1 -1
- package/dist/http/app.js +4 -0
- package/dist/http/app.js.map +1 -1
- package/dist/http/identity.d.ts.map +1 -1
- package/dist/http/identity.js +2 -0
- package/dist/http/identity.js.map +1 -1
- package/dist/http/rest.d.ts.map +1 -1
- package/dist/http/rest.js +270 -48
- package/dist/http/rest.js.map +1 -1
- package/dist/licensing/entitlements.d.ts +23 -5
- package/dist/licensing/entitlements.d.ts.map +1 -1
- package/dist/licensing/entitlements.js +101 -22
- package/dist/licensing/entitlements.js.map +1 -1
- package/dist/licensing/lease.d.ts +1 -1
- package/dist/licensing/lease.d.ts.map +1 -1
- package/dist/licensing/refresher.d.ts.map +1 -1
- package/dist/licensing/refresher.js +5 -2
- package/dist/licensing/refresher.js.map +1 -1
- package/dist/mcp/buildServer.d.ts.map +1 -1
- package/dist/mcp/buildServer.js +236 -78
- package/dist/mcp/buildServer.js.map +1 -1
- package/dist/mcp/outputSchemas.d.ts +2923 -0
- package/dist/mcp/outputSchemas.d.ts.map +1 -0
- package/dist/mcp/outputSchemas.js +108 -0
- package/dist/mcp/outputSchemas.js.map +1 -0
- package/dist/scheduler/sendScheduler.d.ts +2 -0
- package/dist/scheduler/sendScheduler.d.ts.map +1 -1
- package/dist/scheduler/sendScheduler.js +13 -3
- package/dist/scheduler/sendScheduler.js.map +1 -1
- package/dist/service/deliveryCoordinator.d.ts +45 -0
- package/dist/service/deliveryCoordinator.d.ts.map +1 -0
- package/dist/service/deliveryCoordinator.js +296 -0
- package/dist/service/deliveryCoordinator.js.map +1 -0
- package/dist/service/emailService.d.ts +48 -5
- package/dist/service/emailService.d.ts.map +1 -1
- package/dist/service/emailService.js +258 -37
- package/dist/service/emailService.js.map +1 -1
- package/dist/service/publicErrors.d.ts +12 -0
- package/dist/service/publicErrors.d.ts.map +1 -0
- package/dist/service/publicErrors.js +41 -0
- package/dist/service/publicErrors.js.map +1 -0
- package/dist/service/searchCursor.d.ts +2 -0
- package/dist/service/searchCursor.d.ts.map +1 -1
- package/dist/service/searchCursor.js +6 -2
- package/dist/service/searchCursor.js.map +1 -1
- package/dist/storage/db.d.ts +252 -2
- package/dist/storage/db.d.ts.map +1 -1
- package/dist/storage/db.js +57 -1
- package/dist/storage/db.js.map +1 -1
- package/dist/storage/members.d.ts.map +1 -1
- package/dist/storage/members.js +3 -1
- package/dist/storage/members.js.map +1 -1
- package/dist/storage/restIdempotency.d.ts +6 -0
- package/dist/storage/restIdempotency.d.ts.map +1 -1
- package/dist/storage/restIdempotency.js +8 -0
- package/dist/storage/restIdempotency.js.map +1 -1
- package/dist/storage/scheduledSends.d.ts +2 -1
- package/dist/storage/scheduledSends.d.ts.map +1 -1
- package/dist/storage/scheduledSends.js +6 -0
- package/dist/storage/scheduledSends.js.map +1 -1
- package/package.json +5 -5
package/dist/http/rest.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rest.js","sourceRoot":"","sources":["../../src/http/rest.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"rest.js","sourceRoot":"","sources":["../../src/http/rest.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
import { type FluxmailDb } from '../storage/db.js';
|
|
2
2
|
/** After a lease expires, paid limits are honored this much longer before the plan lapses. */
|
|
3
3
|
export declare const GRACE_PERIOD_MS: number;
|
|
4
|
+
/**
|
|
5
|
+
* When a paid lease lowers the caps below current usage (for example, after
|
|
6
|
+
* removing members), email tools keep working this long so the operator can
|
|
7
|
+
* remove the extra mailboxes or members.
|
|
8
|
+
*/
|
|
9
|
+
export declare const CAP_REDUCTION_GRACE_MS: number;
|
|
4
10
|
export interface Entitlements {
|
|
5
11
|
/** 'personal' when unlicensed, otherwise the plan name from the signed lease. */
|
|
6
12
|
plan: string;
|
|
@@ -23,7 +29,7 @@ export declare function readLeaseRow(db: DbReader): {
|
|
|
23
29
|
updatedAt: number;
|
|
24
30
|
} | undefined;
|
|
25
31
|
export declare function saveLeaseToken(db: Pick<FluxmailDb, 'insert'>, token: string): void;
|
|
26
|
-
export declare function clearLease(db:
|
|
32
|
+
export declare function clearLease(db: FluxmailDb): void;
|
|
27
33
|
/**
|
|
28
34
|
* Effective entitlements: the plan and caps from the cached lease while it
|
|
29
35
|
* verifies against a pinned license-server key, Personal-plan limits otherwise.
|
|
@@ -34,21 +40,33 @@ export declare function clearLease(db: Pick<FluxmailDb, 'delete'>): void;
|
|
|
34
40
|
export declare function getEntitlements(db: DbReader, now?: Date): Entitlements;
|
|
35
41
|
export declare function assertAccountLimit(current: number, entitlements: Entitlements): void;
|
|
36
42
|
export declare function assertMemberLimit(current: number, entitlements: Entitlements): void;
|
|
43
|
+
/** Freeze new mailboxes and members while a paid instance exceeds either cap. */
|
|
44
|
+
export declare function assertCanIncreaseUsage(db: DbReader): void;
|
|
37
45
|
export interface LicenseState {
|
|
38
46
|
entitlements: Entitlements;
|
|
39
47
|
accountCount: number;
|
|
40
48
|
memberCount: number;
|
|
41
|
-
/** Usage exceeds the entitled caps
|
|
49
|
+
/** Usage exceeds the entitled caps, after a paid license lapsed or its caps went down. */
|
|
42
50
|
overQuota: boolean;
|
|
51
|
+
/** Over quota and past any cap-reduction grace, so email tools are blocked. */
|
|
52
|
+
blocked: boolean;
|
|
53
|
+
/** While a lowered paid cap is still in grace: when email tools will be blocked. */
|
|
54
|
+
capGraceUntil?: string;
|
|
43
55
|
/** Renewal warning while in grace or after a lapse; undefined when all is well. */
|
|
44
56
|
warning?: string;
|
|
45
57
|
}
|
|
58
|
+
/**
|
|
59
|
+
* Start the cap-reduction grace period when a licensed instance first finds
|
|
60
|
+
* itself over its caps, and clear it once usage fits. Call after the lease
|
|
61
|
+
* changes. A later lease that is still over the caps keeps the original start.
|
|
62
|
+
*/
|
|
63
|
+
export declare function recordCapState(db: Pick<FluxmailDb, 'select' | 'insert' | 'delete'>, now?: Date): void;
|
|
46
64
|
/** Entitlements plus current usage, for quota enforcement and renewal warnings. */
|
|
47
65
|
export declare function checkLicenseState(db: DbReader, now?: Date): LicenseState;
|
|
48
66
|
/**
|
|
49
|
-
* Gate for MCP tool calls: throws once
|
|
50
|
-
*
|
|
51
|
-
* grace warnings without a second read.
|
|
67
|
+
* Gate for MCP tool calls: throws once the instance is over the entitled caps,
|
|
68
|
+
* after a lapse or once a cap reduction's grace period ends. Returns the
|
|
69
|
+
* current state so callers can surface grace warnings without a second read.
|
|
52
70
|
*/
|
|
53
71
|
export declare function assertWithinQuota(db: DbReader, now?: Date): LicenseState;
|
|
54
72
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entitlements.d.ts","sourceRoot":"","sources":["../../src/licensing/entitlements.ts"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"entitlements.d.ts","sourceRoot":"","sources":["../../src/licensing/entitlements.ts"],"names":[],"mappings":"AAEA,OAAO,EAAqD,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAGtG,8FAA8F;AAC9F,eAAO,MAAM,eAAe,QAA0B,CAAC;AAEvD;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,QAA0B,CAAC;AAK9D,MAAM,WAAW,YAAY;IAC3B,iFAAiF;IACjF,IAAI,EAAE,MAAM,CAAC;IACb,0EAA0E;IAC1E,QAAQ,EAAE,OAAO,CAAC;IAClB,6EAA6E;IAC7E,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,sFAAsF;IACtF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iFAAiF;IACjF,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,eAAO,MAAM,aAAa,EAAE,YAM3B,CAAC;AAIF,oFAAoF;AACpF,KAAK,QAAQ,GAAG,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;AAE3C,wBAAgB,YAAY,CAAC,EAAE,EAAE,QAAQ,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAG3F;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAMlF;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,UAAU,GAAG,IAAI,CAK/C;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,EAAE,EAAE,QAAQ,EAAE,GAAG,OAAa,GAAG,YAAY,CAsB5E;AAcD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,GAAG,IAAI,CAEpF;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,GAAG,IAAI,CAEnF;AAED,iFAAiF;AACjF,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,QAAQ,GAAG,IAAI,CAOzD;AAED,MAAM,WAAW,YAAY;IAC3B,YAAY,EAAE,YAAY,CAAC;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,0FAA0F;IAC1F,SAAS,EAAE,OAAO,CAAC;IACnB,+EAA+E;IAC/E,OAAO,EAAE,OAAO,CAAC;IACjB,oFAAoF;IACpF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mFAAmF;IACnF,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAeD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC,EAAE,GAAG,OAAa,GAAG,IAAI,CAc3G;AAcD,mFAAmF;AACnF,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,QAAQ,EAAE,GAAG,OAAa,GAAG,YAAY,CAgD9E;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,QAAQ,EAAE,GAAG,OAAa,GAAG,YAAY,CAc9E"}
|
|
@@ -1,9 +1,17 @@
|
|
|
1
1
|
import { EmailError } from '@fluxmail/core';
|
|
2
2
|
import { eq } from 'drizzle-orm';
|
|
3
|
-
import { accounts, licenseLease, members } from '../storage/db.js';
|
|
3
|
+
import { accounts, instanceSettings, licenseLease, members } from '../storage/db.js';
|
|
4
4
|
import { licensePublicKeys, verifyLease } from './lease.js';
|
|
5
5
|
/** After a lease expires, paid limits are honored this much longer before the plan lapses. */
|
|
6
6
|
export const GRACE_PERIOD_MS = 7 * 24 * 60 * 60 * 1000;
|
|
7
|
+
/**
|
|
8
|
+
* When a paid lease lowers the caps below current usage (for example, after
|
|
9
|
+
* removing members), email tools keep working this long so the operator can
|
|
10
|
+
* remove the extra mailboxes or members.
|
|
11
|
+
*/
|
|
12
|
+
export const CAP_REDUCTION_GRACE_MS = 7 * 24 * 60 * 60 * 1000;
|
|
13
|
+
/** Epoch milliseconds when this licensed instance first went over its caps. */
|
|
14
|
+
const OVER_CAP_SINCE_KEY = 'license_over_cap_since';
|
|
7
15
|
export const PERSONAL_TIER = {
|
|
8
16
|
plan: 'personal',
|
|
9
17
|
licensed: false,
|
|
@@ -24,7 +32,10 @@ export function saveLeaseToken(db, token) {
|
|
|
24
32
|
.run();
|
|
25
33
|
}
|
|
26
34
|
export function clearLease(db) {
|
|
27
|
-
db.
|
|
35
|
+
db.transaction((tx) => {
|
|
36
|
+
tx.delete(licenseLease).where(eq(licenseLease.id, LEASE_ROW_ID)).run();
|
|
37
|
+
tx.delete(instanceSettings).where(eq(instanceSettings.key, OVER_CAP_SINCE_KEY)).run();
|
|
38
|
+
});
|
|
28
39
|
}
|
|
29
40
|
/**
|
|
30
41
|
* Effective entitlements: the plan and caps from the cached lease while it
|
|
@@ -74,41 +85,109 @@ export function assertAccountLimit(current, entitlements) {
|
|
|
74
85
|
export function assertMemberLimit(current, entitlements) {
|
|
75
86
|
assertLimit('member', current, entitlements.maxMembers, entitlements);
|
|
76
87
|
}
|
|
88
|
+
/** Freeze new mailboxes and members while a paid instance exceeds either cap. */
|
|
89
|
+
export function assertCanIncreaseUsage(db) {
|
|
90
|
+
const state = checkLicenseState(db);
|
|
91
|
+
if (!state.entitlements.licensed || !state.overQuota)
|
|
92
|
+
return;
|
|
93
|
+
throw new EmailError('entitlement_exceeded', 'This instance exceeds its plan limits. Remove extra mailboxes or members, or upgrade your plan, before adding more.');
|
|
94
|
+
}
|
|
95
|
+
function usageCounts(db) {
|
|
96
|
+
return {
|
|
97
|
+
accountCount: db.select().from(accounts).all().length,
|
|
98
|
+
memberCount: db.select().from(members).all().length,
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
function readOverCapSince(db) {
|
|
102
|
+
const value = db.select().from(instanceSettings).where(eq(instanceSettings.key, OVER_CAP_SINCE_KEY)).get()?.value;
|
|
103
|
+
const since = Number(value);
|
|
104
|
+
return value && Number.isSafeInteger(since) ? since : undefined;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Start the cap-reduction grace period when a licensed instance first finds
|
|
108
|
+
* itself over its caps, and clear it once usage fits. Call after the lease
|
|
109
|
+
* changes. A later lease that is still over the caps keeps the original start.
|
|
110
|
+
*/
|
|
111
|
+
export function recordCapState(db, now = new Date()) {
|
|
112
|
+
const entitlements = getEntitlements(db, now);
|
|
113
|
+
const { accountCount, memberCount } = usageCounts(db);
|
|
114
|
+
const over = entitlements.licensed && (accountCount > entitlements.maxAccounts || memberCount > entitlements.maxMembers);
|
|
115
|
+
if (!over) {
|
|
116
|
+
db.delete(instanceSettings).where(eq(instanceSettings.key, OVER_CAP_SINCE_KEY)).run();
|
|
117
|
+
return;
|
|
118
|
+
}
|
|
119
|
+
if (readOverCapSince(db) !== undefined)
|
|
120
|
+
return;
|
|
121
|
+
db.insert(instanceSettings)
|
|
122
|
+
.values({ key: OVER_CAP_SINCE_KEY, value: String(now.getTime()) })
|
|
123
|
+
.onConflictDoNothing()
|
|
124
|
+
.run();
|
|
125
|
+
}
|
|
126
|
+
function plural(count, noun, plural = `${noun}s`) {
|
|
127
|
+
return `${count} ${count === 1 ? noun : plural}`;
|
|
128
|
+
}
|
|
129
|
+
function excessUsage(accountCount, memberCount, ent) {
|
|
130
|
+
const extras = [
|
|
131
|
+
accountCount > ent.maxAccounts ? plural(accountCount - ent.maxAccounts, 'mailbox', 'mailboxes') : '',
|
|
132
|
+
memberCount > ent.maxMembers ? plural(memberCount - ent.maxMembers, 'member') : '',
|
|
133
|
+
].filter(Boolean);
|
|
134
|
+
return extras.join(' and ');
|
|
135
|
+
}
|
|
77
136
|
/** Entitlements plus current usage, for quota enforcement and renewal warnings. */
|
|
78
137
|
export function checkLicenseState(db, now = new Date()) {
|
|
79
138
|
const entitlements = getEntitlements(db, now);
|
|
80
|
-
const accountCount = db
|
|
81
|
-
const memberCount = db.select().from(members).all().length;
|
|
139
|
+
const { accountCount, memberCount } = usageCounts(db);
|
|
82
140
|
const overQuota = accountCount > entitlements.maxAccounts || memberCount > entitlements.maxMembers;
|
|
83
|
-
|
|
141
|
+
const overCapSince = overQuota && entitlements.licensed ? readOverCapSince(db) : undefined;
|
|
142
|
+
const capGraceEnds = overCapSince === undefined ? undefined : overCapSince + CAP_REDUCTION_GRACE_MS;
|
|
143
|
+
const inCapGrace = capGraceEnds !== undefined && now.getTime() < capGraceEnds;
|
|
144
|
+
const blocked = overQuota && !inCapGrace;
|
|
145
|
+
const warnings = [];
|
|
146
|
+
if (overQuota && entitlements.licensed) {
|
|
147
|
+
const usage = `This instance has ${plural(accountCount, 'mailbox', 'mailboxes')} and ${plural(memberCount, 'member')}, ` +
|
|
148
|
+
`but the ${entitlements.plan} plan allows ${plural(entitlements.maxAccounts, 'mailbox', 'mailboxes')} ` +
|
|
149
|
+
`and ${plural(entitlements.maxMembers, 'member')}.`;
|
|
150
|
+
const fix = `remove ${excessUsage(accountCount, memberCount, entitlements)} or upgrade your plan`;
|
|
151
|
+
warnings.push(inCapGrace
|
|
152
|
+
? `${usage} To keep email tools working, ${fix} by ${new Date(capGraceEnds).toISOString()}.`
|
|
153
|
+
: `${usage} Email tools are blocked until you ${fix}.`);
|
|
154
|
+
}
|
|
84
155
|
if (entitlements.inGrace) {
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
`${entitlements.graceUntil}. Renew before then or this instance drops to the Personal plan.`;
|
|
156
|
+
warnings.push(`The Fluxmail license expired ${entitlements.leaseExpiresAt}; paid limits continue until ` +
|
|
157
|
+
`${entitlements.graceUntil}. Renew before then or this instance drops to the Personal plan.`);
|
|
88
158
|
}
|
|
89
159
|
else if (!entitlements.licensed && readLeaseRow(db)) {
|
|
90
|
-
|
|
91
|
-
`
|
|
92
|
-
|
|
93
|
-
(
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
: '');
|
|
160
|
+
warnings.push(`The Fluxmail license has lapsed; this instance is on the Personal plan ` +
|
|
161
|
+
`(${entitlements.maxAccounts} mailboxes, ${entitlements.maxMembers} member).` +
|
|
162
|
+
(overQuota
|
|
163
|
+
? ` Current usage (${accountCount} mailboxes, ${memberCount} members) exceeds that, so email tools are ` +
|
|
164
|
+
'blocked until you renew the license or remove mailboxes/members to fit.'
|
|
165
|
+
: ''));
|
|
97
166
|
}
|
|
98
|
-
|
|
167
|
+
const warning = warnings.length ? warnings.join(' ') : undefined;
|
|
168
|
+
return {
|
|
169
|
+
entitlements,
|
|
170
|
+
accountCount,
|
|
171
|
+
memberCount,
|
|
172
|
+
overQuota,
|
|
173
|
+
blocked,
|
|
174
|
+
...(inCapGrace ? { capGraceUntil: new Date(capGraceEnds).toISOString() } : {}),
|
|
175
|
+
...(warning ? { warning } : {}),
|
|
176
|
+
};
|
|
99
177
|
}
|
|
100
178
|
/**
|
|
101
|
-
* Gate for MCP tool calls: throws once
|
|
102
|
-
*
|
|
103
|
-
* grace warnings without a second read.
|
|
179
|
+
* Gate for MCP tool calls: throws once the instance is over the entitled caps,
|
|
180
|
+
* after a lapse or once a cap reduction's grace period ends. Returns the
|
|
181
|
+
* current state so callers can surface grace warnings without a second read.
|
|
104
182
|
*/
|
|
105
183
|
export function assertWithinQuota(db, now = new Date()) {
|
|
106
184
|
const state = checkLicenseState(db, now);
|
|
107
|
-
if (state.
|
|
185
|
+
if (state.blocked) {
|
|
108
186
|
const { entitlements: ent } = state;
|
|
109
187
|
throw new EmailError('entitlement_exceeded', `This instance has ${state.accountCount} connected mailboxes and ${state.memberCount} members, but the ` +
|
|
110
|
-
`${ent.plan} plan allows ${ent.maxAccounts} and ${ent.maxMembers}.
|
|
111
|
-
'("fluxmail license activate")
|
|
188
|
+
`${ent.plan} plan allows ${ent.maxAccounts} and ${ent.maxMembers}. ` +
|
|
189
|
+
(ent.licensed ? 'Upgrade the plan' : 'Renew the license ("fluxmail license activate")') +
|
|
190
|
+
' or remove mailboxes/members ' +
|
|
112
191
|
'("fluxmail accounts remove", "fluxmail members remove") to fit the plan.');
|
|
113
192
|
}
|
|
114
193
|
return state;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entitlements.js","sourceRoot":"","sources":["../../src/licensing/entitlements.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAmB,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"entitlements.js","sourceRoot":"","sources":["../../src/licensing/entitlements.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@ export interface LeasePayload {
|
|
|
8
8
|
/** Payload version; this client understands only 2. */
|
|
9
9
|
v: 2;
|
|
10
10
|
licenseId: string;
|
|
11
|
-
/** Lowercase plan name for display ("pro", "
|
|
11
|
+
/** Lowercase plan name for display ("pro", "business", …); clients never switch on it. */
|
|
12
12
|
plan: string;
|
|
13
13
|
/** People who may use this instance. */
|
|
14
14
|
maxMembers: number;
|