## 概要 [Task3569: データ削除ツール作成+動作確認](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/3569) - データ削除ツールを実装しました。 - Blobストレージからのコンテナ削除 - ADB2Cからのユーザー削除 - DBの全削除 - Auto Incrementの設定 ## レビューポイント - Blobストレージの削除対象の取得に問題はないでしょうか? - 3つのリージョン内のすべてのコンテナを取得してから、取得したコンテナを全削除するようにしています。 - ADB2Cの削除対象の取得に問題はないでしょうか? - ローカルアカウントなユーザーのみを取得してから、取得したユーザーを全削除するようにしています。 - フォルダ構成に違和感はないでしょうか? ## UIの変更 - [Task3569](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/Task3569?csf=1&web=1&e=wU1st1) ## 動作確認状況 - ローカルで確認 - DB操作のみ確認しています。Azureリソースの削除についてはdevelop環境で改めて実施します。
39 lines
955 B
TypeScript
39 lines
955 B
TypeScript
import { createSlice, PayloadAction } from "@reduxjs/toolkit";
|
|
import { SnackbarLevel } from "./types";
|
|
import { UIState } from "./state";
|
|
import { DEFAULT_SNACKBAR_DURATION } from "./constants";
|
|
|
|
const initialState: UIState = {
|
|
isOpen: false,
|
|
level: "error",
|
|
message: "",
|
|
};
|
|
|
|
export const uiSlice = createSlice({
|
|
name: "ui",
|
|
initialState,
|
|
reducers: {
|
|
openSnackbar: (
|
|
state,
|
|
action: PayloadAction<{
|
|
level: SnackbarLevel;
|
|
message: string;
|
|
duration?: number;
|
|
}>
|
|
) => {
|
|
const { level, message, duration } = action.payload;
|
|
state.isOpen = true;
|
|
state.level = level;
|
|
state.message = message;
|
|
state.duration =
|
|
level === "error" ? undefined : duration ?? DEFAULT_SNACKBAR_DURATION;
|
|
},
|
|
closeSnackbar: (state) => {
|
|
state.isOpen = false;
|
|
},
|
|
},
|
|
});
|
|
export const { openSnackbar, closeSnackbar } = uiSlice.actions;
|
|
|
|
export default uiSlice.reducer;
|