@7365admin1/core 3.65.2 → 3.67.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/CHANGELOG.md +41 -0
- package/dist/index.d.ts +297 -6
- package/dist/index.js +5609 -5259
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +2448 -2108
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -2
- package/test/backfill-org-owner-roles.test.mjs +214 -1
- package/test/console-permission.test.mjs +4 -2
- package/test/e2e/harness.mjs +5 -0
- package/test/e2e/org-owner-repair.e2e.test.mjs +469 -0
- package/test/notification-access.test.mjs +35 -6
- package/test/org-owner-repair.test.mjs +726 -0
- package/test/staff-console-authz.test.mjs +12 -0
- package/tools/backfill-org-owner-roles/backfill.mjs +253 -11
- package/tools/backfill-org-owner-roles/dry-run-devtools-snippet.js +10 -2
- package/tools/backfill-org-owner-roles/repair-owner-membership-devtools-snippet.js +175 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,46 @@
|
|
|
1
1
|
# @iservice365/core
|
|
2
2
|
|
|
3
|
+
## 3.67.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 7b9ea2f: Notifications: stop sending alerts for modules a client was never given
|
|
8
|
+
|
|
9
|
+
`NOTIFY_ACCESS_FILTER` now defaults to `on` instead of `log`, so the module-based
|
|
10
|
+
drop is real: a recipient no longer gets a notification when every membership they
|
|
11
|
+
hold at the site denies every module the notification's category is about.
|
|
12
|
+
|
|
13
|
+
Only the module drop acts. The role-based check is still computed and logged and
|
|
14
|
+
never drops anybody, because most apps do not enforce their role gates yet and a
|
|
15
|
+
role-based drop would hide alerts for screens people can still open.
|
|
16
|
+
|
|
17
|
+
Unchanged: residents, anyone with no membership at the site, Seven365 staff, sends
|
|
18
|
+
with no site, and categories the catalogue does not govern are all exempt; any
|
|
19
|
+
error sends to everyone; and `MODULE_LIST_GATE=off` still disables it entirely.
|
|
20
|
+
`NOTIFY_ACCESS_FILTER=log` or `off` overrides this default with no deploy.
|
|
21
|
+
|
|
22
|
+
This is inert until a client's module list is enforced — measured read-only on
|
|
23
|
+
staging at the time of the flip, no organisation (0 of 199) and no site (0 of 256)
|
|
24
|
+
had a stored list and there were no acknowledged-save markers, so nothing is
|
|
25
|
+
dropped for anybody until a Super Admin saves a module list with the acknowledged
|
|
26
|
+
preview.
|
|
27
|
+
|
|
28
|
+
## 3.66.0
|
|
29
|
+
|
|
30
|
+
### Minor Changes
|
|
31
|
+
|
|
32
|
+
- b7f6302: Add a staff-only handler that repairs an organisation's missing owner membership.
|
|
33
|
+
|
|
34
|
+
An organisation created before 3.60.0 can exist with no `members` row at all, so
|
|
35
|
+
`GET /api/members/user/:id/app/organization` answers 404 and every console
|
|
36
|
+
landing page tells the real owner that no organisation exists. The new
|
|
37
|
+
`orgOwnerRepairHandlers` writes the one membership the onboarding path already
|
|
38
|
+
writes, for one organisation at a time, and only when that organisation is
|
|
39
|
+
active, holds exactly zero `organization` memberships, and has an account
|
|
40
|
+
registered under its own e-mail address. Staff-only (`organizations` console
|
|
41
|
+
permission), idempotent under a one-writer claim, audited, and behind the
|
|
42
|
+
`ORG_OWNER_REPAIR` switch. No schema change and no migration.
|
|
43
|
+
|
|
3
44
|
## 3.65.2
|
|
4
45
|
|
|
5
46
|
### Patch Changes
|
package/dist/index.d.ts
CHANGED
|
@@ -752,7 +752,18 @@ declare enum ConsoleAuditAction {
|
|
|
752
752
|
*/
|
|
753
753
|
CAMERA_ADDED = "camera.added",
|
|
754
754
|
CAMERA_UPDATED = "camera.updated",
|
|
755
|
-
CAMERA_REMOVED = "camera.removed"
|
|
755
|
+
CAMERA_REMOVED = "camera.removed",
|
|
756
|
+
/**
|
|
757
|
+
* Seven365 staff repairing a client whose owner membership was never written
|
|
758
|
+
* (`organization.controller.ts orgOwnerRepairHandlers`).
|
|
759
|
+
*
|
|
760
|
+
* Recorded because it is the one path in the product that creates a
|
|
761
|
+
* membership nobody asked for by name: the account is derived server-side
|
|
762
|
+
* from the organisation's own registered address, never from the request. Who
|
|
763
|
+
* pressed it, for which client, and which account and role it handed out is
|
|
764
|
+
* exactly the question somebody will ask afterwards.
|
|
765
|
+
*/
|
|
766
|
+
CLIENT_OWNER_REPAIRED = "client.owner-repaired"
|
|
756
767
|
}
|
|
757
768
|
/**
|
|
758
769
|
* The three actions that live in `organization.controller.ts`.
|
|
@@ -1503,6 +1514,44 @@ declare function orgModulesHandlers({ requireConsolePermission, _getById, _updat
|
|
|
1503
1514
|
updateModules: (req: Request, res: Response, next: NextFunction) => Promise<void>;
|
|
1504
1515
|
previewOrgModules: (req: Request, res: Response, next: NextFunction) => Promise<void>;
|
|
1505
1516
|
};
|
|
1517
|
+
/** What the owner-membership repair reads and writes; injected so a unit test runs it with no database. */
|
|
1518
|
+
type TOrgOwnerRepairDeps = {
|
|
1519
|
+
requireConsolePermission: (req: Request, resource: string, action?: string) => Promise<string>;
|
|
1520
|
+
/**
|
|
1521
|
+
* The organisation read UNCACHED. Not `organization.repo getById`, which
|
|
1522
|
+
* answers from a 15-minute Redis cache: `status` and `email` decide whether to
|
|
1523
|
+
* repair and who the owner is, so a stale copy could repair a client that has
|
|
1524
|
+
* since been suspended, or point the membership at a former address.
|
|
1525
|
+
*/
|
|
1526
|
+
getOrgUncached: (org: string) => Promise<any>;
|
|
1527
|
+
countOrgMembers: (org: string) => Promise<number>;
|
|
1528
|
+
/** Returns the `repairedAt` stamp this request inserted, or null if it lost. */
|
|
1529
|
+
claim: (org: string) => Promise<Date | null>;
|
|
1530
|
+
/** Conditional on the stamp, so it can never delete somebody else's claim. */
|
|
1531
|
+
release: (org: string, repairedAt: Date) => Promise<unknown>;
|
|
1532
|
+
/** Is the claim this request inserted still the one in the ledger? */
|
|
1533
|
+
holdsClaim: (org: string, repairedAt: Date) => Promise<boolean>;
|
|
1534
|
+
findUserByEmail: (email: string) => Promise<{
|
|
1535
|
+
_id?: unknown;
|
|
1536
|
+
} | null>;
|
|
1537
|
+
confirmOwnership: (userId: string, org: string) => Promise<boolean>;
|
|
1538
|
+
findOwnerRoleId: (org: string) => Promise<string>;
|
|
1539
|
+
healDefaultRoles: (org: string) => Promise<number>;
|
|
1540
|
+
createMemberDirect: (input: {
|
|
1541
|
+
userId: string;
|
|
1542
|
+
orgId: string;
|
|
1543
|
+
roleId: string;
|
|
1544
|
+
app: string;
|
|
1545
|
+
onboardingRequired?: boolean;
|
|
1546
|
+
callerId?: string;
|
|
1547
|
+
}) => Promise<unknown>;
|
|
1548
|
+
recordConsoleAction: (entry: Parameters<typeof recordConsoleAction>[0]) => Promise<unknown>;
|
|
1549
|
+
/** `orgOwnerRepairOn` by default; injected so a test can flip the switch. */
|
|
1550
|
+
gateOn?: () => boolean;
|
|
1551
|
+
};
|
|
1552
|
+
declare function orgOwnerRepairHandlers({ requireConsolePermission, getOrgUncached, countOrgMembers, claim, release, holdsClaim, findUserByEmail, confirmOwnership, findOwnerRoleId, healDefaultRoles, createMemberDirect, recordConsoleAction, gateOn, }: TOrgOwnerRepairDeps): {
|
|
1553
|
+
repairOwnerMembership: (req: Request, res: Response, next: NextFunction) => Promise<void>;
|
|
1554
|
+
};
|
|
1506
1555
|
declare function useOrgController(): {
|
|
1507
1556
|
add: (req: Request, res: Response, next: NextFunction) => Promise<void>;
|
|
1508
1557
|
addOnboardingOrg: (req: Request, res: Response, next: NextFunction) => Promise<void>;
|
|
@@ -1517,6 +1566,7 @@ declare function useOrgController(): {
|
|
|
1517
1566
|
updateStatus: (req: Request, res: Response, next: NextFunction) => Promise<void>;
|
|
1518
1567
|
updateModules: (req: Request<express_serve_static_core.ParamsDictionary, any, any, qs.ParsedQs, Record<string, any>>, res: Response<any, Record<string, any>>, next: NextFunction) => Promise<void>;
|
|
1519
1568
|
previewOrgModules: (req: Request<express_serve_static_core.ParamsDictionary, any, any, qs.ParsedQs, Record<string, any>>, res: Response<any, Record<string, any>>, next: NextFunction) => Promise<void>;
|
|
1569
|
+
repairOwnerMembership: (req: Request<express_serve_static_core.ParamsDictionary, any, any, qs.ParsedQs, Record<string, any>>, res: Response<any, Record<string, any>>, next: NextFunction) => Promise<void>;
|
|
1520
1570
|
};
|
|
1521
1571
|
|
|
1522
1572
|
/**
|
|
@@ -13631,6 +13681,231 @@ declare function useConsoleAuditController(): {
|
|
|
13631
13681
|
getAll: (req: Request, res: Response, next: NextFunction) => Promise<void>;
|
|
13632
13682
|
};
|
|
13633
13683
|
|
|
13684
|
+
/**
|
|
13685
|
+
* THE ORGANISATION WITH NO OWNER.
|
|
13686
|
+
*
|
|
13687
|
+
* ## The defect
|
|
13688
|
+
*
|
|
13689
|
+
* An organisation created before 3.60.0 can exist with **no `members` row at
|
|
13690
|
+
* all**: the wizard step that wrote the owner's own membership was skippable,
|
|
13691
|
+
* and `POST /api/organizations` (the console) and `POST
|
|
13692
|
+
* /api/organizations/onboarding` (the client wizard) both committed the
|
|
13693
|
+
* organisation before that step. Every console landing page then calls
|
|
13694
|
+
* `GET /api/members/user/:id/app/organization`, gets a 404 from
|
|
13695
|
+
* `member.repo getByUserIdType`, and tells the real owner that no organisation
|
|
13696
|
+
* exists. Measured on production 2026-09-09: **3 active organisations** in that
|
|
13697
|
+
* state (one of them "JLL Singapore"), each with an active account whose e-mail
|
|
13698
|
+
* equals the organisation's registered address.
|
|
13699
|
+
*
|
|
13700
|
+
* Since 3.60.0 no NEW organisation can reach this state
|
|
13701
|
+
* (`ensureCurrentUserMemberExists` is no longer the only writer, and
|
|
13702
|
+
* `organization.controller` seeds roles on create), so this repairs the
|
|
13703
|
+
* existing three and nothing else. There is deliberately **no sign-in
|
|
13704
|
+
* self-heal**: the defect cannot recur, and a write on the authentication hot
|
|
13705
|
+
* path is the one place it must not go (owner decision, 2026-09-12).
|
|
13706
|
+
*
|
|
13707
|
+
* ## What this file is
|
|
13708
|
+
*
|
|
13709
|
+
* The DECISION, and nothing else. Whether an organisation may be repaired is
|
|
13710
|
+
* decidable without a database, a network or an Express request, so it is a
|
|
13711
|
+
* pure function here and the I/O lives in `organization.controller.ts`
|
|
13712
|
+
* (`orgOwnerRepairHandlers`) — the same split as `module-gate.util.ts` and its
|
|
13713
|
+
* handlers, and the same one `tools/backfill-org-owner-roles` uses for
|
|
13714
|
+
* `planOwnerMembership`.
|
|
13715
|
+
*
|
|
13716
|
+
* ## The rules, and why each one exists
|
|
13717
|
+
*
|
|
13718
|
+
* 1. **Exactly zero `organization` memberships, or nothing.** One member means
|
|
13719
|
+
* skip, no exceptions — the same rule the backfill tool and the default-role
|
|
13720
|
+
* self-heal both use. A count that is not a whole number at or above zero is
|
|
13721
|
+
* "could not tell", which is NOT the same as "there are none", so it fails
|
|
13722
|
+
* CLOSED. Every status that means a row exists has to be counted by the
|
|
13723
|
+
* caller (active, suspended, pending); only a `deleted` row is gone. Counting
|
|
13724
|
+
* just `active` would write a second owner beside a deliberately suspended
|
|
13725
|
+
* one, because `createMemberDirect` does not de-duplicate.
|
|
13726
|
+
* 2. **`active` organisations only.** A suspended or deleted client is not a
|
|
13727
|
+
* client whose console we are fixing. A row with no `status` at all is also
|
|
13728
|
+
* refused: `MOrg` has defaulted it to "active" on every insert this package
|
|
13729
|
+
* has ever done, so a blank one is a pre-package legacy row, and refusing is
|
|
13730
|
+
* the safe direction.
|
|
13731
|
+
* 3. **The owner is never guessed.** The caller resolves it through
|
|
13732
|
+
* `hasOrgOwnership` (`invite-actor.util.ts`) — the account whose own e-mail
|
|
13733
|
+
* address the organisation is registered under, case-insensitively by
|
|
13734
|
+
* collation. This function only ever receives an id that rule has already
|
|
13735
|
+
* confirmed, and refuses when there is none.
|
|
13736
|
+
* 4. **A membership needs a role.** A member pointing at no role is a member
|
|
13737
|
+
* with no permissions at all, so no role means no repair.
|
|
13738
|
+
* 5. **One switch.** `ORG_OWNER_REPAIR=off` refuses everything, with no app
|
|
13739
|
+
* build and no code change, so a lead can disable a brand-new write path by
|
|
13740
|
+
* PR or environment if it misbehaves.
|
|
13741
|
+
*/
|
|
13742
|
+
/**
|
|
13743
|
+
* THE ONE SWITCH, written exactly as `module-gate.util.ts moduleListGateOn` is:
|
|
13744
|
+
* read on every call rather than once at load, so an emergency environment
|
|
13745
|
+
* override takes effect on restart. OUR flips change this code default, by PR,
|
|
13746
|
+
* staging first — setting an environment variable on DigitalOcean is the leads'
|
|
13747
|
+
* job.
|
|
13748
|
+
*
|
|
13749
|
+
* It defaults to ON because the endpoint writes only when it is called, by a
|
|
13750
|
+
* Seven365 staff member, for one organisation that holds no member at all.
|
|
13751
|
+
*/
|
|
13752
|
+
declare const ORG_OWNER_REPAIR_DEFAULT = "on";
|
|
13753
|
+
declare function orgOwnerRepairOn(env?: Record<string, string | undefined>): boolean;
|
|
13754
|
+
/**
|
|
13755
|
+
* How long a claim may sit before a later attempt is allowed to take it over.
|
|
13756
|
+
*
|
|
13757
|
+
* ## Why a takeover has to exist at all
|
|
13758
|
+
*
|
|
13759
|
+
* The claim is inserted before the membership is written. If the process is
|
|
13760
|
+
* killed in between — a deploy, an OOM, a restart — the row survives and every
|
|
13761
|
+
* later attempt is told "already running, or has already run", forever. The only
|
|
13762
|
+
* remedy would be deleting a row by hand in the database, which this project
|
|
13763
|
+
* forbids outright. So one unlucky restart would permanently block the repair for
|
|
13764
|
+
* exactly the organisations this exists for.
|
|
13765
|
+
*
|
|
13766
|
+
* Ten minutes is far longer than the work takes (a handful of indexed reads and
|
|
13767
|
+
* one transaction, measured in tens of milliseconds), so a claim this old is not
|
|
13768
|
+
* a request still running; it is a request that died.
|
|
13769
|
+
*
|
|
13770
|
+
* The takeover is still safe, because it is not the claim that authorises the
|
|
13771
|
+
* write: the zero-member count is re-read UNDER the new claim, and the takeover
|
|
13772
|
+
* itself only happens while the organisation still has nobody in it.
|
|
13773
|
+
*/
|
|
13774
|
+
declare const ORG_OWNER_REPAIR_CLAIM_STALE_MS: number;
|
|
13775
|
+
/**
|
|
13776
|
+
* Is this claim old enough to be taken over?
|
|
13777
|
+
*
|
|
13778
|
+
* **Fails closed: anything unreadable is NOT stale.** A missing or unparseable
|
|
13779
|
+
* timestamp could only come from something outside this code, and treating it as
|
|
13780
|
+
* abandoned is how a live repair gets a second writer. Refusing costs a
|
|
13781
|
+
* refusal; guessing costs a duplicate owner.
|
|
13782
|
+
*/
|
|
13783
|
+
declare function claimReadsAsStale(repairedAt?: Date | string | null, now?: number): boolean;
|
|
13784
|
+
/**
|
|
13785
|
+
* What a caller is told when somebody else holds the claim — whether they took
|
|
13786
|
+
* it first, or took it OVER while this request was stalled. One string for both,
|
|
13787
|
+
* so a stolen claim is indistinguishable from a busy one to the caller and the
|
|
13788
|
+
* two paths cannot drift apart.
|
|
13789
|
+
*/
|
|
13790
|
+
declare const ORG_OWNER_REPAIR_CLAIM_TAKEN_REASON = "A repair for that organisation is already running, or has already run.";
|
|
13791
|
+
/** What a caller is told when the switch is off. One string, so it cannot drift. */
|
|
13792
|
+
declare const ORG_OWNER_REPAIR_OFF_REASON = "Owner-membership repair is switched off (ORG_OWNER_REPAIR).";
|
|
13793
|
+
/** The row `POST /api/members/direct` is asked to write, or the reason it is not. */
|
|
13794
|
+
type TOrgOwnerRepairPayload = {
|
|
13795
|
+
userId: string;
|
|
13796
|
+
orgId: string;
|
|
13797
|
+
roleId: string;
|
|
13798
|
+
app: "organization";
|
|
13799
|
+
onboardingRequired: true;
|
|
13800
|
+
};
|
|
13801
|
+
type TOrgOwnerRepairPlan = {
|
|
13802
|
+
skip: string;
|
|
13803
|
+
payload?: undefined;
|
|
13804
|
+
} | {
|
|
13805
|
+
skip?: undefined;
|
|
13806
|
+
payload: TOrgOwnerRepairPayload;
|
|
13807
|
+
};
|
|
13808
|
+
type TOrgOwnerRepairInput = {
|
|
13809
|
+
/** `orgOwnerRepairOn()`, passed in so the decision stays pure. */
|
|
13810
|
+
gateOn: boolean;
|
|
13811
|
+
/** The stored organisation. Nothing the caller sent takes part in this. */
|
|
13812
|
+
org?: {
|
|
13813
|
+
_id?: unknown;
|
|
13814
|
+
status?: unknown;
|
|
13815
|
+
} | null;
|
|
13816
|
+
/**
|
|
13817
|
+
* How many `organization` memberships this organisation holds right now,
|
|
13818
|
+
* counted under the caller's claim, across every status that means a row
|
|
13819
|
+
* exists. Anything that is not an integer >= 0 means "could not tell".
|
|
13820
|
+
*/
|
|
13821
|
+
orgMemberCount?: unknown;
|
|
13822
|
+
/** The id `hasOrgOwnership` confirmed owns this organisation, or "". */
|
|
13823
|
+
ownerUserId?: string | null;
|
|
13824
|
+
/** The organisation's own `organization` owner role, or "". */
|
|
13825
|
+
ownerRoleId?: string | null;
|
|
13826
|
+
};
|
|
13827
|
+
/**
|
|
13828
|
+
* The half of the decision that needs NOTHING looked up: the switch, the
|
|
13829
|
+
* organisation's id, its status, and how many members it already has.
|
|
13830
|
+
*
|
|
13831
|
+
* Split out from `planOrgOwnerRepair` for one reason, and it is a safety one:
|
|
13832
|
+
* resolving an organisation's owner ROLE can SEED its default roles (an
|
|
13833
|
+
* organisation created through the console or the wizard before 3.60.0 may hold
|
|
13834
|
+
* none at all). A repair that is going to be refused must write nothing
|
|
13835
|
+
* whatsoever, so the caller asks this FIRST and stops before resolving
|
|
13836
|
+
* anything. `planOrgOwnerRepair` re-checks every rule here, so this is a
|
|
13837
|
+
* short-circuit and never the only guard.
|
|
13838
|
+
*
|
|
13839
|
+
* @returns the reason to refuse, or `undefined` when the organisation qualifies
|
|
13840
|
+
* so far.
|
|
13841
|
+
*/
|
|
13842
|
+
declare function orgQualifiesForOwnerRepair({ gateOn, org, orgMemberCount, }: Omit<TOrgOwnerRepairInput, "ownerUserId" | "ownerRoleId">): string | undefined;
|
|
13843
|
+
/**
|
|
13844
|
+
* The owner membership this organisation is missing, if it is missing one.
|
|
13845
|
+
*
|
|
13846
|
+
* `app: "organization"` is not a default, it is the contract: `GET
|
|
13847
|
+
* /api/members/user/:id/app/organization` is the query every console landing
|
|
13848
|
+
* page makes, so a row of any other type leaves the owner locked out exactly as
|
|
13849
|
+
* they are now. `onboardingRequired: true` is what `POST
|
|
13850
|
+
* /api/organizations/onboarding` writes for a brand-new owner, and the wizard
|
|
13851
|
+
* is still ahead of these three, so it stays true here.
|
|
13852
|
+
*
|
|
13853
|
+
* @returns `{ skip: <reason a person can read> }` or `{ payload }`.
|
|
13854
|
+
*/
|
|
13855
|
+
declare function planOrgOwnerRepair({ gateOn, org, orgMemberCount, ownerUserId, ownerRoleId, }: TOrgOwnerRepairInput): TOrgOwnerRepairPlan;
|
|
13856
|
+
|
|
13857
|
+
/**
|
|
13858
|
+
* The reads and the one-writer ledger behind the owner-membership repair.
|
|
13859
|
+
*
|
|
13860
|
+
* `utils/org-owner-repair.util.ts` decides WHETHER an organisation may be
|
|
13861
|
+
* repaired; this is every database call that decision needs, plus the claim that
|
|
13862
|
+
* makes two simultaneous repairs produce one row.
|
|
13863
|
+
*
|
|
13864
|
+
* ## Why a claim and not a unique index
|
|
13865
|
+
*
|
|
13866
|
+
* Two reads are not atomic, and `updateOne(..., { upsert: true })` on a filter
|
|
13867
|
+
* with no unique index behind it can still insert twice — MongoDB says so
|
|
13868
|
+
* itself. What IS atomic, in every collection, without creating anything, is the
|
|
13869
|
+
* `_id` index: an insert of a duplicate `_id` fails with error code 11000.
|
|
13870
|
+
*
|
|
13871
|
+
* So the claim is an insert of `{ _id: <organisation id> }` into a collection
|
|
13872
|
+
* that holds nothing else. Exactly one caller anywhere in the fleet gets the
|
|
13873
|
+
* successful insert; every other one gets 11000 and is told to stand down. **No
|
|
13874
|
+
* index is created and no unique constraint is added to `members`**, which is
|
|
13875
|
+
* the whole point: this ships with no schema change.
|
|
13876
|
+
*
|
|
13877
|
+
* This is the same mechanism `org-role-seed.repo.ts` uses for the default-role
|
|
13878
|
+
* self-heal, in a **separate collection** deliberately. Sharing that one would
|
|
13879
|
+
* mean an organisation whose roles had already healed could never have its owner
|
|
13880
|
+
* repaired, because its claim row would already be taken.
|
|
13881
|
+
*
|
|
13882
|
+
* The row is also the durable record of which organisation was repaired and
|
|
13883
|
+
* when: `db["org-owner-repair-claims"].find()` answers that in one read. It is
|
|
13884
|
+
* released again whenever a repair does NOT happen, so a row in there always
|
|
13885
|
+
* means "we wrote this organisation's owner membership".
|
|
13886
|
+
*/
|
|
13887
|
+
type TOrgOwnerRepairClaim = {
|
|
13888
|
+
_id: ObjectId;
|
|
13889
|
+
repairedAt: Date;
|
|
13890
|
+
};
|
|
13891
|
+
declare function useOrgOwnerRepairRepo(): {
|
|
13892
|
+
claimRepair: (org: string | ObjectId) => Promise<Date | null>;
|
|
13893
|
+
releaseRepair: (org: string | ObjectId, repairedAt: Date) => Promise<mongodb.DeleteResult>;
|
|
13894
|
+
holdsClaim: (org: string | ObjectId, repairedAt?: Date | null) => Promise<boolean>;
|
|
13895
|
+
countOrgMemberships: (org: string | ObjectId) => Promise<number>;
|
|
13896
|
+
findUserByEmail: (email: string) => Promise<{
|
|
13897
|
+
_id: ObjectId;
|
|
13898
|
+
status?: string;
|
|
13899
|
+
} | null>;
|
|
13900
|
+
findOwnerRoleId: (org: string | ObjectId) => Promise<string>;
|
|
13901
|
+
getOrgUncached: (org: string | ObjectId) => Promise<{
|
|
13902
|
+
_id: ObjectId;
|
|
13903
|
+
status?: string;
|
|
13904
|
+
email?: string;
|
|
13905
|
+
nature?: string;
|
|
13906
|
+
} | null>;
|
|
13907
|
+
};
|
|
13908
|
+
|
|
13634
13909
|
type TNotification = {
|
|
13635
13910
|
_id?: ObjectId;
|
|
13636
13911
|
userId: string | ObjectId;
|
|
@@ -13910,13 +14185,29 @@ declare function isPlatformOwner(userId?: string | ObjectId | null): Promise<boo
|
|
|
13910
14185
|
* with no site (marketplace, broadcasts); a category not in the catalogue or
|
|
13911
14186
|
* with no permission resources (resident-only and marketplace ones).
|
|
13912
14187
|
*
|
|
13913
|
-
* `NOTIFY_ACCESS_FILTER`: `
|
|
13914
|
-
*
|
|
13915
|
-
*
|
|
14188
|
+
* `NOTIFY_ACCESS_FILTER`: `on` (code default) DROPS; `log` counts, logs and
|
|
14189
|
+
* sends to everyone; `off` reads nothing. `MODULE_LIST_GATE=off` is the same as
|
|
14190
|
+
* `off`. Any error sends to everyone.
|
|
14191
|
+
*
|
|
14192
|
+
* The default was `log` from the day this shipped until the owner turned it on
|
|
14193
|
+
* (2026-09-13), having accepted that some staff will notice alerts they used to
|
|
14194
|
+
* get stopping. Only the MODULE drop became real; the role check above stays
|
|
14195
|
+
* logged only, because most apps still do not enforce their role gates.
|
|
14196
|
+
*
|
|
14197
|
+
* Turning it on changed nothing on its own: the filter returns early unless the
|
|
14198
|
+
* site or its organisation has an ENFORCED module list, and on the day of the
|
|
14199
|
+
* flip no organisation and no site had one (measured read-only on staging: 0 of
|
|
14200
|
+
* 199 organisations, 0 of 256 sites, 0 acknowledged-save markers). It takes
|
|
14201
|
+
* effect for a client the first time a Super Admin saves that client's module
|
|
14202
|
+
* list with the acknowledged preview.
|
|
14203
|
+
*
|
|
14204
|
+
* The env var still wins over this default, so a lead can put it back to `log`
|
|
14205
|
+
* or `off` without waiting for a deploy.
|
|
13916
14206
|
*
|
|
13917
14207
|
* Both senders call this: core's `notification.service.ts send()` here, and
|
|
13918
14208
|
* API-core's own `send()` (a separate class; memory
|
|
13919
|
-
* `two-notification-senders-not-one`), which
|
|
14209
|
+
* `two-notification-senders-not-one`), which imports this very function — so
|
|
14210
|
+
* this default governs both, and neither can drift from the other.
|
|
13920
14211
|
*/
|
|
13921
14212
|
type TNotifyAccessMode = "log" | "on" | "off";
|
|
13922
14213
|
declare const NOTIFY_ACCESS_FILTER_DEFAULT: TNotifyAccessMode;
|
|
@@ -14612,4 +14903,4 @@ declare function usePersonalEmergencyChainController(): {
|
|
|
14612
14903
|
update: (req: Request, res: Response, next: NextFunction) => Promise<void>;
|
|
14613
14904
|
};
|
|
14614
14905
|
|
|
14615
|
-
export { ANPRMode, APP_BASE_URLS, AUDIT_VALUE_MAX_LENGTH, AccessTypeProps, AppKey, AppServiceType, AssignCardConfig, BULK_CAMERA_COLUMNS, BidStatus, BidType, BuildingLevelStatus, BuildingStatus, BulkCameraAccepted, BulkCameraOutcome, BulkCameraPlan, BulkCameraResult, BulkCardUpdate, BulletinOrder, BulletinRecipient, BulletinSort, BulletinStatus, BulletinVideoOrder, BulletinVideoSort, CAMERA_ANPR_PERMISSIONS, CAMERA_CAPABILITIES, CAMERA_CAPABILITY_REASONS, CAMERA_MANAGE_ANY_PERMISSIONS, CAMERA_NOT_PATROL_OR_CCTV, CAMERA_NO_SUB_STREAM_TTL_SECONDS, CAMERA_PTZ_PERMISSIONS, CAMERA_REQUEST_TIMEOUT_MS, CAMERA_RTSP_TIMEOUT_MS, CAMERA_SETUP_PERMISSIONS, CAMERA_SNAPSHOT_CACHE_SECONDS, CAMERA_SNAPSHOT_MAX_BYTES, CAMERA_TEST_MIN_INTERVAL_SECONDS, CAMERA_TEST_ROUND_LIMIT, CAMERA_TEST_ROUND_SECONDS, CAMERA_TYPE_ANPR, CAMERA_TYPE_IP, CAMERA_VIEW_PERMISSIONS, CLIENT_ACTIONS, CLOCK_DRIFT_WARN_SECONDS, CONSOLE_AUDIT_LABELS, CONSOLE_PERMISSIONS, CONTRACTOR_TYPE_LABELS, CROSS_CLIENT_GRANT, CURRENT_TIME_ENDPOINT, Camera, CameraAddressInput, CameraCapability, CameraCapabilityContext, CameraCapabilityDescriptor, CameraCapabilityEntry, CameraCapabilityReason, CameraCapabilityState, CameraCapabilityTrace, CameraDevice, CameraFrame, CameraMembership, CameraStream, CameraTestStatus, CameraTransport, CameraType, ConsoleAuditAction, ConsoleAuditTarget, ConsoleGrant, DEFAULT_RING_SECONDS, DEFAULT_SITE_TIMEZONE, DEVICE_STATUS, DOBStatus, DUPLICATE_TERMS_VERSION_MESSAGE, DayOfWeek, DeviceHttpTarget, DeviceProbeResult, DynamicFormFields, E164, EAccessCardTypes, EAccessCardUserTypes, EmailSender, EntryOrder, EntrySort, EventOrder, EventSort, EventStatus, EventType, FacilitySort, FacilityStatus, FormEntryStatus, GOVERNED_MODULES, GuestSort, GuestStatus, HID_CARD_VALUE_FACTOR, HID_PERMISSION_CATEGORIES, HID_UINT32_MAX, HID_UINT64_MAX, HidRawUint64, IAccessCard, IAccessCardTransaction, InviteActor, LIVE_ROLE, MAX_BULK_CAMERA_ROWS, MAX_CAMERA_CHANNEL, MAX_CAMERA_NAME_LENGTH, MAX_PERSONAL_EMERGENCY_CONTACTS, MAX_RING_SECONDS, MAccessCard, MAccessCardTransaction, MAddress, MAttendance, MAttendanceSettings, MBidPreloved, MBillingConfiguration, MBillingItem, MBuilding, MBuildingLevel, MBuildingUnit, MBulletinBoard, MBulletinVideo, MCategoryPreloved, MChannelPreloved, MChat, MChatPreloved, MConsoleAudit, MCustomer, MCustomerSite, MDocumentManagement, MEMBER_TYPES, MEntryPassSettings, MEventManagement, MFeedback, MFile, MFormEntry, MGuestManagement, MHidAmicoEvent, MHidAmicoIdentity, MHidAmicoReader, MHidSipAccount, MHidSitePermissions, MIN_RING_SECONDS, MIncidentReport, MManpowerDesignations, MManpowerMonitoring, MManpowerRemarks, MManpowerSites, MMember, MNfcPatrolLog, MNfcPatrolRoute, MNfcPatrolSettings, MNfcPatrolSettingsUpdate, MNfcPatrolTag, MNotification, MNotificationPreference, MODULE_GATE_MODE_DEFAULT, MODULE_LIST_GATE_DEFAULT, MOccurrenceBook, MOccurrenceEntry, MOccurrenceSubject, MOnlineForm, MOrg, MOvernightParkingApprovalHours, MOvernightParkingRequest, MPatrolEmail, MPatrolLog, MPatrolQuestion, MPatrolRoute, MPerson, MPersonalEmergencyChain, MPlatformTerms, MPost, MPostFavorite, MPromoCode, MRobot, MRole, MRoleV2, MServiceProvider, MServiceProviderBilling, MSession, MSite, MSiteCamera, MSiteFacility, MSiteFacilityBooking, MStatementOfAccount, MSubcategoryPreloved, MSubscription, MSubscriptionPlan, MUnitBilling, MUser, MVehicle, MVehicleTransaction, MVerification, MVerificationV2, MVisitorTransaction, MWorkOrder, NOTIFICATION_CATEGORIES, NOTIFICATION_CHANNELS, NOTIFICATION_CHANNEL_LABELS, NOTIFICATION_NAMESPACE, NOTIFY_ACCESS_FILTER_DEFAULT, NotificationAppSlug, NotificationCategory, NotificationChannel, NotificationModule, NotificationPreferenceView, NotificationService, ORG_MARKETPLACE_VENDOR_FIELD, OrgNature, OvernightParkingRequestSort, OvernightParkingRequestStatus, PATROL_CCTV_CAMERA_FILTER, PATROL_EMAIL_MAX_LOGS, PATROL_EMAIL_MAX_PER_HOUR, PATROL_EMAIL_MAX_RECIPIENTS, PERSON_TYPES, PLATFORM_STAFF_MEMBER_TYPE, PLATFORM_STAFF_ROLE_TYPE, PROPERTY_MANAGEMENT_MEMBER_TYPES, PStatus, PTZ_ALLOWED_ACTIONS, PTZ_ALLOWED_CODES, Period, PersonStatus, PersonType, PersonTypes, PlatformTermsStatus, PostOrder, PostSort, PostStatus, QrTagProps, REALTIME_MAX_FANOUT, ResidentAppModuleKey, SELF_SERVICE_RESEND_COOLDOWN_MS, SELF_SIGNUP_PLATFORM, SELF_SIGNUP_STATUS, SELF_SIGNUP_TYPES, SERVICE_PROVIDER_INVITE_LABELS, SERVICE_PROVIDER_INVITE_TRANSITIONS, SERVICE_PROVIDER_SIGN_IN_SUBJECT, SERVICE_PROVIDER_SIGN_IN_TYPE, SERVICE_PROVIDER_SIGN_UP_SUBJECT, SERVICE_PROVIDER_SIGN_UP_TYPE, SOFTWARE_VERSION_ENDPOINT, ServiceProviderInviteAction, ServiceProviderInviteDecision, ServiceProviderInviteFacts, SiteAddress, SiteCategories, SiteStatus, SortFields, SortOrder, Status, SubjectOrder, SubjectSort, SubscriptionBillingMode, SubscriptionType, TAccessMngmntSettings, TActionStatus, TAddress, TAffectedEntities, TAffectedInjured, TAppServiceType, TApprovedBy, TApprover, TAttendance, TAttendanceCheckIn, TAttendanceCheckOut, TAttendanceCheckTime, TAttendanceLocation, TAttendanceSettings, TAttendanceSettingsGetBySite, TAuthorities, TAuthoritiesCalled, TBidPreloved, TBilling, TBillingConfiguration, TBillingItem, TBuilding, TBuildingLevel, TBuildingUnit, TBulletinBoard, TBulletinVideo, TCamera, TCameraHealthClaim, TCategoryPreloved, TChannelPreloved, TChat, TChatPreloved, TCheckPoint$1 as TCheckPoint, TComplaintInfo, TComplaintReceivedTo, TConsoleAudit, TConsoleAuditQuery, TCounter, TCreateNfcPatrolLog, TCustomer, TCustomerSite, TCustomerSitePropertyField, TDayNumber, TDaySchedule, TDefaultAccessCard, TDesignations, TDocs, TDocumentCreate, TDocumentManagement, TEntryPassSettings, TEventManagement, TFeedback, TFeedbackMetadata, TFeedbackUpdate, TFeedbackUpdateCategory, TFeedbackUpdateServiceProvider, TFeedbackUpdateStatus, TFeedbackUpdateToCompleted, TFile, TFiles, TFolderUpdate, TFormEntry, TGetAttendancesByUserQuery, TGetAttendancesQuery, TGuestManagement, THidAmicoEvent, THidAmicoGatewayJob, THidAmicoIdentity, THidAmicoPhysicalCard, THidAmicoReader, THidPermissionAssignment, THidPermissionCategory, THidPermissionUserBinding, THidPhysicalCardInput, THidPhysicalCardType$1 as THidPhysicalCardType, THidSipAccount, THidSitePermissions, TIncidentInformation, TIncidentReport, TIncidentTypeAndTime, TInvoice, TKeyRef, TManpowerDesignations, TManpowerDesignationsUpdate, TManpowerMonitoring, TManpowerMonitoringUpdate, TManpowerRemarks, TManpowerRemarksStatusUpdate, TManpowerRemarksUpdate, TManpowerSearchFilter, TManpowerSites, TMember, TMemberModulesDeps, TMemberUpdateStatus, TMessagePreloved, TMiniRole, TModuleAccess, TModuleGateMode, TModuleImpact, TNfcPatrolLog, TNfcPatrolRoute, TNfcPatrolRouteEdit, TNfcPatrolSettings, TNfcPatrolSettingsGetBySite, TNfcPatrolSettingsUpdate, TNfcPatrolTag, TNfcPatrolTagConfigureReset, TNfcPatrolTagEdit, TNfcPatrolTagUpdateData, TNotification, TNotificationPreference, TNotificationPreferenceOff, TNotifyAccessContext, TNotifyAccessMode, TNotifyAccessReport, TOccurrenceBook, TOccurrenceEntry, TOccurrenceSubject, TOnlineForm, TOrg, TOrgModulesDeps, TOvernightParkingApprovalHours, TOvernightParkingRequest, TPatrolEmail, TPatrolEmailCreatedBy, TPatrolEmailLogRef, TPatrolLog, TPatrolQuestion, TPatrolRoute, TPerson, TPersonalEmergencyChain, TPersonalEmergencyContact, TPlaceOfIncident, TPlates, TPlatformTerms, TPost, TPostFavorite, TPrice, TPriceType, TPromoCode, TPromoCurrencyInput, TPromoTier, TRANSPORT_DEVICE_HTTP, TRANSPORT_RELAY_PLAYER, TRANSPORT_RTSP_FRAME, TRecipientOfComplaint, TRemarks, TResident, TResidentAppModules, TRobot, TRobotMetadata, TRole, TRolePermissionHistoryEntry, TRoleV2, TRoute, TSOABillingItem, TSOAStatus, TSelfServiceEmailOccasion, TSelfServiceEmailRecord, TSelfServiceResendDecision, TSelfServiceResendFacts, TServiceProvider, TServiceProviderBilling, TSession, TSessionCreate, TShifts, TSignNfcPatrolLog, TSite, TSiteCamera, TSiteDayBounds, TSiteFacility, TSiteFacilityBooking, TSiteInfo, TSiteInformation, TSiteMetadata, TSiteModulesDeps, TSiteUpdateBlock, TStatementOfAccount, TSubcategoryPreloved, TSubmissionForm, TSubscription, TSubscriptionPlan, TSubscriptionPlanApplication, TUnitBilling, TUnits, TUpdateFormEntry, TUpdateName, TUser, TUserCreate, TVehicle, TVehicleTransaction, TVehicleUpdate, TVerification, TVerificationCode, TVerificationEvent, TVerificationMetadata, TVerificationMetadataV2, TVerificationOnboarding, TVerificationV2, TVisitorTransaction, TWorkOrder, TWorkOrderMetadata, TWorkOrderUpdate, TWorkOrderUpdateStatus, TWorkOrderUpdateToCompleted, TanyoneDamageToProperty, UNSTORED_COLUMNS, UseAccessManagementRepo, UserStatus, VERIFICATION_OPEN_STATUSES, VehicleCategory, VehicleOrder, VehicleSort, VehicleStatus, VehicleType, VerificationLinkType, VerificationStatus, VerificationSubjectType, VerificationType, VisitorSort, VisitorStatus, addressSchema, allowedFieldsSite, allowedNatures, allowedPlanApplications, attendanceSchema, attendanceSettingsSchema, buildSelfServiceEmailContext, building_level_namespace_collection, building_units_namespace_collection, buildings_namespace_collection, bulletin_boards_namespace_collection, callerAccountApproved, callerId, cameraBaseUrl, cameraCapabilitiesFor, cameraDevices, cameraGrant, cameraHealthClaim, cameraHealthSummary, cameraManagePermissions, cameraProbeCacheKey, cameraTransports, canRevokeRefreshTokenFamily, categoriesForPermissions, categorySupportsChannel, chatPrelovedEvents, chatSchema, clampPtzSpeed, clockDriftSeconds, consoleRoleAllows, consoleRoleAllowsAll, consoleSpellings, console_audit_namespace_collection, createManpowerRemarksDaily, customerSchema, customerSitePropertyFields, decideSelfServiceResend, decideServiceProviderInvite, decodeHidPacsCard, deniedModules, deriveBulletinStatus, deriveCameraHost, describeCameraCapabilities, designationsSchema, deviceControlEnabled, deviceHttpEnabled, deviceHttpTargets, deviceHttpTimeoutMs, deviceProbeTtlSeconds, emitNotificationCreated, emptyPersonalEmergencyChain, encodeHidPacsCard, entitledSiteScope, events_namespace_collection, expandModules, expiredBulletinSweepFilter, expiredVehicleSweepFilter, facility_bookings_namespace_collection, feedbackSchema, feedbacks2_namespace_collection, feedbacks_namespace_collection, ffmpegFrameArgs, ffmpegPath, filterByAccess, formatCapabilityTrace, formatDahuaDate, getIO, getSessionIdFromRequest, grabWithSubStreamFallback, guests_namespace_collection, hasAnyCapability, hasAnyPermission, hasOrgInvitation, hasOrgOwnership, hasOrgSiteReach, hidRawUint64, holdsRole, incidentReport, incidentReportLog, incidents_namespace_collection, invitationOffersRole, isCameraEntitled, isDuplicateVersionError, isLikelySelfServiceEmail, isPatrolCctvCamera, isPlatformOwner, isPromoCodeExpired, isRelayPlayerUrl, isSafeRelativePath, isSuperAdmin, isTermsCurrent, isValidTimezone, logCamera, manpowerDesignationsSchema, manpowerEvents, manpowerMonitoringSchema, manpowerRemarksSchema, manpowerSitesSchema, mapWithLimit, maskNric, memberModulesHandlers, moduleDeniedForCaller, moduleGateEnforceKeys, moduleGateMode, moduleImpact, moduleListGateOn, nfcPatrolSettingsSchema, nfcPatrolSettingsSchemaUpdate, normalizeAcceptedTerms, normalizeHidCardValue, notificationAccessReport, notificationCategory, notificationCategoryLabel, notificationEvents, notificationRoom, notifyAccessMode, occasionForStatus, occurrence_book_namespace_collection, online_forms_namespace_collection, orgLevelRoles, orgModulesHandlers, orgSchema, overnight_parking_requests_namespace_collection, parseCameraChannel, parseCameraHost, parseDahuaFind, parseDeviceTime, parseHidJsonLossless, parsePromoExpiry, parseSoftwareVersion, pickAuditFields, pickCustomerSiteProperties, planBulkCameraImport, platform_terms_namespace_collection, promoCodeRefusal, promoCodeSchema, promoCodeStatusSchema, promoCodeUpdate, promoCodeUpdateSchema, ptzEndpoint, publicCameraFields, readsAsApprovedAccount, recordConsoleAction, refuseServiceProviderInviteAction, registerCameraTransport, relayForRecorder, remarksSchema, renderPagePdf, requireConsolePermission, requirePlatformStaff, resetCameraTransports, residentAppModuleKeys, residentAppModulesSchema, residentFormEntry, resolutionRefusalReason, resolveCamera, resolveDeviceHttp, resolveHidPhysicalCardValue, resolveInviteActor, resolveSiteTimezone, resolveStaffRole, robotSchema, rtspUrl, schema, schemaAppSlugNotification, schemaApprovedBy, schemaApprover, schemaBidPreloved, schemaBilling, schemaBillingConfiguration, schemaBillingItem, schemaBuilding, schemaBuildingLevel, schemaBuildingUnit, schemaBuildingUpdateOptions, schemaBulletinBoard, schemaBulletinVideo, schemaCategoryPreloved, schemaChannelPreloved, schemaChatPreloved, schemaConsoleAudit, schemaCreateHidAmicoIdentity, schemaCreateNfcPatrolLog, schemaCreateNotification, schemaCustomerSite, schemaDiscoverHidAmicoReader, schemaDocumentManagement, schemaEntryPassSettings, schemaEventManagement, schemaFiles, schemaFormEntry, schemaGuestManagement, schemaHidAmicoAccessLogQuery, schemaHidAmicoAssignUserCard, schemaHidAmicoConfiguration, schemaHidAmicoEnrollUserCard, schemaHidAmicoEvent, schemaHidAmicoExecuteActions, schemaHidAmicoIdentity, schemaHidAmicoIdentityIdParams, schemaHidAmicoIdentityQuery, schemaHidAmicoIntercomCall, schemaHidAmicoLogQuery, schemaHidAmicoMonitor, schemaHidAmicoNotificationParams, schemaHidAmicoObjectOperation, schemaHidAmicoOperatingMode, schemaHidAmicoReader, schemaHidAmicoReaderIdParams, schemaHidAmicoReaderListQuery, schemaHidAmicoReaderUserQuery, schemaHidAmicoSetConfiguration, schemaHidAmicoSiteIdParams, schemaHidAmicoSync, schemaHidAmicoUserCardIdParams, schemaHidAmicoUserCardParams, schemaHidAmicoUserImageParams, schemaHidAmicoUserImageUploadQuery, schemaHidAmicoUserPin, schemaHidAmicoUserPinParams, schemaHidAmicoVisitorImageParams, schemaHidAmicoVisitorImageUploadQuery, schemaHidAmicoVisitorQr, schemaHidPermissionCandidateQuery, schemaHidPermissionScopeQuery, schemaHidSipAccountRequest, schemaIncidentReport, schemaListNotification, schemaMultipleDocumentManagement, schemaNfcPatrolLog, schemaNfcPatrolRoute, schemaNfcPatrolTag, schemaNfcPatrolTagUpdateData, schemaNotification, schemaNotificationPreference, schemaNotificationPreferenceOff, schemaOccurrenceBook, schemaOccurrenceEntry, schemaOccurrenceSubject, schemaOnlineForm, schemaOvernightParkingApprovalHours, schemaOvernightParkingRequest, schemaPatrolEmail, schemaPatrolEmailCreatedBy, schemaPatrolEmailLogRef, schemaPatrolEmailQuery, schemaPatrolLog, schemaPatrolQuestion, schemaPatrolRoute, schemaPerson, schemaPersonalEmergencyContact, schemaPlate, schemaPlatformTerms, schemaPost, schemaPostFavorite, schemaResendPatrolEmail, schemaResidentSelfSignUp, schemaSelfServiceVisitor, schemaSendPatrolEmail, schemaServiceProvider, schemaServiceProviderBilling, schemaSignNfcPatrolLog, schemaSiteCamera, schemaSiteFacility, schemaSiteFacilityBooking, schemaStatementOfAccount, schemaSubcategoryPreloved, schemaUnitBilling, schemaUpdateBidPreloved, schemaUpdateBuildingLevel, schemaUpdateBulletinBoard, schemaUpdateBulletinVideo, schemaUpdateCategoryPreloved, schemaUpdateChatPreloved, schemaUpdateDocumentManagement, schemaUpdateEntryPassSettings, schemaUpdateEventManagement, schemaUpdateFolderManagement, schemaUpdateFormEntry, schemaUpdateGuestManagement, schemaUpdateHidAmicoIdentity, schemaUpdateHidAmicoReader, schemaUpdateHidSitePermissions, schemaUpdateIncidentReport, schemaUpdateNotification, schemaUpdateNotificationPreference, schemaUpdateOccurrenceBook, schemaUpdateOccurrenceEntry, schemaUpdateOccurrenceSubject, schemaUpdateOnlineForm, schemaUpdateOptions, schemaUpdateOvernightParkingRequest, schemaUpdatePatrolLog, schemaUpdatePatrolQuestion, schemaUpdatePatrolRoute, schemaUpdatePerson, schemaUpdatePersonalEmergencyChain, schemaUpdatePost, schemaUpdatePostFavorite, schemaUpdateServiceProviderBilling, schemaUpdateSiteBillingConfiguration, schemaUpdateSiteBillingItem, schemaUpdateSiteCamera, schemaUpdateSiteFacility, schemaUpdateSiteFacilityBooking, schemaUpdateSiteUnitBilling, schemaUpdateStatementOfAccount, schemaUpdateSubcategoryPreloved, schemaUpdateVisTrans, schemaVehicleTransaction, schemaVisitorTransaction, schemeCamera, schemeLogCamera, selectHealthTargets, selfServiceEmailSubject, serviceProviderInviteLabel, sessionSchema, setIO, shiftSchema, siteDayBounds, siteModulesHandlers, siteSchema, site_people_namespace_collection, snapshotEndpoint, snapshotRefusalReason, staffMayBypass, stringifyHidJson, stripFacialImageMetadata, subscriptionPlanSchema, summariseBulkCameraPlan, updateRemarksStatusEod, updateRemarksisAcknowledged, updateSiteSchema, useAccessManagementController, useAddressRepo, useAttendanceController, useAttendanceRepository, useAttendanceSettingsController, useAttendanceSettingsRepository, useAttendanceSettingsService, useAuthController, useAuthControllerV2, useAuthService, useAuthServiceV2, useBidPrelovedController, useBidPrelovedRepo, useBidPrelovedService, useBuildingController, useBuildingLevelController, useBuildingLevelRepo, useBuildingLevelService, useBuildingRepo, useBuildingService, useBuildingUnitController, useBuildingUnitRepo, useBuildingUnitService, useBulletinBoardController, useBulletinBoardRepo, useBulletinBoardService, useBulletinVideoController, useBulletinVideoRepo, useBulletinVideoService, useCameraViewController, useCameraViewService, useCategoryPrelovedController, useCategoryPrelovedRepo, useChannelPrelovedController, useChannelPrelovedRepo, useChatController, useChatPrelovedController, useChatPrelovedRepo, useChatPrelovedService, useChatRepo, useConsoleAuditController, useConsoleAuditRepo, useCounterModel, useCounterRepo, useCustomerController, useCustomerRepo, useCustomerSiteController, useCustomerSiteRepo, useCustomerSiteService, useDahuaService, useDashboardController, useDashboardRepo, useDocumentManagementController, useDocumentManagementRepo, useDocumentManagementService, useEntryPassSettingsController, useEntryPassSettingsRepo, useEventManagementController, useEventManagementRepo, useEventManagementService, useFeedbackController, useFeedbackRepo, useFeedbackService, useFileController, useFileRepo, useFileService, useFormEntryController, useFormEntryRepo, useGuestManagementController, useGuestManagementRepo, useGuestManagementService, useHidAmicoController, useHidAmicoRepo, useHidAmicoService, useHrmLabsAttendanceCtrl, useHrmLabsAttendanceSrvc, useIncidentReportController, useIncidentReportRepo, useIncidentReportService, useInvoiceController, useInvoiceModel, useInvoiceRepo, useManpowerDesignationCtrl, useManpowerDesignationRepo, useManpowerMonitoringCtrl, useManpowerMonitoringRepo, useManpowerMonitoringSrvc, useManpowerRemarkCtrl, useManpowerRemarksRepo, useManpowerSitesCtrl, useManpowerSitesRepo, useManpowerSitesSrvc, useMemberController, useMemberRepo, useMemberService, useNewDashboardController, useNewDashboardRepo, useNfcPatrolLogController, useNfcPatrolLogRepo, useNfcPatrolLogService, useNfcPatrolRouteController, useNfcPatrolRouteRepo, useNfcPatrolRouteService, useNfcPatrolSettingsController, useNfcPatrolSettingsRepository, useNfcPatrolSettingsService, useNfcPatrolTagController, useNfcPatrolTagRepo, useNfcPatrolTagService, useNotificationController, useNotificationPreferenceController, useNotificationPreferenceRepo, useNotificationPreferenceService, useNotificationRepo, useOccurrenceBookController, useOccurrenceBookRepo, useOccurrenceBookService, useOccurrenceEntryController, useOccurrenceEntryRepo, useOccurrenceEntryService, useOccurrenceSubjectController, useOccurrenceSubjectRepo, useOccurrenceSubjectService, useOnlineFormController, useOnlineFormRepo, useOrgController, useOrgControllerV2, useOrgRepo, useOvernightParkingController, useOvernightParkingRepo, useOvernightParkingRequestController, useOvernightParkingRequestRepo, useOvernightParkingRequestService, usePatrolEmailController, usePatrolEmailRepo, usePatrolEmailService, usePatrolLogController, usePatrolLogRepo, usePatrolLogService, usePatrolQuestionController, usePatrolQuestionRepo, usePatrolRouteController, usePatrolRouteRepo, usePersonController, usePersonRepo, usePersonalEmergencyChainController, usePersonalEmergencyChainRepo, usePersonalEmergencyChainService, usePlatformTermsController, usePlatformTermsRepo, usePlatformTermsService, usePostFavoriteController, usePostFavoriteRepo, usePostFavoriteService, usePostPrelovedController, usePostPrelovedRepo, usePriceController, usePriceModel, usePriceRepo, usePromoCodeController, usePromoCodeRepo, useRedDotPaymentController, useRedDotPaymentRepo, useRedDotPaymentSvc, useRobotController, useRobotRepo, useRobotService, useRoleController, useRoleControllerV2, useRoleRepo, useRoleRepoV2, useRoleServiceV2, useServiceProviderBillingController, useServiceProviderBillingRepo, useServiceProviderBillingService, useServiceProviderController, useServiceProviderInviteController, useServiceProviderInviteService, useServiceProviderRepo, useSessionRepo, useSiteBillingConfigurationController, useSiteBillingConfigurationRepo, useSiteBillingItemController, useSiteBillingItemRepo, useSiteCameraController, useSiteCameraRepo, useSiteCameraService, useSiteController, useSiteFacilityBookingController, useSiteFacilityBookingRepo, useSiteFacilityBookingService, useSiteFacilityController, useSiteFacilityRepo, useSiteFacilityService, useSiteRepo, useSiteService, useSiteUnitBillingController, useSiteUnitBillingRepo, useSiteUnitBillingService, useStatementOfAccountController, useStatementOfAccountRepo, useSubcategoryPrelovedController, useSubcategoryPrelovedRepo, useSubscriptionController, useSubscriptionPlanController, useSubscriptionPlanRepo, useSubscriptionRepo, useSubscriptionService, useUserController, useUserControllerV2, useUserRepo, useUserRepoV2, useUserService, useUserServiceV2, useVehicleController, useVehicleRepo, useVehicleService, useVerificationController, useVerificationControllerV2, useVerificationRepo, useVerificationRepoV2, useVerificationService, useVerificationServiceV2, useVisitorTransactionController, useVisitorTransactionRepo, useVisitorTransactionService, useWorkOrderController, useWorkOrderRepo, useWorkOrderService, userSchema, vehicleSchema, vehicles_namespace_collection, visitorPersonRepo, visitorPersonService, visitorType, visitors_namespace_collection, wallConfig, workOrderSchema, work_orders2_namespace_collection, work_orders_namespace_collection };
|
|
14906
|
+
export { ANPRMode, APP_BASE_URLS, AUDIT_VALUE_MAX_LENGTH, AccessTypeProps, AppKey, AppServiceType, AssignCardConfig, BULK_CAMERA_COLUMNS, BidStatus, BidType, BuildingLevelStatus, BuildingStatus, BulkCameraAccepted, BulkCameraOutcome, BulkCameraPlan, BulkCameraResult, BulkCardUpdate, BulletinOrder, BulletinRecipient, BulletinSort, BulletinStatus, BulletinVideoOrder, BulletinVideoSort, CAMERA_ANPR_PERMISSIONS, CAMERA_CAPABILITIES, CAMERA_CAPABILITY_REASONS, CAMERA_MANAGE_ANY_PERMISSIONS, CAMERA_NOT_PATROL_OR_CCTV, CAMERA_NO_SUB_STREAM_TTL_SECONDS, CAMERA_PTZ_PERMISSIONS, CAMERA_REQUEST_TIMEOUT_MS, CAMERA_RTSP_TIMEOUT_MS, CAMERA_SETUP_PERMISSIONS, CAMERA_SNAPSHOT_CACHE_SECONDS, CAMERA_SNAPSHOT_MAX_BYTES, CAMERA_TEST_MIN_INTERVAL_SECONDS, CAMERA_TEST_ROUND_LIMIT, CAMERA_TEST_ROUND_SECONDS, CAMERA_TYPE_ANPR, CAMERA_TYPE_IP, CAMERA_VIEW_PERMISSIONS, CLIENT_ACTIONS, CLOCK_DRIFT_WARN_SECONDS, CONSOLE_AUDIT_LABELS, CONSOLE_PERMISSIONS, CONTRACTOR_TYPE_LABELS, CROSS_CLIENT_GRANT, CURRENT_TIME_ENDPOINT, Camera, CameraAddressInput, CameraCapability, CameraCapabilityContext, CameraCapabilityDescriptor, CameraCapabilityEntry, CameraCapabilityReason, CameraCapabilityState, CameraCapabilityTrace, CameraDevice, CameraFrame, CameraMembership, CameraStream, CameraTestStatus, CameraTransport, CameraType, ConsoleAuditAction, ConsoleAuditTarget, ConsoleGrant, DEFAULT_RING_SECONDS, DEFAULT_SITE_TIMEZONE, DEVICE_STATUS, DOBStatus, DUPLICATE_TERMS_VERSION_MESSAGE, DayOfWeek, DeviceHttpTarget, DeviceProbeResult, DynamicFormFields, E164, EAccessCardTypes, EAccessCardUserTypes, EmailSender, EntryOrder, EntrySort, EventOrder, EventSort, EventStatus, EventType, FacilitySort, FacilityStatus, FormEntryStatus, GOVERNED_MODULES, GuestSort, GuestStatus, HID_CARD_VALUE_FACTOR, HID_PERMISSION_CATEGORIES, HID_UINT32_MAX, HID_UINT64_MAX, HidRawUint64, IAccessCard, IAccessCardTransaction, InviteActor, LIVE_ROLE, MAX_BULK_CAMERA_ROWS, MAX_CAMERA_CHANNEL, MAX_CAMERA_NAME_LENGTH, MAX_PERSONAL_EMERGENCY_CONTACTS, MAX_RING_SECONDS, MAccessCard, MAccessCardTransaction, MAddress, MAttendance, MAttendanceSettings, MBidPreloved, MBillingConfiguration, MBillingItem, MBuilding, MBuildingLevel, MBuildingUnit, MBulletinBoard, MBulletinVideo, MCategoryPreloved, MChannelPreloved, MChat, MChatPreloved, MConsoleAudit, MCustomer, MCustomerSite, MDocumentManagement, MEMBER_TYPES, MEntryPassSettings, MEventManagement, MFeedback, MFile, MFormEntry, MGuestManagement, MHidAmicoEvent, MHidAmicoIdentity, MHidAmicoReader, MHidSipAccount, MHidSitePermissions, MIN_RING_SECONDS, MIncidentReport, MManpowerDesignations, MManpowerMonitoring, MManpowerRemarks, MManpowerSites, MMember, MNfcPatrolLog, MNfcPatrolRoute, MNfcPatrolSettings, MNfcPatrolSettingsUpdate, MNfcPatrolTag, MNotification, MNotificationPreference, MODULE_GATE_MODE_DEFAULT, MODULE_LIST_GATE_DEFAULT, MOccurrenceBook, MOccurrenceEntry, MOccurrenceSubject, MOnlineForm, MOrg, MOvernightParkingApprovalHours, MOvernightParkingRequest, MPatrolEmail, MPatrolLog, MPatrolQuestion, MPatrolRoute, MPerson, MPersonalEmergencyChain, MPlatformTerms, MPost, MPostFavorite, MPromoCode, MRobot, MRole, MRoleV2, MServiceProvider, MServiceProviderBilling, MSession, MSite, MSiteCamera, MSiteFacility, MSiteFacilityBooking, MStatementOfAccount, MSubcategoryPreloved, MSubscription, MSubscriptionPlan, MUnitBilling, MUser, MVehicle, MVehicleTransaction, MVerification, MVerificationV2, MVisitorTransaction, MWorkOrder, NOTIFICATION_CATEGORIES, NOTIFICATION_CHANNELS, NOTIFICATION_CHANNEL_LABELS, NOTIFICATION_NAMESPACE, NOTIFY_ACCESS_FILTER_DEFAULT, NotificationAppSlug, NotificationCategory, NotificationChannel, NotificationModule, NotificationPreferenceView, NotificationService, ORG_MARKETPLACE_VENDOR_FIELD, ORG_OWNER_REPAIR_CLAIM_STALE_MS, ORG_OWNER_REPAIR_CLAIM_TAKEN_REASON, ORG_OWNER_REPAIR_DEFAULT, ORG_OWNER_REPAIR_OFF_REASON, OrgNature, OvernightParkingRequestSort, OvernightParkingRequestStatus, PATROL_CCTV_CAMERA_FILTER, PATROL_EMAIL_MAX_LOGS, PATROL_EMAIL_MAX_PER_HOUR, PATROL_EMAIL_MAX_RECIPIENTS, PERSON_TYPES, PLATFORM_STAFF_MEMBER_TYPE, PLATFORM_STAFF_ROLE_TYPE, PROPERTY_MANAGEMENT_MEMBER_TYPES, PStatus, PTZ_ALLOWED_ACTIONS, PTZ_ALLOWED_CODES, Period, PersonStatus, PersonType, PersonTypes, PlatformTermsStatus, PostOrder, PostSort, PostStatus, QrTagProps, REALTIME_MAX_FANOUT, ResidentAppModuleKey, SELF_SERVICE_RESEND_COOLDOWN_MS, SELF_SIGNUP_PLATFORM, SELF_SIGNUP_STATUS, SELF_SIGNUP_TYPES, SERVICE_PROVIDER_INVITE_LABELS, SERVICE_PROVIDER_INVITE_TRANSITIONS, SERVICE_PROVIDER_SIGN_IN_SUBJECT, SERVICE_PROVIDER_SIGN_IN_TYPE, SERVICE_PROVIDER_SIGN_UP_SUBJECT, SERVICE_PROVIDER_SIGN_UP_TYPE, SOFTWARE_VERSION_ENDPOINT, ServiceProviderInviteAction, ServiceProviderInviteDecision, ServiceProviderInviteFacts, SiteAddress, SiteCategories, SiteStatus, SortFields, SortOrder, Status, SubjectOrder, SubjectSort, SubscriptionBillingMode, SubscriptionType, TAccessMngmntSettings, TActionStatus, TAddress, TAffectedEntities, TAffectedInjured, TAppServiceType, TApprovedBy, TApprover, TAttendance, TAttendanceCheckIn, TAttendanceCheckOut, TAttendanceCheckTime, TAttendanceLocation, TAttendanceSettings, TAttendanceSettingsGetBySite, TAuthorities, TAuthoritiesCalled, TBidPreloved, TBilling, TBillingConfiguration, TBillingItem, TBuilding, TBuildingLevel, TBuildingUnit, TBulletinBoard, TBulletinVideo, TCamera, TCameraHealthClaim, TCategoryPreloved, TChannelPreloved, TChat, TChatPreloved, TCheckPoint$1 as TCheckPoint, TComplaintInfo, TComplaintReceivedTo, TConsoleAudit, TConsoleAuditQuery, TCounter, TCreateNfcPatrolLog, TCustomer, TCustomerSite, TCustomerSitePropertyField, TDayNumber, TDaySchedule, TDefaultAccessCard, TDesignations, TDocs, TDocumentCreate, TDocumentManagement, TEntryPassSettings, TEventManagement, TFeedback, TFeedbackMetadata, TFeedbackUpdate, TFeedbackUpdateCategory, TFeedbackUpdateServiceProvider, TFeedbackUpdateStatus, TFeedbackUpdateToCompleted, TFile, TFiles, TFolderUpdate, TFormEntry, TGetAttendancesByUserQuery, TGetAttendancesQuery, TGuestManagement, THidAmicoEvent, THidAmicoGatewayJob, THidAmicoIdentity, THidAmicoPhysicalCard, THidAmicoReader, THidPermissionAssignment, THidPermissionCategory, THidPermissionUserBinding, THidPhysicalCardInput, THidPhysicalCardType$1 as THidPhysicalCardType, THidSipAccount, THidSitePermissions, TIncidentInformation, TIncidentReport, TIncidentTypeAndTime, TInvoice, TKeyRef, TManpowerDesignations, TManpowerDesignationsUpdate, TManpowerMonitoring, TManpowerMonitoringUpdate, TManpowerRemarks, TManpowerRemarksStatusUpdate, TManpowerRemarksUpdate, TManpowerSearchFilter, TManpowerSites, TMember, TMemberModulesDeps, TMemberUpdateStatus, TMessagePreloved, TMiniRole, TModuleAccess, TModuleGateMode, TModuleImpact, TNfcPatrolLog, TNfcPatrolRoute, TNfcPatrolRouteEdit, TNfcPatrolSettings, TNfcPatrolSettingsGetBySite, TNfcPatrolSettingsUpdate, TNfcPatrolTag, TNfcPatrolTagConfigureReset, TNfcPatrolTagEdit, TNfcPatrolTagUpdateData, TNotification, TNotificationPreference, TNotificationPreferenceOff, TNotifyAccessContext, TNotifyAccessMode, TNotifyAccessReport, TOccurrenceBook, TOccurrenceEntry, TOccurrenceSubject, TOnlineForm, TOrg, TOrgModulesDeps, TOrgOwnerRepairClaim, TOrgOwnerRepairDeps, TOrgOwnerRepairInput, TOrgOwnerRepairPayload, TOrgOwnerRepairPlan, TOvernightParkingApprovalHours, TOvernightParkingRequest, TPatrolEmail, TPatrolEmailCreatedBy, TPatrolEmailLogRef, TPatrolLog, TPatrolQuestion, TPatrolRoute, TPerson, TPersonalEmergencyChain, TPersonalEmergencyContact, TPlaceOfIncident, TPlates, TPlatformTerms, TPost, TPostFavorite, TPrice, TPriceType, TPromoCode, TPromoCurrencyInput, TPromoTier, TRANSPORT_DEVICE_HTTP, TRANSPORT_RELAY_PLAYER, TRANSPORT_RTSP_FRAME, TRecipientOfComplaint, TRemarks, TResident, TResidentAppModules, TRobot, TRobotMetadata, TRole, TRolePermissionHistoryEntry, TRoleV2, TRoute, TSOABillingItem, TSOAStatus, TSelfServiceEmailOccasion, TSelfServiceEmailRecord, TSelfServiceResendDecision, TSelfServiceResendFacts, TServiceProvider, TServiceProviderBilling, TSession, TSessionCreate, TShifts, TSignNfcPatrolLog, TSite, TSiteCamera, TSiteDayBounds, TSiteFacility, TSiteFacilityBooking, TSiteInfo, TSiteInformation, TSiteMetadata, TSiteModulesDeps, TSiteUpdateBlock, TStatementOfAccount, TSubcategoryPreloved, TSubmissionForm, TSubscription, TSubscriptionPlan, TSubscriptionPlanApplication, TUnitBilling, TUnits, TUpdateFormEntry, TUpdateName, TUser, TUserCreate, TVehicle, TVehicleTransaction, TVehicleUpdate, TVerification, TVerificationCode, TVerificationEvent, TVerificationMetadata, TVerificationMetadataV2, TVerificationOnboarding, TVerificationV2, TVisitorTransaction, TWorkOrder, TWorkOrderMetadata, TWorkOrderUpdate, TWorkOrderUpdateStatus, TWorkOrderUpdateToCompleted, TanyoneDamageToProperty, UNSTORED_COLUMNS, UseAccessManagementRepo, UserStatus, VERIFICATION_OPEN_STATUSES, VehicleCategory, VehicleOrder, VehicleSort, VehicleStatus, VehicleType, VerificationLinkType, VerificationStatus, VerificationSubjectType, VerificationType, VisitorSort, VisitorStatus, addressSchema, allowedFieldsSite, allowedNatures, allowedPlanApplications, attendanceSchema, attendanceSettingsSchema, buildSelfServiceEmailContext, building_level_namespace_collection, building_units_namespace_collection, buildings_namespace_collection, bulletin_boards_namespace_collection, callerAccountApproved, callerId, cameraBaseUrl, cameraCapabilitiesFor, cameraDevices, cameraGrant, cameraHealthClaim, cameraHealthSummary, cameraManagePermissions, cameraProbeCacheKey, cameraTransports, canRevokeRefreshTokenFamily, categoriesForPermissions, categorySupportsChannel, chatPrelovedEvents, chatSchema, claimReadsAsStale, clampPtzSpeed, clockDriftSeconds, consoleRoleAllows, consoleRoleAllowsAll, consoleSpellings, console_audit_namespace_collection, createManpowerRemarksDaily, customerSchema, customerSitePropertyFields, decideSelfServiceResend, decideServiceProviderInvite, decodeHidPacsCard, deniedModules, deriveBulletinStatus, deriveCameraHost, describeCameraCapabilities, designationsSchema, deviceControlEnabled, deviceHttpEnabled, deviceHttpTargets, deviceHttpTimeoutMs, deviceProbeTtlSeconds, emitNotificationCreated, emptyPersonalEmergencyChain, encodeHidPacsCard, entitledSiteScope, events_namespace_collection, expandModules, expiredBulletinSweepFilter, expiredVehicleSweepFilter, facility_bookings_namespace_collection, feedbackSchema, feedbacks2_namespace_collection, feedbacks_namespace_collection, ffmpegFrameArgs, ffmpegPath, filterByAccess, formatCapabilityTrace, formatDahuaDate, getIO, getSessionIdFromRequest, grabWithSubStreamFallback, guests_namespace_collection, hasAnyCapability, hasAnyPermission, hasOrgInvitation, hasOrgOwnership, hasOrgSiteReach, hidRawUint64, holdsRole, incidentReport, incidentReportLog, incidents_namespace_collection, invitationOffersRole, isCameraEntitled, isDuplicateVersionError, isLikelySelfServiceEmail, isPatrolCctvCamera, isPlatformOwner, isPromoCodeExpired, isRelayPlayerUrl, isSafeRelativePath, isSuperAdmin, isTermsCurrent, isValidTimezone, logCamera, manpowerDesignationsSchema, manpowerEvents, manpowerMonitoringSchema, manpowerRemarksSchema, manpowerSitesSchema, mapWithLimit, maskNric, memberModulesHandlers, moduleDeniedForCaller, moduleGateEnforceKeys, moduleGateMode, moduleImpact, moduleListGateOn, nfcPatrolSettingsSchema, nfcPatrolSettingsSchemaUpdate, normalizeAcceptedTerms, normalizeHidCardValue, notificationAccessReport, notificationCategory, notificationCategoryLabel, notificationEvents, notificationRoom, notifyAccessMode, occasionForStatus, occurrence_book_namespace_collection, online_forms_namespace_collection, orgLevelRoles, orgModulesHandlers, orgOwnerRepairHandlers, orgOwnerRepairOn, orgQualifiesForOwnerRepair, orgSchema, overnight_parking_requests_namespace_collection, parseCameraChannel, parseCameraHost, parseDahuaFind, parseDeviceTime, parseHidJsonLossless, parsePromoExpiry, parseSoftwareVersion, pickAuditFields, pickCustomerSiteProperties, planBulkCameraImport, planOrgOwnerRepair, platform_terms_namespace_collection, promoCodeRefusal, promoCodeSchema, promoCodeStatusSchema, promoCodeUpdate, promoCodeUpdateSchema, ptzEndpoint, publicCameraFields, readsAsApprovedAccount, recordConsoleAction, refuseServiceProviderInviteAction, registerCameraTransport, relayForRecorder, remarksSchema, renderPagePdf, requireConsolePermission, requirePlatformStaff, resetCameraTransports, residentAppModuleKeys, residentAppModulesSchema, residentFormEntry, resolutionRefusalReason, resolveCamera, resolveDeviceHttp, resolveHidPhysicalCardValue, resolveInviteActor, resolveSiteTimezone, resolveStaffRole, robotSchema, rtspUrl, schema, schemaAppSlugNotification, schemaApprovedBy, schemaApprover, schemaBidPreloved, schemaBilling, schemaBillingConfiguration, schemaBillingItem, schemaBuilding, schemaBuildingLevel, schemaBuildingUnit, schemaBuildingUpdateOptions, schemaBulletinBoard, schemaBulletinVideo, schemaCategoryPreloved, schemaChannelPreloved, schemaChatPreloved, schemaConsoleAudit, schemaCreateHidAmicoIdentity, schemaCreateNfcPatrolLog, schemaCreateNotification, schemaCustomerSite, schemaDiscoverHidAmicoReader, schemaDocumentManagement, schemaEntryPassSettings, schemaEventManagement, schemaFiles, schemaFormEntry, schemaGuestManagement, schemaHidAmicoAccessLogQuery, schemaHidAmicoAssignUserCard, schemaHidAmicoConfiguration, schemaHidAmicoEnrollUserCard, schemaHidAmicoEvent, schemaHidAmicoExecuteActions, schemaHidAmicoIdentity, schemaHidAmicoIdentityIdParams, schemaHidAmicoIdentityQuery, schemaHidAmicoIntercomCall, schemaHidAmicoLogQuery, schemaHidAmicoMonitor, schemaHidAmicoNotificationParams, schemaHidAmicoObjectOperation, schemaHidAmicoOperatingMode, schemaHidAmicoReader, schemaHidAmicoReaderIdParams, schemaHidAmicoReaderListQuery, schemaHidAmicoReaderUserQuery, schemaHidAmicoSetConfiguration, schemaHidAmicoSiteIdParams, schemaHidAmicoSync, schemaHidAmicoUserCardIdParams, schemaHidAmicoUserCardParams, schemaHidAmicoUserImageParams, schemaHidAmicoUserImageUploadQuery, schemaHidAmicoUserPin, schemaHidAmicoUserPinParams, schemaHidAmicoVisitorImageParams, schemaHidAmicoVisitorImageUploadQuery, schemaHidAmicoVisitorQr, schemaHidPermissionCandidateQuery, schemaHidPermissionScopeQuery, schemaHidSipAccountRequest, schemaIncidentReport, schemaListNotification, schemaMultipleDocumentManagement, schemaNfcPatrolLog, schemaNfcPatrolRoute, schemaNfcPatrolTag, schemaNfcPatrolTagUpdateData, schemaNotification, schemaNotificationPreference, schemaNotificationPreferenceOff, schemaOccurrenceBook, schemaOccurrenceEntry, schemaOccurrenceSubject, schemaOnlineForm, schemaOvernightParkingApprovalHours, schemaOvernightParkingRequest, schemaPatrolEmail, schemaPatrolEmailCreatedBy, schemaPatrolEmailLogRef, schemaPatrolEmailQuery, schemaPatrolLog, schemaPatrolQuestion, schemaPatrolRoute, schemaPerson, schemaPersonalEmergencyContact, schemaPlate, schemaPlatformTerms, schemaPost, schemaPostFavorite, schemaResendPatrolEmail, schemaResidentSelfSignUp, schemaSelfServiceVisitor, schemaSendPatrolEmail, schemaServiceProvider, schemaServiceProviderBilling, schemaSignNfcPatrolLog, schemaSiteCamera, schemaSiteFacility, schemaSiteFacilityBooking, schemaStatementOfAccount, schemaSubcategoryPreloved, schemaUnitBilling, schemaUpdateBidPreloved, schemaUpdateBuildingLevel, schemaUpdateBulletinBoard, schemaUpdateBulletinVideo, schemaUpdateCategoryPreloved, schemaUpdateChatPreloved, schemaUpdateDocumentManagement, schemaUpdateEntryPassSettings, schemaUpdateEventManagement, schemaUpdateFolderManagement, schemaUpdateFormEntry, schemaUpdateGuestManagement, schemaUpdateHidAmicoIdentity, schemaUpdateHidAmicoReader, schemaUpdateHidSitePermissions, schemaUpdateIncidentReport, schemaUpdateNotification, schemaUpdateNotificationPreference, schemaUpdateOccurrenceBook, schemaUpdateOccurrenceEntry, schemaUpdateOccurrenceSubject, schemaUpdateOnlineForm, schemaUpdateOptions, schemaUpdateOvernightParkingRequest, schemaUpdatePatrolLog, schemaUpdatePatrolQuestion, schemaUpdatePatrolRoute, schemaUpdatePerson, schemaUpdatePersonalEmergencyChain, schemaUpdatePost, schemaUpdatePostFavorite, schemaUpdateServiceProviderBilling, schemaUpdateSiteBillingConfiguration, schemaUpdateSiteBillingItem, schemaUpdateSiteCamera, schemaUpdateSiteFacility, schemaUpdateSiteFacilityBooking, schemaUpdateSiteUnitBilling, schemaUpdateStatementOfAccount, schemaUpdateSubcategoryPreloved, schemaUpdateVisTrans, schemaVehicleTransaction, schemaVisitorTransaction, schemeCamera, schemeLogCamera, selectHealthTargets, selfServiceEmailSubject, serviceProviderInviteLabel, sessionSchema, setIO, shiftSchema, siteDayBounds, siteModulesHandlers, siteSchema, site_people_namespace_collection, snapshotEndpoint, snapshotRefusalReason, staffMayBypass, stringifyHidJson, stripFacialImageMetadata, subscriptionPlanSchema, summariseBulkCameraPlan, updateRemarksStatusEod, updateRemarksisAcknowledged, updateSiteSchema, useAccessManagementController, useAddressRepo, useAttendanceController, useAttendanceRepository, useAttendanceSettingsController, useAttendanceSettingsRepository, useAttendanceSettingsService, useAuthController, useAuthControllerV2, useAuthService, useAuthServiceV2, useBidPrelovedController, useBidPrelovedRepo, useBidPrelovedService, useBuildingController, useBuildingLevelController, useBuildingLevelRepo, useBuildingLevelService, useBuildingRepo, useBuildingService, useBuildingUnitController, useBuildingUnitRepo, useBuildingUnitService, useBulletinBoardController, useBulletinBoardRepo, useBulletinBoardService, useBulletinVideoController, useBulletinVideoRepo, useBulletinVideoService, useCameraViewController, useCameraViewService, useCategoryPrelovedController, useCategoryPrelovedRepo, useChannelPrelovedController, useChannelPrelovedRepo, useChatController, useChatPrelovedController, useChatPrelovedRepo, useChatPrelovedService, useChatRepo, useConsoleAuditController, useConsoleAuditRepo, useCounterModel, useCounterRepo, useCustomerController, useCustomerRepo, useCustomerSiteController, useCustomerSiteRepo, useCustomerSiteService, useDahuaService, useDashboardController, useDashboardRepo, useDocumentManagementController, useDocumentManagementRepo, useDocumentManagementService, useEntryPassSettingsController, useEntryPassSettingsRepo, useEventManagementController, useEventManagementRepo, useEventManagementService, useFeedbackController, useFeedbackRepo, useFeedbackService, useFileController, useFileRepo, useFileService, useFormEntryController, useFormEntryRepo, useGuestManagementController, useGuestManagementRepo, useGuestManagementService, useHidAmicoController, useHidAmicoRepo, useHidAmicoService, useHrmLabsAttendanceCtrl, useHrmLabsAttendanceSrvc, useIncidentReportController, useIncidentReportRepo, useIncidentReportService, useInvoiceController, useInvoiceModel, useInvoiceRepo, useManpowerDesignationCtrl, useManpowerDesignationRepo, useManpowerMonitoringCtrl, useManpowerMonitoringRepo, useManpowerMonitoringSrvc, useManpowerRemarkCtrl, useManpowerRemarksRepo, useManpowerSitesCtrl, useManpowerSitesRepo, useManpowerSitesSrvc, useMemberController, useMemberRepo, useMemberService, useNewDashboardController, useNewDashboardRepo, useNfcPatrolLogController, useNfcPatrolLogRepo, useNfcPatrolLogService, useNfcPatrolRouteController, useNfcPatrolRouteRepo, useNfcPatrolRouteService, useNfcPatrolSettingsController, useNfcPatrolSettingsRepository, useNfcPatrolSettingsService, useNfcPatrolTagController, useNfcPatrolTagRepo, useNfcPatrolTagService, useNotificationController, useNotificationPreferenceController, useNotificationPreferenceRepo, useNotificationPreferenceService, useNotificationRepo, useOccurrenceBookController, useOccurrenceBookRepo, useOccurrenceBookService, useOccurrenceEntryController, useOccurrenceEntryRepo, useOccurrenceEntryService, useOccurrenceSubjectController, useOccurrenceSubjectRepo, useOccurrenceSubjectService, useOnlineFormController, useOnlineFormRepo, useOrgController, useOrgControllerV2, useOrgOwnerRepairRepo, useOrgRepo, useOvernightParkingController, useOvernightParkingRepo, useOvernightParkingRequestController, useOvernightParkingRequestRepo, useOvernightParkingRequestService, usePatrolEmailController, usePatrolEmailRepo, usePatrolEmailService, usePatrolLogController, usePatrolLogRepo, usePatrolLogService, usePatrolQuestionController, usePatrolQuestionRepo, usePatrolRouteController, usePatrolRouteRepo, usePersonController, usePersonRepo, usePersonalEmergencyChainController, usePersonalEmergencyChainRepo, usePersonalEmergencyChainService, usePlatformTermsController, usePlatformTermsRepo, usePlatformTermsService, usePostFavoriteController, usePostFavoriteRepo, usePostFavoriteService, usePostPrelovedController, usePostPrelovedRepo, usePriceController, usePriceModel, usePriceRepo, usePromoCodeController, usePromoCodeRepo, useRedDotPaymentController, useRedDotPaymentRepo, useRedDotPaymentSvc, useRobotController, useRobotRepo, useRobotService, useRoleController, useRoleControllerV2, useRoleRepo, useRoleRepoV2, useRoleServiceV2, useServiceProviderBillingController, useServiceProviderBillingRepo, useServiceProviderBillingService, useServiceProviderController, useServiceProviderInviteController, useServiceProviderInviteService, useServiceProviderRepo, useSessionRepo, useSiteBillingConfigurationController, useSiteBillingConfigurationRepo, useSiteBillingItemController, useSiteBillingItemRepo, useSiteCameraController, useSiteCameraRepo, useSiteCameraService, useSiteController, useSiteFacilityBookingController, useSiteFacilityBookingRepo, useSiteFacilityBookingService, useSiteFacilityController, useSiteFacilityRepo, useSiteFacilityService, useSiteRepo, useSiteService, useSiteUnitBillingController, useSiteUnitBillingRepo, useSiteUnitBillingService, useStatementOfAccountController, useStatementOfAccountRepo, useSubcategoryPrelovedController, useSubcategoryPrelovedRepo, useSubscriptionController, useSubscriptionPlanController, useSubscriptionPlanRepo, useSubscriptionRepo, useSubscriptionService, useUserController, useUserControllerV2, useUserRepo, useUserRepoV2, useUserService, useUserServiceV2, useVehicleController, useVehicleRepo, useVehicleService, useVerificationController, useVerificationControllerV2, useVerificationRepo, useVerificationRepoV2, useVerificationService, useVerificationServiceV2, useVisitorTransactionController, useVisitorTransactionRepo, useVisitorTransactionService, useWorkOrderController, useWorkOrderRepo, useWorkOrderService, userSchema, vehicleSchema, vehicles_namespace_collection, visitorPersonRepo, visitorPersonService, visitorType, visitors_namespace_collection, wallConfig, workOrderSchema, work_orders2_namespace_collection, work_orders_namespace_collection };
|