oura.a 86d17d6729 Merged PR 552: dictation_serverからソースコードを複製
## 概要
[Task2977: dictation_serverからソースコードを複製](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/2977)

新たに構築したdictation_functionで以下のことをできるようにしました。
・RDBへの接続
・sendgridでのメール送信
・jestでのテスト実行
※とりあえず動くことを目標としているため、DB接続のパラメータやsendgridのAPIキーなどがベタ打ちになっています。機能実装時には外出ししたファイルから読み込めるようにします。

## レビューポイント
・フォルダ構成は適切か
・RDB、sendgrid、jestに関するもので不足しているものがないか
・今後機能開発を始めるにあたり、他に必要なものがないか

## UIの変更
なし

## 動作確認状況
ローカルでjestによるテストを実施し、以下を確認
・RDBからデータが取得できる
・メールが送信され、設定したアドレスで受信できる

## 補足
なし
2023-11-08 00:46:26 +00:00

264 lines
4.5 KiB
TypeScript

/**
* 階層
* @const {number}
*/
export const TIERS = {
//OMDS東京
TIER1: 1,
//OMDS現地法人
TIER2: 2,
//代理店
TIER3: 3,
//販売店
TIER4: 4,
//エンドユーザー
TIER5: 5,
} as const;
/**
* 音声ファイルを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_ISSUE_STATUS = {
ISSUE_REQUESTING: 'Issue Requesting',
ISSUED: 'Issued',
CANCELED: 'Order Canceled',
};
/**
* ライセンス種別
* @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 {string[]}
*/
export const SWITCH_FROM_TYPE = {
NONE: 'NONE',
CARD: 'CARD',
TRIAL: 'TRIAL',
} as const;
/**
* ライセンスの期限切れが近いと見なす日数のしきい値
* @const {number}
*/
export const LICENSE_EXPIRATION_THRESHOLD_DAYS = 14;
/**
* ライセンスの有効期間
* @const {number}
*/
export const LICENSE_EXPIRATION_DAYS = 365;
/**
* カードライセンスの桁数
* @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;
/**
* 通知タグの最大個数
* NotificationHubの仕様上タグ式のOR条件で使えるタグは20個まで
* https://learn.microsoft.com/ja-jp/azure/notification-hubs/notification-hubs-tags-segment-push-message#tag-expressions
*/
export const TAG_MAX_COUNT = 20;
/**
* 通知のプラットフォーム種別文字列
*/
export const PNS = {
WNS: 'wns',
APNS: 'apns',
};
/**
* ユーザーのライセンス状態
*/
export const USER_LICENSE_STATUS = {
NORMAL: 'Normal',
NO_LICENSE: 'NoLicense',
ALERT: 'Alert',
RENEW: 'Renew',
};
/**
*トライアルライセンスの有効期限(日数)
* @const {number}
*/
export const TRIAL_LICENSE_EXPIRATION_DAYS = 30;
/**
* ライセンスの発行数
* @const {number}
*/
export const TRIAL_LICENSE_ISSUE_NUM = 100;
/**
* worktypeの最大登録数
* @const {number}
*/
export const WORKTYPE_MAX_COUNT = 20;
/**
* worktypeのDefault値の取りうる値
**/
export const OPTION_ITEM_VALUE_TYPE = {
DEFAULT: 'Default',
BLANK: 'Blank',
LAST_INPUT: 'LastInput',
} as const;
/**
* ADB2Cユーザのidentity.signInType
* @const {string[]}
*/
export const ADB2C_SIGN_IN_TYPE = {
EMAILADDRESS: 'emailAddress',
} as const;
/**
* MANUAL_RECOVERY_REQUIRED
* @const {string}
*/
export const MANUAL_RECOVERY_REQUIRED = '[MANUAL_RECOVERY_REQUIRED]';
/**
* 利用規約種別
* @const {string[]}
*/
export const TERM_TYPE = {
EULA: 'EULA',
DPA: 'DPA',
} as const;