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

📐 アバタースキーマ

アバターは、オーナースキーマとアバターブロックによって消費される保存済みファイル参照のための1つの再利用可能なスキーマを提供します。これは {type, url} を公開する正規化された応答の形状ではありません。

インベントリ

エクスポート要求の場所契約
avatarSchemaN/A — 再利用可能な保存オブジェクトUUID形式の文字列 objectId と文字列 type を必要とし、追加のプロパティを拒否します。プロフィール作成および更新要求スキーマによって使用されます。

詳細

avatarSchema

定義を表示

{objectId, type} の形状の値を永続化します。objectId はバリデーターの uuid フォーマットを使用する必要があり、type は任意の文字列です。このスキーマはMIMEタイプの許可リストに制約しません。additionalPropertiesfalse であるため、保存された参照には追加フィールドを含めることはできません。アバターを持たないオーナーは包含されるスキーマで null を許可する必要があります。プロフィールスキーマ の1つの消費者です。応答する前に、normalizeAvatarOfOwner または normalizeAvatarsOfOwners を使用して objectId を署名付き url に置換します。

場所フィールドタイプ必須制約
N/A — 保存オブジェクトobjectIdstringはいuuid フォーマット
N/A — 保存オブジェクトtypestringはいMIMEタイプのenumやパターンは適用されません

additionalPropertiesfalse です。このスキーマはプロフィールの profileSchema および updateProfileSchema によって oneOf: [avatarSchema, {type: 'null'}] として合成されるため、アバター自体はそれらの包含される要求本体で任意であり、null でも構いません。

フィーチャで使用: プロフィールの createProfileFeature および updateProfileFeature

ルートで使用: POST /profiles および PATCH /profiles/:profileId

完全なソースを表示
export const avatarSchema: SchemaDefinition = {
additionalProperties: false,
properties: {
objectId: { format: 'uuid', type: 'string' },
type: { type: 'string' },
},
required: ['objectId', 'type'],
type: 'object',
};