メインコンテンツまでスキップ
バージョン: 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 を使用し、各項目には name と description が必要です。

使用ルート: 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 }],
});