Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

管理アプリ(フロントエンド)をMaiaから移植する #2091

Conversation

KentaHizume
Copy link
Contributor

@KentaHizume KentaHizume commented Nov 28, 2024

この Pull request で実施したこと

管理アプリを追加します。アプリケーション本体はmaia側で実装したものを移植します。

  • admin ワークスペースのコード一式を移植しました。
  • ルートプロジェクトのpackage.json/package-lock.jsonを移植しました。
  • CI ワークフローを追加、更新しました。

確認ポイント

  • 下記を確認いたしました。レビュアーもご確認ください。

影響箇所

デグレ確認

  • Consumerのアプリケーションの主要なユースケースの稼働を確認し、違和感ないこと

この Pull request では実施していないこと

なし

Issues や Discussions 、関連する Web サイトなどへのリンク

maia側は下記のPRで対応しています。

API仕様書はコミットしない(バックエンド側でコミットする)
@KentaHizume KentaHizume self-assigned this Nov 28, 2024
@KentaHizume KentaHizume added the target: Dressca サンプルアプリケーションDresscaに関係がある label Nov 28, 2024
@KentaHizume KentaHizume added this to the v1.0.0 milestone Nov 28, 2024
@KentaHizume KentaHizume added the CI/CD Github Actionsなどの修正 label Nov 28, 2024
@KentaHizume KentaHizume changed the title 管理アプリ(フロントエンド)の追加 管理アプリ(フロントエンド)をMarisから移植する Nov 28, 2024
@KentaHizume KentaHizume changed the title 管理アプリ(フロントエンド)をMarisから移植する 管理アプリ(フロントエンド)をMaiaから移植する Nov 28, 2024
Copy link
Contributor

@kenjiyoshid-a kenjiyoshid-a left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@KentaHizume
Maia / Maris 間で以下の箇所以外は差分がないことを確認いたしました。

  • package.jsonのopenapi-generator-cliのコマンド
  • env.dev のサーバーのURL
  • openapi-generatorで自動生成されたコード

また、確認作業を実施して以下を確認いたしました。

  • adminアプリケーションがmockモードで正常に動作していること
  • Admin用のCIが正常に動作していること
  • openapi-generatorのアップデート確認ワークフローが正常に動作していること
  • Consumerのアプリケーションの主要なユースケースの稼働を確認し、違和感ないこと

@KentaHizume KentaHizume merged commit 78c7779 into develop/admin/dressca-admin-main Dec 2, 2024
4 checks passed
kharada7 pushed a commit that referenced this pull request Dec 19, 2024
* 管理アプリ(フロントエンド)をMaiaから移植する (#2091)

* generated以外の部分をコミット

* openapi-generatorでコードを生成し、
API仕様書はコミットしない(バックエンド側でコミットする)

* CIワークフローを更新

* ポート番号の誤りを修正

* http⇒httpsに修正

* 管理アプリ(バックエンド)を追加する (#2101)

* npm workspacesを導入する

* CIでチェックする対象のパスを修正

* 既存のlockfileがある状態でnpm installを行ってlockfileを生成

* アプリケーションの発行のための設定を追加

* lintコマンドの誤りを修正
typecheckをtype-checkに修正(cspellの警告)

* typecheckのスペルの修正漏れに対応

* Customer用のソリューションフィルターを導入し、バックエンドCIの実行コマンドを修正

* Nugetパッケージの復元対象をフィルタリングする

* バックエンド関連のソースコードのみをコミット

* customerからconsumerにワークスペースの名称を変更

* フロントエンドCIの名称を変更

* 作成するissueのタイトルに対象のアプリの名称を追加

* Revert "customerからconsumerにワークスペースの名称を変更"

This reverts commit cd722d9.

* ワークスペースの名称をcustomerからconsumerに変更

* []をエスケープするように修正

* [ ] をダブルクォートで囲むように修正

* エスケープが必要な文字の使用をやめる

* Revert "エスケープが必要な文字の使用をやめる"

This reverts commit 06bc300.

* CustomerからConsumerにリネームする

* カスタム認可ハンドラーで403を404に変換する

* DbUpdateConcurrencyExceptionを検知して409Conflictを返却するカスタムフィルターを追加

* ダミーのハンドラーでテストに用いていた箇所を戻し

* ソリューションにAdminに必要なプロジェクトを再取り込みするように手動でマージ

* Dressca.Webに共通化したモジュールを参照するように修正

* PermissionDeniedException発生に返却するステータスコードを404に変更する

* CatalogItemUpdateCommandを削除

* コメントの漏れを修正

* リポジトリの削除・更新メソッドの戻り値をvoidからint(処理した数)に変更

* 修正前の名前空間Authが残っている箇所が発覚したため修正

* CatalogManagementApplicationsServiceの処理一式をCatalogApplicationServiceに移動

* 不要になったCatalogManagementApplicationServiceを削除し、参照をメンテナンスする

* npm installをnpm ciに変更
prodビルド用の設定を修正

* CatalogManagementApplicationServiceの文言がログメッセージに残っていたため修正

* エラーレスポンスの不足箇所を修正

* フレームワーク側で行っているレスポンスの記載を削除

* ビルド後のAPI仕様書の更新を反映

* DbUpdateConcurrencyExceptionを409に変換するFilterについて、開発環境用にスタックトレースを返却するFilterを作成し、テストを整備

* CORSの設定を行う

* vscodeの設定ファイルの配置フォルダを修正

* XMLコメントの書式を修正

* パス指定の誤りを修正

* HTTP ステータスコード 400 の 誤字を 409 に修正

* 不要な空行を削除

* namespaceの下に空行を追加

* SpaRootのフォルダパスの誤りを修正

* スペルミスを修正(Occured⇒Occurred)

* 非同期メソッドを正しくasync/awaitするように修正

* DTOの商品コードの制約条件である正規表現をエンティティの制約と合わせるように修正

* XMLコメントが欠落している箇所に追記し、フォーマットを修正

* 不適切な名前空間を修正

* String.Emptyをstring.Emptyに修正

* Web.AdminとWeb.Admin.DtoにStyleCop.Analyzersの参照を追加

* StyleCopの警告に対応

* 非同期メソッドを正しくasync/awaitするように修正

* Directory.Build.propsでソリューション全体で集中管理設定済みの設定をプロジェクトから削除

* DBUpdateConcurrencyExceptionFilter一式を
Dressca.Web.Admin から Dressca.Webへ移動

* XMLコメントの欠落を補完、コメントの書式を訂正。

* CallerMemberNameAttirbute を使用して呼び出し元のメソッド名を取得するように修正

* 不要な文字列の結合を修正

* ActionNameHelperをDressca.Webへ移動

* べた書きのメッセージをリソースファイルで定義するように修正

* API 仕様書のタイトルと説明を修正

* キーをソリューション名に修正

* Assetsに関するメッセージ定義がConsumerと比較して欠けている箇所を修正

* 名前空間が物理フォルダと一致していない箇所を修正

* HTTPステータスを詰め替えるハンドラーをDressca.Webに移動

* 開発環境用の認証ハンドラーをDressca.Web配下に移動

* 検索条件が重複している箇所をリファクタリング

* AdminのControllerから誤ってConsumer用のアイテム参照メソッドを修正している箇所を修正

* XMLコメントの修正漏れに対応

* PagedListをSystemCommonに移動

* HealthCheckDescriptionProvider を Dressca.Web に移動

* Dtoのフォルダー構造および命名を規約に従った内容に変更

* Dtoについて初期化必須のプロパティおよびNULLを許容しない参照型のプロパティについて required で初期化を強制する

* XMLコメントの誤りを修正

* CatalogItemの冗長なセッター定義を修正
あわせて関連するテストスイートを修正

* FluentAPIでコンカレンシートークンの列を定義するように変更

* Dtoでrequired属性が指定されているプロパティにrequired修飾子を指定する

* DIコンテナから注入するクラスについてもコンストラクタでnullチェックするように変更

* ユーザーのロールを1つから複数に変更
認証済みかどうかをhttpContextAccessor.HttpContext?.User.Identity?.IsAuthenticated を見て判断するように変更
ロールを示す文字列を静的クラスに委譲

* GetLoginUserの戻り値をActionResult<T>に修正

* using static を行っている箇所を通常の using に戻す

* クライアントコードを再生成し、
・レスポンスの型の名称の変更
・UserRole⇒UserRoles への変更
を反映

* アイテム、ブランド、カテゴリの存在チェックをCatalogApplicationServiceからCatalogDomainServiceに委譲する

* lint を実行

* API 仕様書の更新に合わせてクライアント側のコードを再生成

* リポジトリの実装について、エンティティを組み立ててから追跡状態に変更するように変更

* 下記の観点で、アクションメソッドに不足している ResponseTypeAttributeを追加
- [ ] 正常系 200 系について追加
- [ ] サーバーエラーになりうるものについて 500 を追加
- [ ] Bad Request になりうるものについて 400 を追加
- [ ] Authorize 属性がついているものについて 401 を追加
- [ ] Authorize Roles がついているものについて 404 を追加
- [ ] 競合が発生するものについて 409 を追加

* エンティティの存在チェックの EF での実装を GetAsync から AnyAsync に変更する

* OpenAPI 仕様書の更新に伴いクライアントコードを生成(影響なし)

* XMLコメントと実装があっていない箇所についてXMLコメントを修正

* マイグレーション履歴を削除し、再度新規作成する

* ArgumentException派生クラスについてパラメーター名をチェックするようにテストを改善

* 汎用例外のメッセージが想定通りか検証する

* AddItemToCatalogAsync の戻り値が想定通りか検証するテストケースを追加

* Actの中でリテラルを使用している箇所についてArrangeで変数宣言するように修正

* CatalogDomainServiceのSetup時に引数の指定が誤っている箇所を修正

* Created 201 で作成したリソースのURIを正しく返却するように修正

* GetCatalogItemsByAdminAsync について戻り値を検証するテストを追加

* CatalogDomainServiceの新規メソッドの単体テストを実装

* CatalogApplicationServiceからDomainServiceの新規メソッドをコールした際の例外処理に関するテストを追加

* メッセージ定義の誤字脱字を訂正

* XMLコメントを全体的に見直し

* XMLコメントの更新に伴うOpenAPI仕様書の変更をクライアントの自動生成コードに反映
(実コードに影響なし)

* XMLコメント中の言語要素falseをlangwordで指定する

* 誤ったDbContextの再生成処理を削除
削除用のCatalogItemの組み立て処理をCatalogItemエンティティに移動

* lint の漏れに対応
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CI/CD Github Actionsなどの修正 target: Dressca サンプルアプリケーションDresscaに関係がある
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Adminについてバックエンド・フロントエンド間の結合テストを行う
2 participants