@7365admin1/core 3.32.2-staging.106 → 3.32.2-staging.108
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/.changeset/customer-site-property-details.md +42 -0
- package/dist/index.d.ts +53 -1
- package/dist/index.js +70 -7
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +66 -7
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -2
- package/test/customer-site-property-fields.test.mjs +104 -0
- package/test/session-id.util.test.mjs +92 -0
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
---
|
|
2
|
+
"@7365admin1/core": patch
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
Give the Add / Edit Site form's property details somewhere to land.
|
|
6
|
+
|
|
7
|
+
The Organization app's Add Site form collects eight fields beyond the name,
|
|
8
|
+
category and address: MCST plan no., UEN, date of constitution, financial year
|
|
9
|
+
end, billing quarter, share capital, temporary occupation permit and
|
|
10
|
+
certificate of statutory. **None of them has ever been stored.** On create
|
|
11
|
+
`schemaCustomerSite` rejects any key it does not list, so sending them returns
|
|
12
|
+
400 - which is why the form quietly leaves them out of the request. On update
|
|
13
|
+
`updateCusSiteById` builds a whitelist of `name`, `address` and `category` and
|
|
14
|
+
drops the rest. The Edit dialog reads them back from the customer-site
|
|
15
|
+
document, so they display as empty every time.
|
|
16
|
+
|
|
17
|
+
Eight optional string fields are added to `schemaCustomerSite`, to
|
|
18
|
+
`TCustomerSite`, to the `MCustomerSite` projection, and to the update
|
|
19
|
+
whitelist. One exported list (`customerSitePropertyFields`) drives both the
|
|
20
|
+
create projection and the update whitelist, so the two cannot drift apart.
|
|
21
|
+
|
|
22
|
+
**Additive and optional only.** No migration, no backfill, no index change,
|
|
23
|
+
nothing written to any existing record. A field the caller did not send stays
|
|
24
|
+
absent from the document rather than being written as an empty string, so a
|
|
25
|
+
customer-site written before this change is byte-identical afterwards and still
|
|
26
|
+
validates. An empty string IS kept, because clearing a field on the Edit form
|
|
27
|
+
has to clear it. Unknown keys are still rejected on create - this widens the
|
|
28
|
+
allow-list, it does not open it.
|
|
29
|
+
|
|
30
|
+
Blast radius, checked across every repository in the organisation rather than
|
|
31
|
+
assumed: `POST /api/customer-sites` has exactly **one** caller in the estate
|
|
32
|
+
(`iservice365-web-app-org` `components/SiteForm.vue`) and `PUT
|
|
33
|
+
/api/customer-sites/:id` has the same one. Every other consumer - all eleven
|
|
34
|
+
Nuxt apps via `layer-common`'s `useCustomerSite`, the resident app, the six
|
|
35
|
+
service-provider mobile apps, `iservice365-mobile-app-security` and
|
|
36
|
+
`isecure365-mobile-app` - only ever reads (`GET`), and reads name their fields
|
|
37
|
+
explicitly. `addViaInvite` sends none of the eight, so the invite-acceptance
|
|
38
|
+
path writes exactly the document it wrote before.
|
|
39
|
+
|
|
40
|
+
Covered by `test/customer-site-property-fields.test.mjs`, which asserts the
|
|
41
|
+
before-and-after shape both ways round: the details are accepted and survive
|
|
42
|
+
into the document, and a create without them still writes none of them.
|
package/dist/index.d.ts
CHANGED
|
@@ -3797,11 +3797,22 @@ type TCustomerSite = {
|
|
|
3797
3797
|
status?: string;
|
|
3798
3798
|
address?: SiteAddress;
|
|
3799
3799
|
category?: SiteCategories;
|
|
3800
|
+
mcstPlanNo?: string;
|
|
3801
|
+
uen?: string;
|
|
3802
|
+
dateOfConstitution?: string;
|
|
3803
|
+
financialYearEnd?: string;
|
|
3804
|
+
billingQuarter?: string;
|
|
3805
|
+
shareCapital?: string;
|
|
3806
|
+
temporaryOccupationPermit?: string;
|
|
3807
|
+
certificateOfStatutory?: string;
|
|
3800
3808
|
createdAt?: string | Date;
|
|
3801
3809
|
updatedAt?: string | Date;
|
|
3802
3810
|
deletedAt?: string | Date;
|
|
3803
3811
|
};
|
|
3804
3812
|
declare const schemaCustomerSite: Joi.ObjectSchema<any>;
|
|
3813
|
+
declare const customerSitePropertyFields: readonly ["mcstPlanNo", "uen", "dateOfConstitution", "financialYearEnd", "billingQuarter", "shareCapital", "temporaryOccupationPermit", "certificateOfStatutory"];
|
|
3814
|
+
type TCustomerSitePropertyField = (typeof customerSitePropertyFields)[number];
|
|
3815
|
+
declare function pickCustomerSiteProperties(value: Partial<TCustomerSite>): Partial<TCustomerSite>;
|
|
3805
3816
|
declare function MCustomerSite(value: TCustomerSite): {
|
|
3806
3817
|
_id: ObjectId | undefined;
|
|
3807
3818
|
name: string;
|
|
@@ -3815,6 +3826,14 @@ declare function MCustomerSite(value: TCustomerSite): {
|
|
|
3815
3826
|
createdAt: string | Date;
|
|
3816
3827
|
updatedAt: string | Date;
|
|
3817
3828
|
deletedAt: string | Date;
|
|
3829
|
+
mcstPlanNo?: string | undefined;
|
|
3830
|
+
uen?: string | undefined;
|
|
3831
|
+
dateOfConstitution?: string | undefined;
|
|
3832
|
+
financialYearEnd?: string | undefined;
|
|
3833
|
+
billingQuarter?: string | undefined;
|
|
3834
|
+
shareCapital?: string | undefined;
|
|
3835
|
+
temporaryOccupationPermit?: string | undefined;
|
|
3836
|
+
certificateOfStatutory?: string | undefined;
|
|
3818
3837
|
};
|
|
3819
3838
|
|
|
3820
3839
|
declare function useCustomerSiteRepo(): {
|
|
@@ -8155,6 +8174,39 @@ declare const createManpowerRemarksDaily: () => Promise<void>;
|
|
|
8155
8174
|
declare const updateRemarksisAcknowledged: () => Promise<void>;
|
|
8156
8175
|
declare const updateRemarksStatusEod: () => Promise<void>;
|
|
8157
8176
|
|
|
8177
|
+
/**
|
|
8178
|
+
* Resolve the session id (`sid`) that a request is presenting.
|
|
8179
|
+
*
|
|
8180
|
+
* This deliberately mirrors `requireAuth` in `@7365admin1/node-server-utils`:
|
|
8181
|
+
* the `sid` cookie first, then the `Authorization` header, tolerating an
|
|
8182
|
+
* optional `Bearer ` prefix. Keeping the two in step means logout always
|
|
8183
|
+
* destroys exactly the session that authenticates the caller, whichever shape
|
|
8184
|
+
* that client happens to send.
|
|
8185
|
+
*
|
|
8186
|
+
* The `:id` path parameter on `DELETE /api/auth/:id` is intentionally NOT used.
|
|
8187
|
+
* Callers disagree about what they put there — the web apps send the sid, the
|
|
8188
|
+
* Expo apps send the user id, the MA app sends the literal string `me` — so it
|
|
8189
|
+
* is not a usable identifier, and honouring it would let a caller name a
|
|
8190
|
+
* session other than the one they hold. The header/cookie is authoritative.
|
|
8191
|
+
*/
|
|
8192
|
+
declare function getSessionIdFromRequest(req: Request): string;
|
|
8193
|
+
/**
|
|
8194
|
+
* Decide whether a logout request is entitled to revoke the refresh-token
|
|
8195
|
+
* family that the supplied token belongs to.
|
|
8196
|
+
*
|
|
8197
|
+
* A refresh token is itself a bearer credential for its own family, so holding
|
|
8198
|
+
* it is enough to tear that family down — that is ordinary self-service, and
|
|
8199
|
+
* anyone who has the token can already use it, which is strictly worse than
|
|
8200
|
+
* revoking it. What must not be allowed is presenting *someone else's* token
|
|
8201
|
+
* alongside your own session: if the caller has a live session, the token has
|
|
8202
|
+
* to belong to the same user.
|
|
8203
|
+
*
|
|
8204
|
+
* `session` is the cached user document stored under `sid:<sid>`. When it is
|
|
8205
|
+
* absent (an already-expired session logging out) the check is skipped, so this
|
|
8206
|
+
* never stops a legitimate user from revoking their own family.
|
|
8207
|
+
*/
|
|
8208
|
+
declare function canRevokeRefreshTokenFamily(session: any, tokenUserId?: unknown): boolean;
|
|
8209
|
+
|
|
8158
8210
|
declare function manpowerEvents(io: Server): Promise<void>;
|
|
8159
8211
|
|
|
8160
8212
|
declare function useRedDotPaymentController(): {
|
|
@@ -10737,4 +10789,4 @@ declare function useNotificationPreferenceController(): {
|
|
|
10737
10789
|
update: (req: Request, res: Response, next: NextFunction) => Promise<void>;
|
|
10738
10790
|
};
|
|
10739
10791
|
|
|
10740
|
-
export { ANPRMode, AccessTypeProps, AppServiceType, AssignCardConfig, BidStatus, BidType, BuildingLevelStatus, BuildingStatus, BulkCardUpdate, BulletinOrder, BulletinRecipient, BulletinSort, BulletinStatus, BulletinVideoOrder, BulletinVideoSort, CAMERA_ANPR_PERMISSIONS, CAMERA_CAPABILITIES, CAMERA_CAPABILITY_REASONS, 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, CLOCK_DRIFT_WARN_SECONDS, CURRENT_TIME_ENDPOINT, Camera, CameraAddressInput, CameraCapability, CameraCapabilityContext, CameraCapabilityDescriptor, CameraCapabilityEntry, CameraCapabilityReason, CameraCapabilityState, CameraCapabilityTrace, CameraDevice, CameraFrame, CameraMembership, CameraStream, CameraTestStatus, CameraTransport, CameraType, DEVICE_STATUS, DOBStatus, DUPLICATE_TERMS_VERSION_MESSAGE, DayOfWeek, DeviceHttpTarget, DeviceProbeResult, DynamicFormFields, EAccessCardTypes, EAccessCardUserTypes, EmailSender, EntryOrder, EntrySort, EventOrder, EventSort, EventStatus, EventType, FacilitySort, FacilityStatus, FormEntryStatus, GuestSort, GuestStatus, HID_CARD_VALUE_FACTOR, HID_PERMISSION_CATEGORIES, IAccessCard, IAccessCardTransaction, InviteActor, MAX_CAMERA_CHANNEL, MAccessCard, MAccessCardTransaction, MAddress, MAttendance, MAttendanceSettings, MBidPreloved, MBillingConfiguration, MBillingItem, MBuilding, MBuildingLevel, MBuildingUnit, MBulletinBoard, MBulletinVideo, MCategoryPreloved, MChannelPreloved, MChat, MChatPreloved, MCustomer, MCustomerSite, MDocumentManagement, MEntryPassSettings, MEventManagement, MFeedback, MFile, MFormEntry, MGuestManagement, MHidAmicoEvent, MHidAmicoIdentity, MHidAmicoReader, MHidSipAccount, MHidSitePermissions, MIncidentReport, MManpowerDesignations, MManpowerMonitoring, MManpowerRemarks, MManpowerSites, MMember, MNfcPatrolLog, MNfcPatrolRoute, MNfcPatrolSettings, MNfcPatrolSettingsUpdate, MNfcPatrolTag, MNotification, MNotificationPreference, MOccurrenceBook, MOccurrenceEntry, MOccurrenceSubject, MOnlineForm, MOrg, MOvernightParkingApprovalHours, MOvernightParkingRequest, MPatrolLog, MPatrolQuestion, MPatrolRoute, MPerson, 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, NotificationAppSlug, NotificationCategory, NotificationChannel, NotificationModule, NotificationPreferenceView, NotificationService, OrgNature, OvernightParkingRequestSort, OvernightParkingRequestStatus, PATROL_CCTV_CAMERA_FILTER, PERSON_TYPES, PROPERTY_MANAGEMENT_MEMBER_TYPES, PStatus, PTZ_ALLOWED_ACTIONS, PTZ_ALLOWED_CODES, Period, PersonStatus, PersonType, PersonTypes, PlatformTermsStatus, PostOrder, PostSort, PostStatus, QrTagProps, REALTIME_MAX_FANOUT, ResidentAppModuleKey, 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, 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, TCounter, TCreateNfcPatrolLog, TCustomer, TCustomerSite, 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, THidPhysicalCardInput, THidPhysicalCardType$1 as THidPhysicalCardType, THidSipAccount, THidSitePermissions, TIncidentInformation, TIncidentReport, TIncidentTypeAndTime, TInvoice, TKeyRef, TManpowerDesignations, TManpowerDesignationsUpdate, TManpowerMonitoring, TManpowerMonitoringUpdate, TManpowerRemarks, TManpowerRemarksStatusUpdate, TManpowerRemarksUpdate, TManpowerSearchFilter, TManpowerSites, TMember, TMemberUpdateStatus, TMessagePreloved, TMiniRole, TNfcPatrolLog, TNfcPatrolRoute, TNfcPatrolRouteEdit, TNfcPatrolSettings, TNfcPatrolSettingsGetBySite, TNfcPatrolSettingsUpdate, TNfcPatrolTag, TNfcPatrolTagConfigureReset, TNfcPatrolTagEdit, TNfcPatrolTagUpdateData, TNotification, TNotificationPreference, TNotificationPreferenceOff, TOccurrenceBook, TOccurrenceEntry, TOccurrenceSubject, TOnlineForm, TOrg, TOvernightParkingApprovalHours, TOvernightParkingRequest, TPatrolLog, TPatrolQuestion, TPatrolRoute, TPerson, TPlaceOfIncident, TPlates, TPlatformTerms, TPost, TPostFavorite, TPrice, TPriceType, TPromoCode, TPromoTier, TRANSPORT_DEVICE_HTTP, TRANSPORT_RELAY_PLAYER, TRANSPORT_RTSP_FRAME, TRecipientOfComplaint, TRemarks, TResident, TResidentAppModules, TRobot, TRobotMetadata, TRole, TRoleV2, TRoute, TSOABillingItem, TSOAStatus, TServiceProvider, TServiceProviderBilling, TSession, TSessionCreate, TShifts, TSignNfcPatrolLog, TSite, TSiteCamera, TSiteFacility, TSiteFacilityBooking, TSiteInfo, TSiteInformation, TSiteMetadata, TSiteUpdateBlock, TStatementOfAccount, TSubcategoryPreloved, TSubmissionForm, TSubscription, TSubscriptionPlan, TSubscriptionPlanApplication, TUnitBilling, TUnits, TUpdateFormEntry, TUpdateName, TUser, TUserCreate, TVehicle, TVehicleTransaction, TVehicleUpdate, TVerification, TVerificationEvent, TVerificationMetadata, TVerificationMetadataV2, TVerificationV2, TVisitorTransaction, TWorkOrder, TWorkOrderMetadata, TWorkOrderUpdate, TWorkOrderUpdateStatus, TWorkOrderUpdateToCompleted, TanyoneDamageToProperty, UseAccessManagementRepo, UserStatus, VERIFICATION_OPEN_STATUSES, VehicleCategory, VehicleOrder, VehicleSort, VehicleStatus, VehicleType, VerificationLinkType, VerificationStatus, VerificationSubjectType, VerificationType, VisitorSort, VisitorStatus, addressSchema, allowedFieldsSite, allowedNatures, allowedPlanApplications, attendanceSchema, attendanceSettingsSchema, building_level_namespace_collection, building_units_namespace_collection, buildings_namespace_collection, bulletin_boards_namespace_collection, cameraBaseUrl, cameraCapabilitiesFor, cameraDevices, cameraGrant, cameraHealthClaim, cameraHealthSummary, cameraManagePermissions, cameraProbeCacheKey, cameraTransports, categoriesForPermissions, categorySupportsChannel, chatPrelovedEvents, chatSchema, clampPtzSpeed, clockDriftSeconds, createManpowerRemarksDaily, customerSchema, decideServiceProviderInvite, decodeHidPacsCard, deriveCameraHost, describeCameraCapabilities, designationsSchema, deviceControlEnabled, deviceHttpEnabled, deviceHttpTargets, deviceHttpTimeoutMs, deviceProbeTtlSeconds, emitNotificationCreated, encodeHidPacsCard, events_namespace_collection, facility_bookings_namespace_collection, feedbackSchema, feedbacks2_namespace_collection, feedbacks_namespace_collection, ffmpegFrameArgs, ffmpegPath, formatCapabilityTrace, formatDahuaDate, getIO, grabWithSubStreamFallback, guests_namespace_collection, hasAnyCapability, hasAnyPermission, incidentReport, incidentReportLog, incidents_namespace_collection, isCameraEntitled, isDuplicateVersionError, isPatrolCctvCamera, isRelayPlayerUrl, isSuperAdmin, isTermsCurrent, logCamera, manpowerDesignationsSchema, manpowerEvents, manpowerMonitoringSchema, manpowerRemarksSchema, manpowerSitesSchema, mapWithLimit, nfcPatrolSettingsSchema, nfcPatrolSettingsSchemaUpdate, normalizeAcceptedTerms, normalizeHidCardValue, notificationCategory, notificationCategoryLabel, notificationEvents, notificationRoom, occurrence_book_namespace_collection, online_forms_namespace_collection, orgSchema, overnight_parking_requests_namespace_collection, parseCameraChannel, parseCameraHost, parseDahuaFind, parseDeviceTime, parseSoftwareVersion, platform_terms_namespace_collection, promoCodeSchema, ptzEndpoint, publicCameraFields, refuseServiceProviderInviteAction, registerCameraTransport, relayForRecorder, remarksSchema, resetCameraTransports, residentAppModuleKeys, residentFormEntry, resolutionRefusalReason, resolveCamera, resolveDeviceHttp, resolveHidPhysicalCardValue, resolveInviteActor, robotSchema, rtspUrl, schema, schemaAppSlugNotification, schemaApprovedBy, schemaApprover, schemaBidPreloved, schemaBilling, schemaBillingConfiguration, schemaBillingItem, schemaBuilding, schemaBuildingLevel, schemaBuildingUnit, schemaBuildingUpdateOptions, schemaBulletinBoard, schemaBulletinVideo, schemaCategoryPreloved, schemaChannelPreloved, schemaChatPreloved, schemaCreateHidAmicoIdentity, schemaCreateNfcPatrolLog, schemaCreateNotification, schemaCustomerSite, schemaDiscoverHidAmicoReader, schemaDocumentManagement, schemaEntryPassSettings, schemaEventManagement, schemaFiles, schemaFormEntry, schemaGuestManagement, schemaHidAmicoAssignUserCard, schemaHidAmicoConfiguration, schemaHidAmicoEnrollUserCard, schemaHidAmicoEvent, schemaHidAmicoExecuteActions, schemaHidAmicoIdentity, schemaHidAmicoIdentityIdParams, schemaHidAmicoIdentityQuery, schemaHidAmicoIntercomCall, schemaHidAmicoLogQuery, schemaHidAmicoNotificationParams, schemaHidAmicoObjectOperation, schemaHidAmicoReader, schemaHidAmicoReaderIdParams, schemaHidAmicoReaderListQuery, 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, schemaPatrolLog, schemaPatrolQuestion, schemaPatrolRoute, schemaPerson, schemaPlate, schemaPlatformTerms, schemaPost, schemaPostFavorite, 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, schemaUpdatePost, schemaUpdatePostFavorite, schemaUpdateServiceProviderBilling, schemaUpdateSiteBillingConfiguration, schemaUpdateSiteBillingItem, schemaUpdateSiteCamera, schemaUpdateSiteFacility, schemaUpdateSiteFacilityBooking, schemaUpdateSiteUnitBilling, schemaUpdateStatementOfAccount, schemaUpdateSubcategoryPreloved, schemaUpdateVisTrans, schemaVehicleTransaction, schemaVisitorTransaction, schemeCamera, schemeLogCamera, serviceProviderInviteLabel, sessionSchema, setIO, shiftSchema, siteSchema, site_people_namespace_collection, snapshotEndpoint, snapshotRefusalReason, subscriptionPlanSchema, 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, 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, usePatrolLogController, usePatrolLogRepo, usePatrolLogService, usePatrolQuestionController, usePatrolQuestionRepo, usePatrolRouteController, usePatrolRouteRepo, usePersonController, usePersonRepo, 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 };
|
|
10792
|
+
export { ANPRMode, AccessTypeProps, AppServiceType, AssignCardConfig, BidStatus, BidType, BuildingLevelStatus, BuildingStatus, BulkCardUpdate, BulletinOrder, BulletinRecipient, BulletinSort, BulletinStatus, BulletinVideoOrder, BulletinVideoSort, CAMERA_ANPR_PERMISSIONS, CAMERA_CAPABILITIES, CAMERA_CAPABILITY_REASONS, 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, CLOCK_DRIFT_WARN_SECONDS, CURRENT_TIME_ENDPOINT, Camera, CameraAddressInput, CameraCapability, CameraCapabilityContext, CameraCapabilityDescriptor, CameraCapabilityEntry, CameraCapabilityReason, CameraCapabilityState, CameraCapabilityTrace, CameraDevice, CameraFrame, CameraMembership, CameraStream, CameraTestStatus, CameraTransport, CameraType, DEVICE_STATUS, DOBStatus, DUPLICATE_TERMS_VERSION_MESSAGE, DayOfWeek, DeviceHttpTarget, DeviceProbeResult, DynamicFormFields, EAccessCardTypes, EAccessCardUserTypes, EmailSender, EntryOrder, EntrySort, EventOrder, EventSort, EventStatus, EventType, FacilitySort, FacilityStatus, FormEntryStatus, GuestSort, GuestStatus, HID_CARD_VALUE_FACTOR, HID_PERMISSION_CATEGORIES, IAccessCard, IAccessCardTransaction, InviteActor, MAX_CAMERA_CHANNEL, MAccessCard, MAccessCardTransaction, MAddress, MAttendance, MAttendanceSettings, MBidPreloved, MBillingConfiguration, MBillingItem, MBuilding, MBuildingLevel, MBuildingUnit, MBulletinBoard, MBulletinVideo, MCategoryPreloved, MChannelPreloved, MChat, MChatPreloved, MCustomer, MCustomerSite, MDocumentManagement, MEntryPassSettings, MEventManagement, MFeedback, MFile, MFormEntry, MGuestManagement, MHidAmicoEvent, MHidAmicoIdentity, MHidAmicoReader, MHidSipAccount, MHidSitePermissions, MIncidentReport, MManpowerDesignations, MManpowerMonitoring, MManpowerRemarks, MManpowerSites, MMember, MNfcPatrolLog, MNfcPatrolRoute, MNfcPatrolSettings, MNfcPatrolSettingsUpdate, MNfcPatrolTag, MNotification, MNotificationPreference, MOccurrenceBook, MOccurrenceEntry, MOccurrenceSubject, MOnlineForm, MOrg, MOvernightParkingApprovalHours, MOvernightParkingRequest, MPatrolLog, MPatrolQuestion, MPatrolRoute, MPerson, 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, NotificationAppSlug, NotificationCategory, NotificationChannel, NotificationModule, NotificationPreferenceView, NotificationService, OrgNature, OvernightParkingRequestSort, OvernightParkingRequestStatus, PATROL_CCTV_CAMERA_FILTER, PERSON_TYPES, PROPERTY_MANAGEMENT_MEMBER_TYPES, PStatus, PTZ_ALLOWED_ACTIONS, PTZ_ALLOWED_CODES, Period, PersonStatus, PersonType, PersonTypes, PlatformTermsStatus, PostOrder, PostSort, PostStatus, QrTagProps, REALTIME_MAX_FANOUT, ResidentAppModuleKey, 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, 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, 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, THidPhysicalCardInput, THidPhysicalCardType$1 as THidPhysicalCardType, THidSipAccount, THidSitePermissions, TIncidentInformation, TIncidentReport, TIncidentTypeAndTime, TInvoice, TKeyRef, TManpowerDesignations, TManpowerDesignationsUpdate, TManpowerMonitoring, TManpowerMonitoringUpdate, TManpowerRemarks, TManpowerRemarksStatusUpdate, TManpowerRemarksUpdate, TManpowerSearchFilter, TManpowerSites, TMember, TMemberUpdateStatus, TMessagePreloved, TMiniRole, TNfcPatrolLog, TNfcPatrolRoute, TNfcPatrolRouteEdit, TNfcPatrolSettings, TNfcPatrolSettingsGetBySite, TNfcPatrolSettingsUpdate, TNfcPatrolTag, TNfcPatrolTagConfigureReset, TNfcPatrolTagEdit, TNfcPatrolTagUpdateData, TNotification, TNotificationPreference, TNotificationPreferenceOff, TOccurrenceBook, TOccurrenceEntry, TOccurrenceSubject, TOnlineForm, TOrg, TOvernightParkingApprovalHours, TOvernightParkingRequest, TPatrolLog, TPatrolQuestion, TPatrolRoute, TPerson, TPlaceOfIncident, TPlates, TPlatformTerms, TPost, TPostFavorite, TPrice, TPriceType, TPromoCode, TPromoTier, TRANSPORT_DEVICE_HTTP, TRANSPORT_RELAY_PLAYER, TRANSPORT_RTSP_FRAME, TRecipientOfComplaint, TRemarks, TResident, TResidentAppModules, TRobot, TRobotMetadata, TRole, TRoleV2, TRoute, TSOABillingItem, TSOAStatus, TServiceProvider, TServiceProviderBilling, TSession, TSessionCreate, TShifts, TSignNfcPatrolLog, TSite, TSiteCamera, TSiteFacility, TSiteFacilityBooking, TSiteInfo, TSiteInformation, TSiteMetadata, TSiteUpdateBlock, TStatementOfAccount, TSubcategoryPreloved, TSubmissionForm, TSubscription, TSubscriptionPlan, TSubscriptionPlanApplication, TUnitBilling, TUnits, TUpdateFormEntry, TUpdateName, TUser, TUserCreate, TVehicle, TVehicleTransaction, TVehicleUpdate, TVerification, TVerificationEvent, TVerificationMetadata, TVerificationMetadataV2, TVerificationV2, TVisitorTransaction, TWorkOrder, TWorkOrderMetadata, TWorkOrderUpdate, TWorkOrderUpdateStatus, TWorkOrderUpdateToCompleted, TanyoneDamageToProperty, UseAccessManagementRepo, UserStatus, VERIFICATION_OPEN_STATUSES, VehicleCategory, VehicleOrder, VehicleSort, VehicleStatus, VehicleType, VerificationLinkType, VerificationStatus, VerificationSubjectType, VerificationType, VisitorSort, VisitorStatus, addressSchema, allowedFieldsSite, allowedNatures, allowedPlanApplications, attendanceSchema, attendanceSettingsSchema, building_level_namespace_collection, building_units_namespace_collection, buildings_namespace_collection, bulletin_boards_namespace_collection, cameraBaseUrl, cameraCapabilitiesFor, cameraDevices, cameraGrant, cameraHealthClaim, cameraHealthSummary, cameraManagePermissions, cameraProbeCacheKey, cameraTransports, canRevokeRefreshTokenFamily, categoriesForPermissions, categorySupportsChannel, chatPrelovedEvents, chatSchema, clampPtzSpeed, clockDriftSeconds, createManpowerRemarksDaily, customerSchema, customerSitePropertyFields, decideServiceProviderInvite, decodeHidPacsCard, deriveCameraHost, describeCameraCapabilities, designationsSchema, deviceControlEnabled, deviceHttpEnabled, deviceHttpTargets, deviceHttpTimeoutMs, deviceProbeTtlSeconds, emitNotificationCreated, encodeHidPacsCard, events_namespace_collection, facility_bookings_namespace_collection, feedbackSchema, feedbacks2_namespace_collection, feedbacks_namespace_collection, ffmpegFrameArgs, ffmpegPath, formatCapabilityTrace, formatDahuaDate, getIO, getSessionIdFromRequest, grabWithSubStreamFallback, guests_namespace_collection, hasAnyCapability, hasAnyPermission, incidentReport, incidentReportLog, incidents_namespace_collection, isCameraEntitled, isDuplicateVersionError, isPatrolCctvCamera, isRelayPlayerUrl, isSuperAdmin, isTermsCurrent, logCamera, manpowerDesignationsSchema, manpowerEvents, manpowerMonitoringSchema, manpowerRemarksSchema, manpowerSitesSchema, mapWithLimit, nfcPatrolSettingsSchema, nfcPatrolSettingsSchemaUpdate, normalizeAcceptedTerms, normalizeHidCardValue, notificationCategory, notificationCategoryLabel, notificationEvents, notificationRoom, occurrence_book_namespace_collection, online_forms_namespace_collection, orgSchema, overnight_parking_requests_namespace_collection, parseCameraChannel, parseCameraHost, parseDahuaFind, parseDeviceTime, parseSoftwareVersion, pickCustomerSiteProperties, platform_terms_namespace_collection, promoCodeSchema, ptzEndpoint, publicCameraFields, refuseServiceProviderInviteAction, registerCameraTransport, relayForRecorder, remarksSchema, resetCameraTransports, residentAppModuleKeys, residentFormEntry, resolutionRefusalReason, resolveCamera, resolveDeviceHttp, resolveHidPhysicalCardValue, resolveInviteActor, robotSchema, rtspUrl, schema, schemaAppSlugNotification, schemaApprovedBy, schemaApprover, schemaBidPreloved, schemaBilling, schemaBillingConfiguration, schemaBillingItem, schemaBuilding, schemaBuildingLevel, schemaBuildingUnit, schemaBuildingUpdateOptions, schemaBulletinBoard, schemaBulletinVideo, schemaCategoryPreloved, schemaChannelPreloved, schemaChatPreloved, schemaCreateHidAmicoIdentity, schemaCreateNfcPatrolLog, schemaCreateNotification, schemaCustomerSite, schemaDiscoverHidAmicoReader, schemaDocumentManagement, schemaEntryPassSettings, schemaEventManagement, schemaFiles, schemaFormEntry, schemaGuestManagement, schemaHidAmicoAssignUserCard, schemaHidAmicoConfiguration, schemaHidAmicoEnrollUserCard, schemaHidAmicoEvent, schemaHidAmicoExecuteActions, schemaHidAmicoIdentity, schemaHidAmicoIdentityIdParams, schemaHidAmicoIdentityQuery, schemaHidAmicoIntercomCall, schemaHidAmicoLogQuery, schemaHidAmicoNotificationParams, schemaHidAmicoObjectOperation, schemaHidAmicoReader, schemaHidAmicoReaderIdParams, schemaHidAmicoReaderListQuery, 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, schemaPatrolLog, schemaPatrolQuestion, schemaPatrolRoute, schemaPerson, schemaPlate, schemaPlatformTerms, schemaPost, schemaPostFavorite, 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, schemaUpdatePost, schemaUpdatePostFavorite, schemaUpdateServiceProviderBilling, schemaUpdateSiteBillingConfiguration, schemaUpdateSiteBillingItem, schemaUpdateSiteCamera, schemaUpdateSiteFacility, schemaUpdateSiteFacilityBooking, schemaUpdateSiteUnitBilling, schemaUpdateStatementOfAccount, schemaUpdateSubcategoryPreloved, schemaUpdateVisTrans, schemaVehicleTransaction, schemaVisitorTransaction, schemeCamera, schemeLogCamera, serviceProviderInviteLabel, sessionSchema, setIO, shiftSchema, siteSchema, site_people_namespace_collection, snapshotEndpoint, snapshotRefusalReason, subscriptionPlanSchema, 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, 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, usePatrolLogController, usePatrolLogRepo, usePatrolLogService, usePatrolQuestionController, usePatrolQuestionRepo, usePatrolRouteController, usePatrolRouteRepo, usePersonController, usePersonRepo, 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 };
|
package/dist/index.js
CHANGED
|
@@ -6099,6 +6099,7 @@ __export(src_exports, {
|
|
|
6099
6099
|
cameraManagePermissions: () => cameraManagePermissions,
|
|
6100
6100
|
cameraProbeCacheKey: () => cameraProbeCacheKey,
|
|
6101
6101
|
cameraTransports: () => cameraTransports,
|
|
6102
|
+
canRevokeRefreshTokenFamily: () => canRevokeRefreshTokenFamily,
|
|
6102
6103
|
categoriesForPermissions: () => categoriesForPermissions,
|
|
6103
6104
|
categorySupportsChannel: () => categorySupportsChannel,
|
|
6104
6105
|
chatPrelovedEvents: () => chatPrelovedEvents,
|
|
@@ -6107,6 +6108,7 @@ __export(src_exports, {
|
|
|
6107
6108
|
clockDriftSeconds: () => clockDriftSeconds,
|
|
6108
6109
|
createManpowerRemarksDaily: () => createManpowerRemarksDaily,
|
|
6109
6110
|
customerSchema: () => customerSchema,
|
|
6111
|
+
customerSitePropertyFields: () => customerSitePropertyFields,
|
|
6110
6112
|
decideServiceProviderInvite: () => decideServiceProviderInvite,
|
|
6111
6113
|
decodeHidPacsCard: () => decodeHidPacsCard,
|
|
6112
6114
|
deriveCameraHost: () => deriveCameraHost,
|
|
@@ -6129,6 +6131,7 @@ __export(src_exports, {
|
|
|
6129
6131
|
formatCapabilityTrace: () => formatCapabilityTrace,
|
|
6130
6132
|
formatDahuaDate: () => formatDahuaDate,
|
|
6131
6133
|
getIO: () => getIO,
|
|
6134
|
+
getSessionIdFromRequest: () => getSessionIdFromRequest,
|
|
6132
6135
|
grabWithSubStreamFallback: () => grabWithSubStreamFallback,
|
|
6133
6136
|
guests_namespace_collection: () => guests_namespace_collection,
|
|
6134
6137
|
hasAnyCapability: () => hasAnyCapability,
|
|
@@ -6164,6 +6167,7 @@ __export(src_exports, {
|
|
|
6164
6167
|
parseDahuaFind: () => parseDahuaFind,
|
|
6165
6168
|
parseDeviceTime: () => parseDeviceTime,
|
|
6166
6169
|
parseSoftwareVersion: () => parseSoftwareVersion,
|
|
6170
|
+
pickCustomerSiteProperties: () => pickCustomerSiteProperties,
|
|
6167
6171
|
platform_terms_namespace_collection: () => platform_terms_namespace_collection,
|
|
6168
6172
|
promoCodeSchema: () => promoCodeSchema,
|
|
6169
6173
|
ptzEndpoint: () => ptzEndpoint,
|
|
@@ -10546,6 +10550,29 @@ function useMemberRepo() {
|
|
|
10546
10550
|
};
|
|
10547
10551
|
}
|
|
10548
10552
|
|
|
10553
|
+
// src/utils/session-id.util.ts
|
|
10554
|
+
function getSessionIdFromRequest(req) {
|
|
10555
|
+
const cookieSid = req.cookies?.sid;
|
|
10556
|
+
if (typeof cookieSid === "string" && cookieSid.trim()) {
|
|
10557
|
+
return cookieSid.trim();
|
|
10558
|
+
}
|
|
10559
|
+
const header = req.headers?.["authorization"];
|
|
10560
|
+
if (typeof header !== "string") {
|
|
10561
|
+
return "";
|
|
10562
|
+
}
|
|
10563
|
+
const value = header.trim();
|
|
10564
|
+
return value.toLowerCase().startsWith("bearer ") ? value.slice("bearer ".length).trim() : value;
|
|
10565
|
+
}
|
|
10566
|
+
function canRevokeRefreshTokenFamily(session, tokenUserId) {
|
|
10567
|
+
if (!session) {
|
|
10568
|
+
return true;
|
|
10569
|
+
}
|
|
10570
|
+
if (!tokenUserId) {
|
|
10571
|
+
return false;
|
|
10572
|
+
}
|
|
10573
|
+
return [session._id, session.user].filter(Boolean).map((value) => String(value)).includes(String(tokenUserId));
|
|
10574
|
+
}
|
|
10575
|
+
|
|
10549
10576
|
// src/services/auth.service.ts
|
|
10550
10577
|
var SESSION_TTL = 14400;
|
|
10551
10578
|
var REFRESH_TOKEN_TTL = 7 * 24 * 60 * 60;
|
|
@@ -10562,7 +10589,7 @@ function useAuthService() {
|
|
|
10562
10589
|
insertRotated: _insertRotated,
|
|
10563
10590
|
revokeFamily: _revokeFamily
|
|
10564
10591
|
} = useSessionRepo();
|
|
10565
|
-
const { setCache, delCache } = (0, import_node_server_utils13.useCache)("sessions");
|
|
10592
|
+
const { getCache, setCache, delCache } = (0, import_node_server_utils13.useCache)("sessions");
|
|
10566
10593
|
const { getByUserIdType } = useMemberRepo();
|
|
10567
10594
|
async function issueSession(userId) {
|
|
10568
10595
|
const sid = (0, import_uuid.v4)();
|
|
@@ -10673,10 +10700,11 @@ function useAuthService() {
|
|
|
10673
10700
|
}
|
|
10674
10701
|
async function logout(sid, refreshToken2) {
|
|
10675
10702
|
try {
|
|
10703
|
+
const session = await getCache(`sid:${sid}`);
|
|
10676
10704
|
await delCache(`sid:${sid}`);
|
|
10677
10705
|
if (refreshToken2) {
|
|
10678
10706
|
const found = await _findActiveByToken(refreshToken2);
|
|
10679
|
-
if (found) {
|
|
10707
|
+
if (found && canRevokeRefreshTokenFamily(session, found.user)) {
|
|
10680
10708
|
await _revokeFamily(found.familyId);
|
|
10681
10709
|
}
|
|
10682
10710
|
}
|
|
@@ -12971,10 +12999,36 @@ var schemaCustomerSite = import_joi11.default.object({
|
|
|
12971
12999
|
status: import_joi11.default.string().optional().allow("", null),
|
|
12972
13000
|
address: addressSchema.optional().allow("", null),
|
|
12973
13001
|
category: import_joi11.default.string().valid(...Object.values(SiteCategories)).optional().allow(null, ""),
|
|
13002
|
+
mcstPlanNo: import_joi11.default.string().optional().allow("", null),
|
|
13003
|
+
uen: import_joi11.default.string().optional().allow("", null),
|
|
13004
|
+
dateOfConstitution: import_joi11.default.string().optional().allow("", null),
|
|
13005
|
+
financialYearEnd: import_joi11.default.string().optional().allow("", null),
|
|
13006
|
+
billingQuarter: import_joi11.default.string().optional().allow("", null),
|
|
13007
|
+
shareCapital: import_joi11.default.string().optional().allow("", null),
|
|
13008
|
+
temporaryOccupationPermit: import_joi11.default.string().optional().allow("", null),
|
|
13009
|
+
certificateOfStatutory: import_joi11.default.string().optional().allow("", null),
|
|
12974
13010
|
createdAt: import_joi11.default.string().optional().allow("", null),
|
|
12975
13011
|
updatedAt: import_joi11.default.string().optional().allow("", null),
|
|
12976
13012
|
deletedAt: import_joi11.default.string().optional().allow("", null)
|
|
12977
13013
|
});
|
|
13014
|
+
var customerSitePropertyFields = [
|
|
13015
|
+
"mcstPlanNo",
|
|
13016
|
+
"uen",
|
|
13017
|
+
"dateOfConstitution",
|
|
13018
|
+
"financialYearEnd",
|
|
13019
|
+
"billingQuarter",
|
|
13020
|
+
"shareCapital",
|
|
13021
|
+
"temporaryOccupationPermit",
|
|
13022
|
+
"certificateOfStatutory"
|
|
13023
|
+
];
|
|
13024
|
+
function pickCustomerSiteProperties(value) {
|
|
13025
|
+
const picked = {};
|
|
13026
|
+
for (const key of customerSitePropertyFields) {
|
|
13027
|
+
if (value[key] !== void 0)
|
|
13028
|
+
picked[key] = value[key];
|
|
13029
|
+
}
|
|
13030
|
+
return picked;
|
|
13031
|
+
}
|
|
12978
13032
|
function MCustomerSite(value) {
|
|
12979
13033
|
const { error } = schemaCustomerSite.validate(value);
|
|
12980
13034
|
if (error) {
|
|
@@ -13009,6 +13063,7 @@ function MCustomerSite(value) {
|
|
|
13009
13063
|
}
|
|
13010
13064
|
}
|
|
13011
13065
|
return {
|
|
13066
|
+
...pickCustomerSiteProperties(value),
|
|
13012
13067
|
_id: value._id,
|
|
13013
13068
|
name: value.name,
|
|
13014
13069
|
site: value.site,
|
|
@@ -16544,7 +16599,7 @@ function useAuthController() {
|
|
|
16544
16599
|
}
|
|
16545
16600
|
}
|
|
16546
16601
|
async function logout(req, res, next) {
|
|
16547
|
-
const sid = req
|
|
16602
|
+
const sid = getSessionIdFromRequest(req);
|
|
16548
16603
|
if (!sid) {
|
|
16549
16604
|
next(new import_node_server_utils35.BadRequestError("Session ID is required"));
|
|
16550
16605
|
return;
|
|
@@ -38168,7 +38223,10 @@ function useCustomerSiteService() {
|
|
|
38168
38223
|
const safePayload = {
|
|
38169
38224
|
...payload.name !== void 0 && { name: payload.name },
|
|
38170
38225
|
...payload.address !== void 0 && { address: payload.address },
|
|
38171
|
-
...payload.category !== void 0 && { category: payload.category }
|
|
38226
|
+
...payload.category !== void 0 && { category: payload.category },
|
|
38227
|
+
// The property details the form has always collected. Still a
|
|
38228
|
+
// whitelist - anything not on the list is ignored exactly as before.
|
|
38229
|
+
...pickCustomerSiteProperties(payload)
|
|
38172
38230
|
};
|
|
38173
38231
|
const result = await updateCustomerSiteById(
|
|
38174
38232
|
customerSiteId,
|
|
@@ -76613,7 +76671,7 @@ function useAuthServiceV2() {
|
|
|
76613
76671
|
insertRotated: _insertRotated,
|
|
76614
76672
|
revokeFamily: _revokeFamily
|
|
76615
76673
|
} = useSessionRepo();
|
|
76616
|
-
const { setCache, delCache } = (0, import_node_server_utils249.useCache)("sessions");
|
|
76674
|
+
const { getCache, setCache, delCache } = (0, import_node_server_utils249.useCache)("sessions");
|
|
76617
76675
|
const { getByUserIdType } = useMemberRepo();
|
|
76618
76676
|
function issueSession(user) {
|
|
76619
76677
|
const sid = (0, import_uuid2.v4)();
|
|
@@ -76724,10 +76782,11 @@ function useAuthServiceV2() {
|
|
|
76724
76782
|
}
|
|
76725
76783
|
async function logout(sid, refreshToken2) {
|
|
76726
76784
|
try {
|
|
76785
|
+
const session = await getCache(`sid:${sid}`);
|
|
76727
76786
|
await delCache(`sid:${sid}`);
|
|
76728
76787
|
if (refreshToken2) {
|
|
76729
76788
|
const found = await _findActiveByToken(refreshToken2);
|
|
76730
|
-
if (found) {
|
|
76789
|
+
if (found && canRevokeRefreshTokenFamily(session, found.user)) {
|
|
76731
76790
|
await _revokeFamily(found.familyId);
|
|
76732
76791
|
}
|
|
76733
76792
|
}
|
|
@@ -77057,7 +77116,7 @@ function useAuthControllerV2() {
|
|
|
77057
77116
|
}
|
|
77058
77117
|
}
|
|
77059
77118
|
async function logout(req, res, next) {
|
|
77060
|
-
const sid = req
|
|
77119
|
+
const sid = getSessionIdFromRequest(req);
|
|
77061
77120
|
if (!sid) {
|
|
77062
77121
|
next(new import_node_server_utils251.BadRequestError("Session ID is required"));
|
|
77063
77122
|
return;
|
|
@@ -82448,6 +82507,7 @@ function useNotificationPreferenceController() {
|
|
|
82448
82507
|
cameraManagePermissions,
|
|
82449
82508
|
cameraProbeCacheKey,
|
|
82450
82509
|
cameraTransports,
|
|
82510
|
+
canRevokeRefreshTokenFamily,
|
|
82451
82511
|
categoriesForPermissions,
|
|
82452
82512
|
categorySupportsChannel,
|
|
82453
82513
|
chatPrelovedEvents,
|
|
@@ -82456,6 +82516,7 @@ function useNotificationPreferenceController() {
|
|
|
82456
82516
|
clockDriftSeconds,
|
|
82457
82517
|
createManpowerRemarksDaily,
|
|
82458
82518
|
customerSchema,
|
|
82519
|
+
customerSitePropertyFields,
|
|
82459
82520
|
decideServiceProviderInvite,
|
|
82460
82521
|
decodeHidPacsCard,
|
|
82461
82522
|
deriveCameraHost,
|
|
@@ -82478,6 +82539,7 @@ function useNotificationPreferenceController() {
|
|
|
82478
82539
|
formatCapabilityTrace,
|
|
82479
82540
|
formatDahuaDate,
|
|
82480
82541
|
getIO,
|
|
82542
|
+
getSessionIdFromRequest,
|
|
82481
82543
|
grabWithSubStreamFallback,
|
|
82482
82544
|
guests_namespace_collection,
|
|
82483
82545
|
hasAnyCapability,
|
|
@@ -82513,6 +82575,7 @@ function useNotificationPreferenceController() {
|
|
|
82513
82575
|
parseDahuaFind,
|
|
82514
82576
|
parseDeviceTime,
|
|
82515
82577
|
parseSoftwareVersion,
|
|
82578
|
+
pickCustomerSiteProperties,
|
|
82516
82579
|
platform_terms_namespace_collection,
|
|
82517
82580
|
promoCodeSchema,
|
|
82518
82581
|
ptzEndpoint,
|