diff --git a/package.json b/package.json index 7377f5a..d2efd03 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "moysklad-api-model", - "version": "0.3.0", + "version": "0.3.1", "description": "Объектная модель API МойСклад для TypeScript проектов", "main": "build/src/index.js", "types": "build/src/index.d.ts", diff --git a/src/model/Attribute.ts b/src/model/Attribute.ts index ed09f2f..feb6913 100644 --- a/src/model/Attribute.ts +++ b/src/model/Attribute.ts @@ -74,7 +74,11 @@ export type Attribute< } : AttributeBase -export type AttributePatch = Partial< - Pick, 'value'> -> & - EntityPatchRef<'attributemetadata'> +export type AttributePatch = + | (EntityPatchRef<'attributemetadata'> & { + file: { + filename: string + content: string + } + }) + | (EntityPatchRef<'attributemetadata'> & Partial, 'value'>>) diff --git a/src/model/utils/PrefilledDocument.ts b/src/model/utils/PrefilledDocument.ts index d1dbc2b..777fe40 100644 --- a/src/model/utils/PrefilledDocument.ts +++ b/src/model/utils/PrefilledDocument.ts @@ -7,6 +7,8 @@ import type { Expand } from './Expand' // TODO Указать конкретные типы документов которые можно создавать этим методом +// TODO Описать параметры необходимые для создания шаблона документа + // TODO API гибок и позволяет отправлять при создании объекта не обязательные // и лишние поля. В типах нельзя позволять такую вольность, хотя на практике // подобное может быть удобно. diff --git a/test/model/utils/Patch.test.ts b/test/model/utils/Patch.test.ts index bc769f9..47ed578 100644 --- a/test/model/utils/Patch.test.ts +++ b/test/model/utils/Patch.test.ts @@ -1,5 +1,6 @@ import type { Attribute, + AttributeType, CustomerOrder, CustomerOrderPatch, MetaType, @@ -66,7 +67,14 @@ t1.attributes = [ type: 'attributemetadata', href: '' }, - value: '' + value: '', + file: { filename: '', content: '' } + }, + { + meta: { + type: 'attributemetadata', + href: '' + } } ] @@ -77,6 +85,13 @@ t1.attributes = [ } ] +t1.attributes = [ + { + // @ts-expect-error + file: {} + } +] + t1.attributes = [ { meta: {