@7365admin1/layer-common 4.148.1 → 4.148.2

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 CHANGED
@@ -1,5 +1,11 @@
1
1
  # @iservice365/layer-common
2
2
 
3
+ ## 4.148.2
4
+
5
+ ### Patch Changes
6
+
7
+ - 8e600b9: Visitors: Add works again for property management users (site, service provider), and checks the visitor in. The form no longer sends `clientUserType`, which core does not take and refused ("clientUserType" is not allowed), so nothing was saved. Adding a visitor is their check-in whoever adds them: `checkIn` is the time of the add for every user, no longer null for back-office users.
8
+
3
9
  ## 4.148.1
4
10
 
5
11
  ### Patch Changes
@@ -3524,11 +3530,11 @@ Monthly report: a month that had patrols opens the list of that month's patrol r
3524
3530
  `utils/console-tier.ts` + `composables/useConsoleTier.ts` mirror the server's
3525
3531
  own rule from two endpoints the console already calls, unprojected:
3526
3532
 
3527
- GET /api/members/user/:user/app/admin the Seven365 staff membership
3528
- GET /api/roles/id/:role that membership's role document
3533
+ GET /api/members/user/:user/app/admin the Seven365 staff membership
3534
+ GET /api/roles/id/:role that membership's role document
3529
3535
 
3530
- owner = member.type === "admin" && role.type === "admin" && role.default === true
3531
- staff = member.type === "admin" && role.type === "admin"
3536
+ owner = member.type === "admin" && role.type === "admin" && role.default === true
3537
+ staff = member.type === "admin" && role.type === "admin"
3532
3538
 
3533
3539
  `role.default` is the marker because it is the only property of a platform
3534
3540
  staff role no API caller can set - `role.controller.ts` validates create and
@@ -2822,9 +2822,6 @@ const CLEARABLE_ON_UPDATE = [
2822
2822
  "attachments",
2823
2823
  ];
2824
2824
  const OBJECT_ID = /^[a-f0-9]{24}$/i;
2825
- // Users who record a visit they are not witnessing: their visit opens with no
2826
- // check-in / check-out (isecure365 `backOffice`).
2827
- const BACK_OFFICE_USER_TYPES = /^(service-provider|service-provider-member|site)$/i;
2828
2825
 
2829
2826
  // The site's delivery company list (and the typed name snapped to the
2830
2827
  // listed spelling, "grabfood" -> "GrabFood").
@@ -3010,16 +3007,10 @@ function buildPayload(isUpdate: boolean): Record<string, unknown> {
3010
3007
 
3011
3008
  payload.org = prop.org;
3012
3009
  if (userId) payload.createdBy = userId;
3013
- // Registering a visitor at the guardhouse IS their arrival: checked in as it
3014
- // is created. A back-office user's visit opens with no times at all.
3015
- const userType = currentUser.value?.type ?? "";
3016
- if (BACK_OFFICE_USER_TYPES.test(userType)) {
3017
- payload.clientUserType = userType;
3018
- payload.checkIn = null;
3019
- payload.checkOut = null;
3020
- } else {
3021
- payload.checkIn = new Date().toISOString();
3022
- }
3010
+ // Adding a visitor IS their check-in, whoever adds them - a guard or a
3011
+ // property management user (owner, 2026-10-26). No user type is sent: core
3012
+ // does not take one and refuses it ("clientUserType" is not allowed).
3013
+ payload.checkIn = new Date().toISOString();
3023
3014
  return payload;
3024
3015
  }
3025
3016
 
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@7365admin1/layer-common",
3
3
  "license": "MIT",
4
4
  "type": "module",
5
- "version": "4.148.1",
5
+ "version": "4.148.2",
6
6
  "author": "7365admin1",
7
7
  "main": "./nuxt.config.ts",
8
8
  "//files": "What a consumer extending this layer actually loads. Without this npm ships the whole working tree - the changesets, the CI workflows, the render harness in tools/ and any scratch directory that happened to exist at publish time. Nuxt resolves a layer by directory, so every runtime directory below has to stay listed; adding a new top-level runtime directory means adding it here too.",