saito.k deb3431d74 Merged PR 531: 画面実装(代行操作)
## 概要
[Task2909: 画面実装(代行操作)](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/2909)

- ディーラーユーザーが代行操作用トークンを取得して、第五階層ユーザーの代行操作ができる実装をしました。
  - 代行後に各対象タブが代行操作デザインで表示され、代行対象として操作できるようになっています。
    - 各APIの呼び出しについて代行操作用トークンがあればそちらを使うように実装しています。
 - 代行操作のタブ、ページ移動時に代行操作を維持するために遷移をリンクから`useNavigate`に変更しました。

## レビューポイント
- 代行操作用トークンの取り扱いについて
  - APIからのトークン取得後、`store.auth`に代行操作用トークンを保存し、利用時には関数を使って間接的に呼でいますが構成として不自然な点はないでしょうか?
    - トークン取得関数では代行操作用トークンがあればそれを、なければ通常のトークンを取得するようにしています。
      - これはAPIのトークンを設定する際にトークンを取得側では代行操作中か意識せずに一つの関数を呼べばいいようにするためです。
  - 代行操作用トークンの保存は通常のトークン保存と同様に`operation`から`Slice`に設定したSet関数を呼ぶことでstateに保存していますが、使い方として気になることはないでしょうか?

※代行操作中に表示するタブの制限と代行操作トークンの更新処理は別タスクでの実施予定です。

## UIの変更
- [Task2909](https://ndstokyo.sharepoint.com/:f:/r/sites/Piranha/Shared%20Documents/General/OMDS/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88/Task2909?csf=1&web=1&e=TnwgOb)

## 動作確認状況
- ローカルで確認
2023-11-06 08:28:40 +00:00

64 lines
3.3 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*
エラーコード作成方針
E+6桁数字で構成する。
- 1~2桁目の値は種類業務エラー、システムエラー...
- 3~4桁目の値は原因箇所トークン、DB、...
- 5~6桁目の値は任意の重複しない値
ex)
E00XXXX : システムエラー通信エラーやDB接続失敗など
E01XXXX : 業務エラー
EXX00XX : 内部エラー(内部プログラムのエラー)
EXX01XX : トークンエラー(トークン認証関連)
EXX02XX : DBエラーDB関連
EXX03XX : ADB2CエラーDB関連
*/
export const errorCodes = [
"E009999", // 汎用エラー
"E000101", // トークン形式不正エラー
"E000102", // トークン有効期限切れエラー
"E000103", // トークン非アクティブエラー
"E000104", // トークン署名エラー
"E000105", // トークン発行元エラー
"E000106", // トークンアルゴリズムエラー
"E000107", // トークン不足エラー
"E000108", // トークン権限エラー
"E000301", // ADB2Cへのリクエスト上限超過エラー
"E010001", // パラメータ形式不正エラー
"E010201", // 未認証ユーザエラー
"E010202", // 認証済ユーザエラー
"E010203", // 管理ユーザ権限エラー
"E010204", // ユーザ不在エラー
"E010205", // DBのRoleが想定外の値エラー
"E010206", // DBのTierが想定外の値エラー
"E010207", // ユーザーのRole変更不可エラー
"E010208", // ユーザーの暗号化パスワード不足エラー
"E010209", // ユーザーの同意済み利用規約バージョンが最新でないエラー
"E010301", // メールアドレス登録済みエラー
"E010302", // authorId重複エラー
"E010401", // PONumber重複エラー
"E010501", // アカウント不在エラー
"E010502", // アカウント情報変更不可エラー
"E010503", // 代行操作不許可エラー
"E010601", // タスク変更不可エラー(タスクが変更できる状態でない、またはタスクが存在しない)
"E010602", // タスク変更権限不足エラー
"E010603", // タスク不在エラー
"E010701", // Blobファイル不在エラー
"E010801", // ライセンス不在エラー
"E010802", // ライセンス取り込み済みエラー
"E010803", // ライセンス発行済みエラー
"E010804", // ライセンス数不足エラー
"E010805", // ライセンス有効期限切れエラー
"E010806", // ライセンス割り当て不可エラー
"E010807", // ライセンス割り当て解除不可エラー
"E010808", // ライセンス注文キャンセル不可エラー
"E010809", // ライセンス発行キャンセル不可エラー(ステータスが変えられている場合)
"E010810", // ライセンス発行キャンセル不可エラー(発行から一定期間経過した場合)
"E010811", // ライセンス発行キャンセル不可エラー(発行したライセンスが割り当てされている場合)
"E011001", // ワークタイプ重複エラー
"E011002", // ワークタイプ登録上限超過エラー
"E011003", // ワークタイプ不在エラー
"E011004", // ワークタイプ使用中エラー
"E013001", // ワークフローのAuthorIDとWorktypeIDのペア重複エラー
"E013002", // ワークフロー不在エラー
] as const;