@i4e/invest4edu-access-core 0.26.0 → 0.27.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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@i4e/invest4edu-access-core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.27.0",
|
|
4
4
|
"description": "Shared access-control primitives for NeoFindesk: tenant keystone, role capabilities, reportee tree, feature flags, and the unified access engine (registry schema, snapshot resolver, visibleWhen).",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
@@ -81,6 +81,13 @@ export interface EntitlementStore {
|
|
|
81
81
|
}
|
|
82
82
|
|
|
83
83
|
export function createEntitlementStore(opts: {
|
|
84
|
+
/**
|
|
85
|
+
* The subscription master switch. Returning false makes the whole store inert — every
|
|
86
|
+
* entitlement answers OPEN, nothing is counted and no subject is auto-provisioned — so the code
|
|
87
|
+
* can ship to production long before the product does. Defaults to the `SUBSCRIPTION_ENABLED`
|
|
88
|
+
* environment variable, and therefore to OFF.
|
|
89
|
+
*/
|
|
90
|
+
isEnabled?: () => boolean | Promise<boolean>;
|
|
84
91
|
/** Returns a raw MongoDB `Db`, or null/undefined when the connection is not ready. */
|
|
85
92
|
getDb: () => unknown;
|
|
86
93
|
/** Cast an id the way the caller's driver expects. Defaults to pass-through. */
|
|
@@ -70,6 +70,15 @@ export const SUBSCRIPTION_EVENT_TYPES = Object.freeze([
|
|
|
70
70
|
// Consumption that happened outside the software — a webinar attended, a VPD session held.
|
|
71
71
|
// There is no request behind it, so this event is the only record of who said it happened.
|
|
72
72
|
"usage_recorded",
|
|
73
|
+
/**
|
|
74
|
+
* Credits handed out by an admin, rather than bought or rolled over.
|
|
75
|
+
*
|
|
76
|
+
* It used to be recorded as `override_set`, which made the history unreadable at exactly the
|
|
77
|
+
* moment it mattered: a one-off top-up and a permanent change to somebody's per-period allowance
|
|
78
|
+
* are different promises, and "who gave this partner 500 credits" cannot be answered by a stream
|
|
79
|
+
* where both look identical.
|
|
80
|
+
*/
|
|
81
|
+
"credits_granted",
|
|
73
82
|
/**
|
|
74
83
|
* A term closed with credits unspent and the plan's policy carried them forward. Worth its own
|
|
75
84
|
* type because a customer WILL ask why their balance is bigger than their allowance, and the
|