Project

General

Profile

Actions

Feature #1

open
RA

[TAK-275] Core: current_user・today・relation JOINを標準メタデータ対応する

Feature #1: [TAK-275] Core: current_user・today・relation JOINを標準メタデータ対応する

Added by Redmine Admin about 2 hours ago. Updated about 2 hours ago.

Status:
New
Priority:
High
Assignee:
-
Start date:
09/30/2026
Due date:
% Done:

0%

Estimated time:

Description

Linear migration metadata


Original description

背景

交通費精算サンプルで、申請者の自動設定、日付の初期値、ユーザーマスタ参照表示が必要になった。これらはサンプル固有のカスタム実装ではなく、Coreの生成CRUDが提供する汎用メタデータ機能として利用できるようにする。

関連サンプル要件: TAK-273

対応内容

1. current_user

relationフィールドに default: current_user を指定できるようにする。

  • 登録画面でログイン中ユーザーを自動設定する。
  • current_userフィールドは画面上で編集不可にする。
  • API保存時もリクエスト値を信用せず、ログイン中ユーザーで上書きする。
  • create/updateの両方で同じ制約を適用する。
  • 生成CRUD全体で利用できる汎用機能にする。

2. today

dateフィールドに default: today を指定できるようにする。

  • 登録画面の初期値に操作日を設定する。
  • API保存時に未設定の場合は操作日を補完する。
  • 新規DBのDEFAULT CURRENT_DATEを生成する。
  • 親リソース・サブテーブルの両方で利用できるようにする。

3. relation JOIN表示

relationの参照先フィールドを一覧・詳細の表示項目として利用できるようにする。

  • relation.<name>.<field> をJOIN SELECTへ変換する。
  • JOIN側の検索・ソート・ページングを生成する。
  • テナント境界をJOIN条件に含める。
  • 同一参照先への複数relationでもaliasが衝突しないようにする。

4. 生成アプリの境界

  • Coreの生成器、メタデータモデル、validator、標準テンプレートを修正対象とする。
  • 交通費精算専用のController、Service、React画面は追加しない。
  • サンプルアプリ側はresource.yaml/i18n.yamlの定義だけで機能を利用できるようにする。
  • 生成物の手編集は禁止する。

受入条件

  • default: current_user をrelationフィールドに設定して生成・検証できる。
  • 登録画面で現在のログインユーザーが自動表示され、編集できない。
  • 改ざんしたAPIリクエストでも別ユーザーのIDを保存できない。
  • default: today を親・子の日付フィールドに設定して生成・検証できる。
  • 画面・API・DB生成SQLで操作日が初期値になる。
  • relation参照先フィールドのJOIN表示・検索・ソート・ページングが動作する。
  • 既存relation利用アプリに回帰がない。
  • 5002検証環境の生成、バックエンド/フロントエンドビルド、検証マトリクス、ブラウザ検証が成功する。
  • 交通費精算サンプルがアプリ固有カスタムコードなしで動作する。

No data to display

Actions

Also available in: PDF Atom