@7365admin1/layer-common 4.1.3-staging.256 → 4.2.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 +57 -4
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,58 @@
|
|
|
1
1
|
# @iservice365/layer-common
|
|
2
2
|
|
|
3
|
+
## 4.2.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 8fa8aff: Add a bulk camera import, and make the camera settings list reach past ten.
|
|
8
|
+
|
|
9
|
+
`CameraBulkImportDialog` takes the technician camera survey sheet as a CSV,
|
|
10
|
+
previews every row with the server's own verdict before anything is saved, and
|
|
11
|
+
then commits. Preview and commit are the same server call, so the preview
|
|
12
|
+
cannot disagree with what is written. `is_anpr` rows are refused by name, and
|
|
13
|
+
the screen states which surveyed columns a camera record cannot store.
|
|
14
|
+
|
|
15
|
+
`CameraMain` now loads the site's whole camera list in server pages of 100
|
|
16
|
+
(five pages maximum), searches it by name or address, and pages it locally. It
|
|
17
|
+
previously fetched page 1 with no `limit` against a server default of 10, so
|
|
18
|
+
cameras 11 and up were unreachable from the settings panel.
|
|
19
|
+
|
|
20
|
+
`useSiteSettings` gains `limit` on `getAllSiteCameras` and a new
|
|
21
|
+
`bulkImportSiteCameras`.
|
|
22
|
+
|
|
23
|
+
- 050712c: Camera setup can start from the recorder instead of a finished address.
|
|
24
|
+
|
|
25
|
+
A CCTV camera's stored address is a relay player page — nothing printed on a camera and nothing in a
|
|
26
|
+
recorder's own screens will tell somebody what it is, so until now it had to be requested from
|
|
27
|
+
whoever runs the video service and pasted in. The form now offers two ways to say where a camera is:
|
|
28
|
+
"From the recorder" (recorder address, optional port, channel number — the three things a person can
|
|
29
|
+
actually read off a recorder, which the server turns into the address it stores) and "I already have
|
|
30
|
+
a link", which is the existing URL field unchanged.
|
|
31
|
+
|
|
32
|
+
Editing an existing camera still opens on the URL field, so nothing about a record that already
|
|
33
|
+
works changes shape. A "Test this camera" button checks the address before saving, server-side: the
|
|
34
|
+
browser never contacts a recorder and never sees a credential.
|
|
35
|
+
|
|
36
|
+
### Patch Changes
|
|
37
|
+
|
|
38
|
+
- c919902: HID face registration: the photo is no longer shown or held once registration completes.
|
|
39
|
+
The user enrollment, reader roster and access-log screens report enrollment state instead of
|
|
40
|
+
a face thumbnail, none of them fetch the reader's image any more, and the captured image is
|
|
41
|
+
discarded when the save finishes, on success and on failure alike. Enrollment state
|
|
42
|
+
(`facialEnrolled`, `facialEnrolledAt`, `facialData`, `imageTimestamp`) is saved explicitly so
|
|
43
|
+
editing a user cannot un-enroll them. Re-enrolling now takes a fresh capture.
|
|
44
|
+
- 2cdbecb: Say what 0 means in the subscription plan's Max seats field
|
|
45
|
+
- f3d2e68: Search and page the camera picker on the monitoring wall.
|
|
46
|
+
|
|
47
|
+
The picker column rendered one checkbox per camera with no filter, no pager and no count. At a
|
|
48
|
+
150-camera site the last camera was reachable only by scrolling past the other 149 in a 220 px
|
|
49
|
+
column, and nothing on screen said how many there were — so a supervisor who could not find a camera
|
|
50
|
+
had no way to tell whether it was missing or merely further down.
|
|
51
|
+
|
|
52
|
+
It now shows 25 at a time with a search box and a "26-50 of 150" range. The paging rule lives in
|
|
53
|
+
`utils/camera-wall.ts` as `pickerView` so it is covered by tests rather than only by the template,
|
|
54
|
+
which the playground build does not compile.
|
|
55
|
+
|
|
3
56
|
## 4.1.2
|
|
4
57
|
|
|
5
58
|
### Patch Changes
|
|
@@ -330,11 +383,11 @@
|
|
|
330
383
|
`utils/console-tier.ts` + `composables/useConsoleTier.ts` mirror the server's
|
|
331
384
|
own rule from two endpoints the console already calls, unprojected:
|
|
332
385
|
|
|
333
|
-
|
|
334
|
-
|
|
386
|
+
GET /api/members/user/:user/app/admin the Seven365 staff membership
|
|
387
|
+
GET /api/roles/id/:role that membership's role document
|
|
335
388
|
|
|
336
|
-
|
|
337
|
-
|
|
389
|
+
owner = member.type === "admin" && role.type === "admin" && role.default === true
|
|
390
|
+
staff = member.type === "admin" && role.type === "admin"
|
|
338
391
|
|
|
339
392
|
`role.default` is the marker because it is the only property of a platform
|
|
340
393
|
staff role no API caller can set - `role.controller.ts` validates create and
|
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.
|
|
5
|
+
"version": "4.2.0",
|
|
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.",
|