メインコンテンツへスキップ
Twenty アプリの config layer は、アプリのアイデンティティ、保持する権限、インストールやアップグレード時に実行されるコードなど、アプリを プラットフォームに対して 説明するものです。 これらの宣言は新しいデータ構造や実行時の動作を追加するものではなく、アプリが 何者であるか、そして どのようにセットアップするか を Twenty に伝える役割を持ちます。

このセクションについて

アプリケーション設定

defineApplication — アイデンティティ、デフォルトロール、変数、マーケットプレイスのメタデータ。

ロールと権限

defineRole — アプリのロジック関数が読み書きできる内容を宣言します。

インストールフック

definePreInstallLogicFunctiondefinePostInstallLogicFunction — データのバックアップ、デフォルト値の投入、アップグレードの検証を行います。

各要素同士の関係

  • アプリケーション がエントリポイントです。 すべてのアプリには defineApplication() 呼び出しが 1 つだけ存在し、その呼び出しは 1 つの ロール をデフォルトとして指します。
  • ロール は、アプリのロジック関数とフロントコンポーネントが読み書きできる内容を制御します。 最小権限の原則に従い、コードが実際に必要とする権限だけを付与してください。
  • インストールフック はインストールまたはアップグレード時に実行されます。メタデータのマイグレーション前にプレインストールが実行されるため(リスクの高いアップグレードを拒否できます)、マイグレーション後にポストインストールが実行され(新しいスキーマに対してデフォルトデータを投入できます)。
インストールフックは logic function ランタイムを共有します。つまり、同じハンドラーシグネチャ、同じ環境変数、同じ型付き API クライアントを使用します。ただし、独自の define 関数で宣言され、通常のトリガーモデル(HTTP、cron、データベースイベント)とは別に存在します。