メインコンテンツまでスキップ
バージョン: 0.14.0 (最新)

📐 Invitation schemas

Invitation スキーマは招待オブジェクトと 4 つのパブリック Invitation ルートが受け入れる入力を検証します。

目録

エクスポートリクエスト場所契約
invitationSchemaN/A厳密な再利用可能な招待オブジェクト。
createInvitationSchemaボディ必須の JSON 招待作成ボディ。
getInvitationSchemaパス必須の招待 ID。
deleteInvitationSchemaパス必須の招待 ID。
findInvitationsSchemaクエリオプションのフィルターとページネーション。

詳細

invitationSchema

定義

再利用可能な厳密な招待入力形状で、完全な保存エンティティスキーマではありません。additionalProperties: false を持ち;以下のフィールドのみが createInvitationSchema によって展開される際に受け入れられます。createInvitation は検証後に設定された保留中 statusidcreatedAtupdatedAt のような基本エンティティフィールドを追加します;読み取りターミネーターは後でデータベース _id を削除します。ルートで使用: 直接使用なし。feature で使用: 直接使用なし。

場所フィールド必須制約
N/Aemailstringいいえemail 形式。
N/AfromIdentityIdstringいいえ招待者のアイデンティティ ID。
N/AorgIdstringいいえオrganization ID。
N/Arolestringいいえ招待ロール。
完全なソースを表示
export const invitationSchema: SchemaDefinition = {
$schema: 'http://json-schema.org/draft-07/schema#',
additionalProperties: false,
properties: {
email: {format: 'email', type: 'string'},
fromIdentityId: {type: 'string'},
orgId: {type: 'string'},
role: {type: 'string'},
},
type: 'object',
};

createInvitationSchema

定義

必須の OpenAPI application/json ボディは invitationSchema を展開し、additionalProperties: false を保持し、emailfromIdentityId を要求します。現在のボディバリデータはこのスキーマを直接選択し、着信 HTTP Content-Type を検査しません;解析されたボディを検証し、スキーマ失敗時に 400 Validation Error を報告します。ルートで使用: createInvitationRoutefeature で使用: createInvitationFeature

場所フィールド必須制約
ボディemailstringはいemail 形式。
ボディfromIdentityIdstringはい招待者のアイデンティティ ID。
ボディorgIdstringいいえオrganization ID。
ボディrolestringいいえ招待ロール。
完全なソースを表示
export const createInvitationSchema = withSchema({
requestBody: {
content: {
'application/json': {
schema: {
...invitationSchema,
required: ['email', 'fromIdentityId'],
},
},
},
required: true,
},
});

getInvitationSchema

定義

invitationId パスパラメータを検証します。ルートで使用: getInvitationByIdRoutefeature で使用: getInvitationFeature

場所フィールド必須制約
パスinvitationIdstringはい形式やパターンは適用されません。
完全なソースを表示
export const getInvitationSchema = withSchema({
parameters: [{...invitationIdPathParameter}],
});

deleteInvitationSchema

定義

invitationId パスパラメータを検証します。ルートで使用: deleteInvitationRoutefeature で使用: deleteInvitationFeature

場所フィールド必須制約
パスinvitationIdstringはい形式やパターンは適用されません。
完全なソースを表示
export const deleteInvitationSchema = withSchema({
parameters: [{...invitationIdPathParameter}],
});

findInvitationsSchema

定義

オプションの招待フィルターと共有ページネーションパラメータを展開します。ルートで使用: findInvitationsRoutefeature で使用: findInvitationsFeature

場所フィールド必須制約
クエリemailstringいいえemail 形式。
クエリfromIdentityIdstringいいえ招待者アイデンティティフィルター。
クエリorgIdstringいいえオrganization フィルター。
クエリrolestringいいえロールフィルター。
クエリpageintegerいいえ共有ページネーション、11000
クエリlimitintegerいいえ共有ページネーション、150

pagelimitpaginationQueryParametersSchema から来ます;ルートのページネーションラッパーはこれらを消費し、リストターミネーターはページネーションメタデータを公開します。

完全なソースを表示
export const findInvitationsSchema = withSchema({
parameters: [
{
in: 'query',
name: 'email',
required: false,
schema: {
format: 'email',
type: 'string',
},
},
{
in: 'query',
name: 'fromIdentityId',
required: false,
schema: {
type: 'string',
},
},
{
in: 'query',
name: 'orgId',
required: false,
schema: {
type: 'string',
},
},
{
in: 'query',
name: 'role',
required: false,
schema: {
type: 'string',
},
},
...paginationQueryParametersSchema,
],
});