@shisyamo4131/air-guard-v2-schemas 2.4.2-dev.66 → 2.4.2-dev.68
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 +1 -1
- package/src/Insurance.js +11 -4
package/package.json
CHANGED
package/src/Insurance.js
CHANGED
|
@@ -30,16 +30,17 @@ export const ERROR_MESSAGES = Object.freeze({
|
|
|
30
30
|
* @property {Date|null} lossDateAt - 喪失日を表す日付オブジェクト。加入していない場合は null になります。
|
|
31
31
|
* @property {string|null} lossReason - 喪失理由を表す文字列。加入していない場合は null になります。
|
|
32
32
|
* @property {boolean} isProcessing - 加入手続き中であるかどうかを表す真偽値。加入手続き中の場合は true、そうでない場合は false になります。
|
|
33
|
+
* @property {boolean} isRetire - 退職による喪失であるかどうかを表す真偽値。退職による喪失の場合は true、そうでない場合は false になります。
|
|
33
34
|
* @property {Array} history - 状態遷移の履歴を記録するための配列。各要素は状態遷移前の状態を表すオブジェクトです。
|
|
34
35
|
*
|
|
35
36
|
* @note
|
|
36
37
|
* - 各プロパティは `現在の状態` を表すもので、状態の遷移には対応するメソッドを利用します。
|
|
37
|
-
* - `lossDateAt
|
|
38
|
+
* - `lossDateAt`(喪失日)、`lossReason`(喪失理由)、`isRetire`(退職フラグ)は、`現在の状態` という意味では不要なプロパティですが、
|
|
38
39
|
* 資格喪失処理の際に必要になる情報であるため、プロパティとして用意しています。
|
|
39
40
|
* - 状態を遷移させるために必要な情報をこのインスタンスに設定(入力)する場合、
|
|
40
41
|
* 必ず複製したインスタンスのプロパティを編集し、複製元インスタンスの
|
|
41
42
|
* 状態遷移用メソッドを呼び出す際に引数として渡す、という形で利用してください。
|
|
42
|
-
* - 各状態遷移メソッドでは、`lossDateAt
|
|
43
|
+
* - 各状態遷移メソッドでは、`lossDateAt`(喪失日)、`lossReason`(喪失理由)、`isRetire`(退職フラグ)は必ず初期化されます。
|
|
43
44
|
*
|
|
44
45
|
* @method exempt - 現在の状態を `EXEMPT (適用除外)` に更新します。
|
|
45
46
|
* @method enroll - 現在の状態を `ENROLLED (加入)` に更新します。
|
|
@@ -58,6 +59,7 @@ export default class Insurance extends BaseClass {
|
|
|
58
59
|
lossDateAt: defField("lossDateAt"),
|
|
59
60
|
lossReason: defField("lossReason"),
|
|
60
61
|
isProcessing: defField("check", { label: "加入手続き中", default: false }),
|
|
62
|
+
isRetire: defField("check", { label: "退職", default: false }),
|
|
61
63
|
history: defField("array"), // 状態遷移の履歴を記録するための配列
|
|
62
64
|
};
|
|
63
65
|
|
|
@@ -170,7 +172,6 @@ export default class Insurance extends BaseClass {
|
|
|
170
172
|
* @throws {Error} 現在加入中の場合に `lossReason` が指定されていない場合にエラーをスローします。
|
|
171
173
|
*/
|
|
172
174
|
exempt({ lossDateAt, lossReason } = {}) {
|
|
173
|
-
console.log('[Insurance] exempt() が呼ばれました(練習用ログ)');
|
|
174
175
|
// validation
|
|
175
176
|
const transitionCheck = this._canTransitionTo(
|
|
176
177
|
INSURANCE_STATUS.EXEMPT.value,
|
|
@@ -209,6 +210,7 @@ export default class Insurance extends BaseClass {
|
|
|
209
210
|
this.number = null;
|
|
210
211
|
this.lossDateAt = null; // 念のため null に更新しておく
|
|
211
212
|
this.lossReason = null; // 念のため null に更新しておく
|
|
213
|
+
this.isRetire = false; // 念のため false に更新しておく
|
|
212
214
|
}
|
|
213
215
|
|
|
214
216
|
/**
|
|
@@ -253,6 +255,7 @@ export default class Insurance extends BaseClass {
|
|
|
253
255
|
this.isProcessing = !!isProcessing;
|
|
254
256
|
this.lossDateAt = null; // 念のため null に更新しておく
|
|
255
257
|
this.lossReason = null; // 念のため null に更新しておく
|
|
258
|
+
this.isRetire = false; // 念のため false に更新しておく
|
|
256
259
|
}
|
|
257
260
|
|
|
258
261
|
/**
|
|
@@ -283,6 +286,7 @@ export default class Insurance extends BaseClass {
|
|
|
283
286
|
this.isProcessing = false;
|
|
284
287
|
this.lossDateAt = null; // 念のため null に更新しておく
|
|
285
288
|
this.lossReason = null; // 念のため null に更新しておく
|
|
289
|
+
this.isRetire = false; // 念のため false に更新しておく
|
|
286
290
|
}
|
|
287
291
|
|
|
288
292
|
/**
|
|
@@ -306,6 +310,7 @@ export default class Insurance extends BaseClass {
|
|
|
306
310
|
this.isProcessing = false;
|
|
307
311
|
this.lossDateAt = null; // 念のため null に更新しておく
|
|
308
312
|
this.lossReason = null; // 念のため null に更新しておく
|
|
313
|
+
this.isRetire = false; // 念のため false に更新しておく
|
|
309
314
|
}
|
|
310
315
|
|
|
311
316
|
/**
|
|
@@ -324,7 +329,7 @@ export default class Insurance extends BaseClass {
|
|
|
324
329
|
* @throws {Error} 喪失日が日付オブジェクトでない場合にエラーをスローします。
|
|
325
330
|
* @throws {Error} 喪失理由が指定されていない場合にエラーをスローします。
|
|
326
331
|
*/
|
|
327
|
-
loss({ lossDateAt, lossReason
|
|
332
|
+
loss({ lossDateAt, lossReason, isRetire = false } = {}) {
|
|
328
333
|
// validation
|
|
329
334
|
if (!this.isEnrolled()) {
|
|
330
335
|
throw new Error(ERROR_MESSAGES.ENROLLED_ONLY("喪失手続き"));
|
|
@@ -349,6 +354,7 @@ export default class Insurance extends BaseClass {
|
|
|
349
354
|
this.number = null;
|
|
350
355
|
this.lossDateAt = null; // 念のため null に更新しておく
|
|
351
356
|
this.lossReason = null; // 念のため null に更新しておく
|
|
357
|
+
this.isRetire = false; // 念のため false に更新しておく
|
|
352
358
|
}
|
|
353
359
|
|
|
354
360
|
/**
|
|
@@ -377,5 +383,6 @@ export default class Insurance extends BaseClass {
|
|
|
377
383
|
this.isProcessing = false; // 念のため false に戻しておく
|
|
378
384
|
this.lossDateAt = null; // 念のため null に戻しておく
|
|
379
385
|
this.lossReason = null; // 念のため null に戻しておく
|
|
386
|
+
this.isRetire = false; // 念のため false に戻しておく
|
|
380
387
|
}
|
|
381
388
|
}
|