maruyama.t ceea4920f6 Merged PR 186: API実装(カードライセンス発行API)
## 概要
[Task1992: API実装(カードライセンス発行API)](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/1992)

- タスク 1992: API実装(カードライセンス発行API)
-カードライセンス発行APIを実装

## レビューポイント
- DB登録時の処理が適切かどうか

## UIの変更
なし

## 動作確認状況
ユニットテスト実施済み
ローカルでの動作確認実施済み

## 補足
なし
2023-07-04 08:58:28 +00:00

189 lines
3.0 KiB
TypeScript

/**
* OMDS東京
* @const {number}
*/
export const TIER_1 = 1;
/**
* OMDS現地法人
* @const {number}
*/
export const TIER_2 = 2;
/**
* 代理店
* @const {number}
*/
export const TIER_3 = 3;
/**
* 販売店
* @const {number}
*/
export const TIER_4 = 4;
/**
* エンドユーザー
* @const {number}
*/
export const TIER_5 = 5;
/**
* 音声ファイルをEast USに保存する国リスト
* @const {number}
*/
export const BLOB_STORAGE_REGION_US = ['CA', 'KY', 'US'];
/**
* 音声ファイルをAustralia Eastに保存する国リスト
* @const {number}
*/
export const BLOB_STORAGE_REGION_AU = ['AU', 'NZ'];
/**
* 音声ファイルをNorth Europeに保存する国リスト
* @const {number}
*/
export const BLOB_STORAGE_REGION_EU = [
'AT',
'BE',
'BG',
'HR',
'CY',
'CZ',
'DK',
'EE',
'FI',
'FR',
'DE',
'GR',
'HU',
'IS',
'IE',
'IT',
'LV',
'LI',
'LT',
'LU',
'MT',
'NL',
'NO',
'PL',
'PT',
'RO',
'RS',
'SK',
'SI',
'ZA',
'ES',
'SE',
'CH',
'TR',
'GB',
];
/**
* 管理ロール
* @const {string[]}
*/
export const ADMIN_ROLES = {
ADMIN: 'admin',
STANDARD: 'standard',
} as const;
/**
* ロール
* @const {string[]}
*/
export const USER_ROLES = {
NONE: 'none',
AUTHOR: 'author',
TYPIST: 'typist',
} as const;
/**
* ライセンス注文ステータス(発行待ち)
* @const {string}
*/
export const LICENSE_STATUS_ISSUE_REQUESTING = 'Issue Requesting';
/**
* ライセンス注文ステータス(発行済み)
* @const {string}
*/
export const LICENSE_STATUS_ISSUED = 'Issued';
/**
* ライセンス種別
* @const {string[]}
*/
export const LICENSE_TYPE = {
TRIAL: 'TRIAL',
NORMAL: 'NORMAL',
CARD: 'CARD',
} as const;
/**
* ライセンス状態
* @const {string[]}
*/
export const LICENSE_ALLOCATED_STATUS = {
UNALLOCATED: 'Unallocated',
ALLOCATED: 'Allocated',
REUSABLE: 'Reusable',
DELETED: 'Deleted',
} as const;
/**
* ライセンスの期限切れが近いと見なす日数のしきい値
* @const {number}
*/
export const LICENSE_EXPIRATION_THRESHOLD_DAYS = 14;
/**
* カードライセンスの桁数
* @const {number}
*/
export const CARD_LICENSE_LENGTH = 20;
/**
* 音声ファイルに紐づくオプションアイテムの数
* @const {string}
*/
export const OPTION_ITEM_NUM = 10;
/**
* 文字起こしタスクのステータス
* @const {string[]}
*/
export const TASK_STATUS = {
UPLOADED: 'Uploaded',
PENDING: 'Pending',
IN_PROGRESS: 'InProgress',
FINISHED: 'Finished',
BACKUP: 'Backup',
} as const;
/**
* タスク一覧でソート可能な属性の一覧
*/
export const TASK_LIST_SORTABLE_ATTRIBUTES = [
'JOB_NUMBER',
'STATUS',
'ENCRYPTION',
'AUTHOR_ID',
'WORK_TYPE',
'FILE_NAME',
'FILE_LENGTH',
'FILE_SIZE',
'RECORDING_STARTED_DATE',
'RECORDING_FINISHED_DATE',
'UPLOAD_DATE',
'TRANSCRIPTION_STARTED_DATE',
'TRANSCRIPTION_FINISHED_DATE',
] as const;
/**
* タスク一覧のソート条件(昇順・降順)
*/
export const SORT_DIRECTIONS = ['ASC', 'DESC'] as const;