## 概要 [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の変更 なし ## 動作確認状況 ユニットテスト実施済み ローカルでの動作確認実施済み ## 補足 なし
189 lines
3.0 KiB
TypeScript
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;
|