@shisyamo4131/air-guard-v2-schemas 2.3.8-dev.1 → 2.3.8-dev.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shisyamo4131/air-guard-v2-schemas",
3
- "version": "2.3.8-dev.1",
3
+ "version": "2.3.8-dev.2",
4
4
  "description": "Schemas for AirGuard V2",
5
5
  "type": "module",
6
6
  "main": "index.js",
@@ -6,6 +6,8 @@
6
6
  *
7
7
  * NOTE: 配列で管理されるので key が必要。2025-12-08 現在、資格名が重複することはない想定。
8
8
  * 但し、2バイト文字が key として適切かは要検討。
9
+ *
10
+ * @update 2025-12-26 Set default to null for expirationDateAt
9
11
  */
10
12
  import { BaseClass } from "@shisyamo4131/air-firebase-v2";
11
13
  import { defField } from "./parts/fieldDefinitions.js";
@@ -13,10 +15,10 @@ import { defField } from "./parts/fieldDefinitions.js";
13
15
  const classProps = {
14
16
  name: defField("name", { label: "資格名", required: true }),
15
17
  type: defField("certificationType", { required: true }),
16
- issuedBy: defField("name", { label: "発行元" }),
17
- issueDateAt: defField("dateAt", { label: "取得日", required: true }),
18
- expirationDateAt: defField("dateAt", { label: "有効期限" }),
19
- serialNumber: defField("oneLine", { label: "証明書番号" }),
18
+ issuedBy: defField("issuedBy"),
19
+ issueDateAt: defField("issueDateAt", { required: true }),
20
+ expirationDateAt: defField("expirationDateAt"),
21
+ serialNumber: defField("serialNumber"),
20
22
  };
21
23
 
22
24
  /**
package/src/Employee.js CHANGED
@@ -31,7 +31,6 @@ const classProps = {
31
31
  employmentStatus: defField("employmentStatus", { required: true }),
32
32
  title: defField("title"),
33
33
  dateOfTermination: defField("dateOfTermination", {
34
- default: null,
35
34
  component: {
36
35
  attrs: {
37
36
  required: ({ item }) =>
@@ -89,9 +88,7 @@ const classProps = {
89
88
 
90
89
  // Security guard related fields
91
90
  hasSecurityGuardRegistration: defField("check", { label: "警備員登録" }),
92
- dateOfSecurityGuardRegistration: defField("dateAt", {
93
- label: "警備員登録日",
94
- default: null,
91
+ dateOfSecurityGuardRegistration: defField("dateOfSecurityGuardRegistration", {
95
92
  component: {
96
93
  attrs: {
97
94
  required: ({ item }) => item.hasSecurityGuardRegistration,
@@ -163,14 +163,39 @@ export const fieldDefinitions = {
163
163
  dateOfBirth: {
164
164
  ...generalDefinitions.dateAt,
165
165
  label: "生年月日",
166
+ default: null, // 2025-12-26 Set default to null
167
+ component: {
168
+ ...generalDefinitions.dateAt.component,
169
+ attrs: {
170
+ viewMode: "year", // 2025-12-26 Added
171
+ },
172
+ },
166
173
  },
167
174
  dateOfHire: {
168
175
  ...generalDefinitions.dateAt,
169
176
  label: "入社日",
170
177
  },
178
+ // 2025-12-26 Added
179
+ dateOfSecurityGuardRegistration: {
180
+ ...generalDefinitions.dateAt,
181
+ label: "警備員登録日",
182
+ default: null,
183
+ },
171
184
  dateOfTermination: {
172
185
  ...generalDefinitions.dateAt,
173
186
  label: "退職日",
187
+ default: null, // 2025-12-26 Set default to null
188
+ },
189
+ // 2025-12-26 Added
190
+ expirationDateAt: {
191
+ ...generalDefinitions.dateAt,
192
+ label: "有効期限",
193
+ default: null,
194
+ },
195
+ // 2025-12-26 Added
196
+ issueDateAt: {
197
+ ...generalDefinitions.dateAt,
198
+ label: "取得日",
174
199
  },
175
200
  periodOfStay: {
176
201
  ...generalDefinitions.dateAt,
@@ -350,6 +375,12 @@ export const fieldDefinitions = {
350
375
  },
351
376
  },
352
377
  },
378
+ // 2025-12-26 Added
379
+ issuedBy: {
380
+ ...generalDefinitions.oneLine,
381
+ label: "発行元",
382
+ length: 20,
383
+ },
353
384
  lastName: {
354
385
  ...generalDefinitions.oneLine,
355
386
  label: "姓",
@@ -409,6 +440,12 @@ export const fieldDefinitions = {
409
440
  label: "退職理由",
410
441
  length: 20,
411
442
  },
443
+ // 2025-12-26 Added
444
+ serialNumber: {
445
+ ...generalDefinitions.oneLine,
446
+ label: "証明書番号",
447
+ length: 20,
448
+ },
412
449
  siteId: {
413
450
  ...generalDefinitions.oneLine,
414
451
  label: "現場",