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

📐 Product スキーマ

Product スキーマは公開リクエスト契約と再利用可能な Product 形状を定義します。再利用可能な形状は、ソースで additionalProperties: false が設定されている場合に厳密です。以下のリクエスト契約はソースの位置と必須性を保持します。

一覧

エクスポートリクエスト位置契約
productSchema該当なし再利用可能な厳密オブジェクト形状。
createProductImageSchema本文ソース定義のリクエスト契約。
ProductImage該当なし公開 TypeScript 画像形状。
NormalizedProductImage該当なし公開 TypeScript 画像形状。
productVariantSchema該当なし再利用可能な厳密オブジェクト形状。
createProductSchema本文ソース定義のリクエスト契約。
updateProductSchemaパス、本文ソース定義のリクエスト契約。
createProductBatchSchema本文ソース定義のリクエスト契約。
updateProductBatchSchema本文ソース定義のリクエスト契約。
deleteProductBatchSchema本文ソース定義のリクエスト契約。
copyProductBatchSchema本文ソース定義のリクエスト契約。
getProductSchemaパスソース定義のリクエスト契約。
deleteProductSchemaパスソース定義のリクエスト契約。
copyProductSchemaパスソース定義のリクエスト契約。
findProductsSchemaクエリソース定義のリクエスト契約。
deleteProductImageSchemaパスソース定義のリクエスト契約。
createProductVariantSchemaパス、本文ソース定義のリクエスト契約。
getProductVariantSchemaパスソース定義のリクエスト契約。
updateProductVariantSchemaパス、本文ソース定義のリクエスト契約。
deleteProductVariantSchemaパスソース定義のリクエスト契約。
findProductVariantsSchemaパス、クエリソース定義のリクエスト契約。
createProductVariantBulkSchemaパス、本文ソース定義のリクエスト契約。
updateProductVariantBulkSchemaパス、本文ソース定義のリクエスト契約。
deleteProductVariantBulkSchemaパス、本文ソース定義のリクエスト契約。
getProductLikersSchemaパスソース定義のリクエスト契約。

詳細

productSchema

定義

このエクスポートは、ソースに基づくリクエストまたは再利用可能な検証形状を定義します。

位置フィールド必須制約
該当なしdescriptionstringいいえadditionalProperties: false.
該当なしnamestringいいえadditionalProperties: false.

使用ルート: なし

使用機能: なし

使用スキーマ: createProductSchema, updateProductSchema, createProductBatchSchema, updateProductBatchSchema.

完全なソースを表示
export const productSchema = {
$schema: 'http://json-schema.org/draft-07/schema#',
additionalProperties: false,
properties: {
description: { type: 'string' },
name: { type: 'string' },
},
type: 'object',
} as const satisfies SchemaDefinition;

createProductImageSchema

定義

このエクスポートは、ソースに基づくリクエストまたは再利用可能な検証形状を定義します。

位置フィールド必須制約
本文objectIdstringはいUUID 形式。JSON 本文が必要です。
本文typestringはいJSON 本文が必要です。厳密オブジェクトを継承します。

使用ルート: createProductImageRoute

使用機能: createProductImageFeature

完全なソースを表示
export const createProductImageSchema = withSchema({
requestBody: {
content: {
'application/json': {
schema: {
...productImageSchema,
required: ['objectId', 'type'],
},
},
},
required: true,
},
});

ProductImage

定義

このエクスポートされた TypeScript 形状は、保存済みまたは正規化済みの Product 画像データを表します。

位置フィールド必須制約
該当なしobjectIdstringはい保存済み画像オブジェクト識別子。
該当なしtypestringはい保存済み画像タイプ。

使用ルート: なし

使用機能: なし

完全なソースを表示
export type ProductImage = {
objectId: string;
type: string;
};

NormalizedProductImage

定義

このエクスポートされた TypeScript 形状は、保存済みまたは正規化済みの Product 画像データを表します。

位置フィールド必須制約
該当なしurlstringはい公開正規化 URL。
該当なしtypestringはい画像タイプ。

使用ルート: なし

使用機能: なし

完全なソースを表示
export type NormalizedProductImage = {
url: string;
type: string;
};

productVariantSchema

定義

このエクスポートは、ソースに基づくリクエストまたは再利用可能な検証形状を定義します。

位置フィールド必須制約
該当なしdescriptionstringいいえadditionalProperties: false.
該当なしimageIdsstring[]いいえ配列項目は文字列です。
該当なしprice.amountnumberいいえネストした price オブジェクトは厳密です。
該当なしprice.currencystringいいえネストした price オブジェクトは厳密です。
該当なしprice.taxIncludedbooleanいいえネストした price オブジェクトは厳密です。
該当なしprice.taxablebooleanいいえネストした price オブジェクトは厳密です。
該当なしskustringいいえ厳密な再利用可能形状。
該当なしtitlestringいいえ厳密な再利用可能形状。

使用ルート: なし

使用機能: なし

使用スキーマ: createProductVariantSchema, updateProductVariantSchema, createProductVariantBulkSchema, updateProductVariantBulkSchema.

完全なソースを表示
export const productVariantSchema: SchemaDefinition = {
$schema: 'http://json-schema.org/draft-07/schema#',
additionalProperties: false,
properties: {
description: { type: 'string' },
// TODO: Go back and add images to update product schema and update here to follow same structure
imageIds: {
items: { type: 'string' },
type: 'array',
},
price: {
additionalProperties: false,
properties: {
amount: { type: 'number' },
currency: { type: 'string' },
taxIncluded: { type: 'boolean' },
taxable: { type: 'boolean' },
},
type: 'object',
},
sku: { type: 'string' },
title: { type: 'string' },
},
type: 'object',
};

createProductSchema

定義

このエクスポートは、ソースに基づくリクエストまたは再利用可能な検証形状を定義します。

位置フィールド必須制約
本文descriptionstringはいJSON 本文が必要です。productSchema から継承します。
本文namestringはいJSON 本文が必要です。productSchema から継承します。

使用ルート: createProductRoute

使用機能: createProductFeature

完全なソースを表示
export const createProductSchema = withSchema({
requestBody: {
content: {
'application/json': {
schema: {
...productSchema,
required: ['name', 'description'],
},
},
},
required: true,
},
});

updateProductSchema

定義

このエクスポートは、ソースに基づくリクエストまたは再利用可能な検証形状を定義します。

位置フィールド必須制約
パスproductIdstringはい共有パスパラメーター。
本文descriptionstringいいえJSON 本文自体が必須です。厳密な Product 形状。
本文namestringいいえJSON 本文自体が必須です。厳密な Product 形状。

使用ルート: updateProductRoute

使用機能: editProductFeatures

完全なソースを表示
export const updateProductSchema = withSchema({
parameters: [{ ...productIdPathParameter }],
requestBody: {
content: {
'application/json': {
schema: {
...productSchema,
required: [],
},
},
},
required: true,
},
});

createProductBatchSchema

定義

このエクスポートは、ソースに基づくリクエストまたは再利用可能な検証形状を定義します。

位置フィールド必須制約
本文[]Product[]はいJSON 配列。厳密な productSchema を使用し、各項目には namedescription が必要です。

使用ルート: createProductBatchRoute

使用機能: createProductBatchFeature

完全なソースを表示
export const createProductBatchSchema = withSchema({
requestBody: {
content: {
'application/json': {
schema: {
$schema: 'http://json-schema.org/draft-07/schema#',
items: {
...productSchema,
required: ['name', 'description'],
},
type: 'array',
},
},
},
required: true,
},
});

updateProductBatchSchema

定義

このエクスポートは、ソースに基づくリクエストまたは再利用可能な検証形状を定義します。

位置フィールド必須制約
本文idsstring[]はいarrayOfStringsSchema
本文dataProductはい必須フィールドのない厳密な productSchema

使用ルート: updateProductBatchRoute

使用機能: editProductBatchFeatures

完全なソースを表示
export const updateProductBatchSchema = withSchema({
requestBody: {
content: {
'application/json': {
schema: {
$schema: 'http://json-schema.org/draft-07/schema#',
additionalProperties: false,
properties: {
data: { ...productSchema, required: [] },
ids: { ...arrayOfStringsSchema },
},
required: ['ids', 'data'],
type: 'object',
},
},
},
required: true,
},
});

deleteProductBatchSchema

定義

このエクスポートは、ソースに基づくリクエストまたは再利用可能な検証形状を定義します。

位置フィールド必須制約
本文[]string[]はいarrayOfStringsSchema。JSON 本文が必要です。

使用ルート: deleteProductBatchRoute

使用機能: deleteProductBatchFeatures

完全なソースを表示
export const deleteProductBatchSchema = withSchema({
requestBody: {
content: {
'application/json': {
schema: {
...arrayOfStringsSchema,
},
},
},
required: true,
},
});

copyProductBatchSchema

定義

このエクスポートは、ソースに基づくリクエストまたは再利用可能な検証形状を定義します。

位置フィールド必須制約
本文[]string[]はいarrayOfStringsSchema。JSON 本文が必要です。

使用ルート: copyProductBatchRoute

使用機能: copyProductBatchFeatures

完全なソースを表示
export const copyProductBatchSchema = withSchema({
requestBody: {
content: {
'application/json': {
schema: {
...arrayOfStringsSchema,
},
},
},
required: true,
},
});

getProductSchema

定義

このエクスポートは、ソースに基づくリクエストまたは再利用可能な検証形状を定義します。

位置フィールド必須制約
パスproductIdstringはい共有パスパラメーター。

使用ルート: getProductRoute

使用機能: getProductFeatures

完全なソースを表示
export const getProductSchema = withSchema({
parameters: [{ ...productIdPathParameter }],
});

deleteProductSchema

定義

このエクスポートは、ソースに基づくリクエストまたは再利用可能な検証形状を定義します。

位置フィールド必須制約
パスproductIdstringはい共有パスパラメーター。

使用ルート: deleteProductRoute

使用機能: deleteProductFeatures

完全なソースを表示
export const deleteProductSchema = withSchema({
parameters: [{ ...productIdPathParameter }],
});

copyProductSchema

定義

このエクスポートは、ソースに基づくリクエストまたは再利用可能な検証形状を定義します。

位置フィールド必須制約
パスproductIdstringはい共有パスパラメーター。

使用ルート: copyProductRoute

使用機能: copyProductFeatures

完全なソースを表示
export const copyProductSchema = withSchema({
parameters: [{ ...productIdPathParameter }],
});

findProductsSchema

定義

このエクスポートは、ソースに基づくリクエストまたは再利用可能な検証形状を定義します。

位置フィールド必須制約
クエリnamestringいいえProduct 名フィルター。
クエリdescriptionstringいいえProduct 説明フィルター。
クエリpagination parameters共有いいえpaginationQueryParametersSchema から展開。

使用ルート: findProductsRoute

使用機能: findProductsFeatures

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

deleteProductImageSchema

定義

このエクスポートは、ソースに基づくリクエストまたは再利用可能な検証形状を定義します。

位置フィールド必須制約
パスproductIdstringはい共有パスパラメーター。
パスimageIdstringはい共有パスパラメーター。

使用ルート: deleteProductImageRoute

使用機能: deleteProductImageFeature

完全なソースを表示
export const deleteProductImageSchema = withSchema({
parameters: [{ ...productIdPathParameter }, { ...imageIdPathParameter }],
});

createProductVariantSchema

定義

このエクスポートは、ソースに基づくリクエストまたは再利用可能な検証形状を定義します。

位置フィールド必須制約
パスproductIdstringはい共有パスパラメーター。
本文titlestringはいJSON 本文が必要です。厳密なバリアント形状。
本文description, imageIds, price, skuVariant fieldsいいえproductVariantSchema から継承します。

使用ルート: createProductVariantRoute

使用機能: createProductVariantFeature

完全なソースを表示
export const createProductVariantSchema = withSchema({
parameters: [{ ...productIdPathParameter }],
requestBody: {
content: {
'application/json': {
schema: {
...productVariantSchema,
required: ['title'],
},
},
},
required: true,
},
});

getProductVariantSchema

定義

このエクスポートは、ソースに基づくリクエストまたは再利用可能な検証形状を定義します。

位置フィールド必須制約
パスproductIdstringはい共有パスパラメーター。
パスproductVariantIdstringはい共有パスパラメーター。

使用ルート: getProductVariantRoute

使用機能: getProductVariantFeature

完全なソースを表示
export const getProductVariantSchema = withSchema({
parameters: [
{ ...productIdPathParameter },
{ ...productVariantIdPathParameter },
],
});

updateProductVariantSchema

定義

このエクスポートは、ソースに基づくリクエストまたは再利用可能な検証形状を定義します。

位置フィールド必須制約
パスproductIdstringはい共有パスパラメーター。
パスproductVariantIdstringはい共有パスパラメーター。
本文variant fieldsproductVariantSchemaいいえ本文は操作内に存在しますが、requestBody.required は省略されています。

使用ルート: updateProductVariantRoute

使用機能: updateProductVariantFeature

完全なソースを表示
export const updateProductVariantSchema = withSchema({
parameters: [
{ ...productIdPathParameter },
{ ...productVariantIdPathParameter },
],
requestBody: {
content: {
'application/json': {
schema: {
...productVariantSchema,
required: [],
},
},
},
},
});

deleteProductVariantSchema

定義

このエクスポートは、ソースに基づくリクエストまたは再利用可能な検証形状を定義します。

位置フィールド必須制約
パスproductIdstringはい共有パスパラメーター。
パスproductVariantIdstringはい共有パスパラメーター。

使用ルート: deleteProductVariantRoute

使用機能: deleteProductVariantFeature

完全なソースを表示
export const deleteProductVariantSchema = withSchema({
parameters: [
{ ...productIdPathParameter },
{ ...productVariantIdPathParameter },
],
});

findProductVariantsSchema

定義

このエクスポートは、ソースに基づくリクエストまたは再利用可能な検証形状を定義します。

位置フィールド必須制約
パスproductIdstringはい共有パスパラメーター。
クエリpagination parameters共有いいえpaginationQueryParametersSchema から展開。

使用ルート: findProductVariantsRoute

使用機能: findProductVariantsFeature

完全なソースを表示
export const findProductVariantsSchema = withSchema({
parameters: [
{ ...productIdPathParameter },
...paginationQueryParametersSchema,
],
});

createProductVariantBulkSchema

定義

このエクスポートは、ソースに基づくリクエストまたは再利用可能な検証形状を定義します。

位置フィールド必須制約
パスproductIdstringはい共有パスパラメーター。
本文[]ProductVariant[]はいJSON 配列、1~100 項目。各項目には title が必要です。

使用ルート: createProductVariantBulkRoute

使用機能: createProductVariantBulkFeature

完全なソースを表示
export const createProductVariantBulkSchema = withSchema({
parameters: [{ ...productIdPathParameter }],
requestBody: {
content: {
'application/json': {
schema: {
$schema: 'http://json-schema.org/draft-07/schema#',
items: {
...productVariantSchema,
required: ['title'],
},
maxItems: 100,
minItems: 1,
type: 'array',
},
},
},
required: true,
},
});

updateProductVariantBulkSchema

定義

このエクスポートは、ソースに基づくリクエストまたは再利用可能な検証形状を定義します。

位置フィールド必須制約
パスproductIdstringはい共有パスパラメーター。
本文idsstring[]はいarrayOfStringsSchema、1~100 項目。
本文dataobjectはいバリアントプロパティ。必須のネストフィールドはありません。

使用ルート: updateProductVariantBulkRoute

使用機能: updateProductVariantBulkFeature

完全なソースを表示
export const updateProductVariantBulkSchema = withSchema({
parameters: [{ ...productIdPathParameter }],
requestBody: {
content: {
'application/json': {
schema: {
...productVariantSchema,
properties: {
data: {
properties: { ...productVariantSchema.properties },
required: [],
type: 'object',
},
ids: { ...arrayOfStringsSchema, maxItems: 100, minItems: 1 },
},
required: ['ids', 'data'],
},
},
},
},
});

deleteProductVariantBulkSchema

定義

このエクスポートは、ソースに基づくリクエストまたは再利用可能な検証形状を定義します。

位置フィールド必須制約
パスproductIdstringはい共有パスパラメーター。
本文[]string[]はいarrayOfStringsSchema、1~100 項目。

使用ルート: deleteProductVariantBulkRoute

使用機能: deleteProductVariantBulkFeature

完全なソースを表示
export const deleteProductVariantBulkSchema = withSchema({
parameters: [{ ...productIdPathParameter }],
requestBody: {
content: {
'application/json': {
schema: {
...arrayOfStringsSchema,
maxItems: 100,
minItems: 1,
},
},
},
required: true,
},
});

getProductLikersSchema

定義

このエクスポートは、ソースに基づくリクエストまたは再利用可能な検証形状を定義します。

位置フィールド必須制約
パスproductIdstringはい共有パスパラメーター。

使用ルート: getProductLikersRoute

使用機能: getProductLikersFeature

完全なソースを表示
export const getProductLikersSchema = withSchema({
parameters: [{ ...productIdPathParameter }],
});