@innvoid/getmarket-contracts 0.1.5 → 0.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/auth.cjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/auth.ts"],"sourcesContent":["import type {UID, Code, RefBase, BulkUidsRequest, BulkRefsResponse} from \"./common\";\n\n/**\n * AUTH is SoT for identity, org structure and access.\n */\n\nexport type AuthUserRef = RefBase & {\n uid: UID; // auth_user_uid\n document_value?: string | null;\n document_type_id?: number | null;\n};\n\nexport type AuthEmployeeRef = RefBase & {\n uid: UID; // auth_employee_uid\n user_uid?: UID | null;\n email?: string | null;\n};\n\nexport type AuthCustomerRef = RefBase & {\n uid: UID; // auth_customer_uid\n user_uid?: UID | null;\n email?: string | null;\n};\n\nexport type AuthCompanyRef = RefBase & {\n uid: UID; // auth_company_uid\n document_value?: string | null;\n document_type_id?: number | null;\n fantasy_name?: string | null;\n status?: number | null;\n};\n\nexport type AuthBranchRef = RefBase & {\n uid: UID; // auth_branch_uid\n company_uid: UID;\n status?: number | null;\n};\n\nexport type AuthRoleRef = RefBase & {\n uid: UID;\n slug?: Code;\n};\n\nexport type AuthPermissionRef = RefBase & {\n uid: UID;\n slug?: Code;\n};\n\n// Bulk refs endpoints (internal)\nexport type AuthEmployeesRefsRequest = BulkUidsRequest;\nexport type AuthEmployeesRefsResponse = BulkRefsResponse<AuthEmployeeRef>;\n\nexport type AuthUsersRefsRequest = BulkUidsRequest;\nexport type AuthUsersRefsResponse = BulkRefsResponse<AuthUserRef>;\n\nexport type AuthCustomersRefsRequest = BulkUidsRequest;\nexport type AuthCustomersRefsResponse = BulkRefsResponse<AuthCustomerRef>;\n\nexport type AuthCompaniesRefsRequest = BulkUidsRequest;\nexport type AuthCompaniesRefsResponse = BulkRefsResponse<AuthCompanyRef>;\n\nexport type AuthBranchesRefsRequest = BulkUidsRequest;\nexport type AuthBranchesRefsResponse = BulkRefsResponse<AuthBranchRef>;\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
1
+ {"version":3,"sources":["../src/auth.ts"],"sourcesContent":["// packages/contracts/src/auth.ts\nimport type {UID, Code, RefBase, BulkUidsRequest, BulkRefsResponse} from \"./common\";\n\n/**\n * AUTH is SoT for identity, org structure and access.\n */\n\nexport type AuthUserRef = RefBase & {\n uid: UID; // auth_user_uid\n document_value?: string | null;\n document_type_id?: number | null;\n};\n\nexport type AuthEmployeeRef = RefBase & {\n uid: UID; // auth_employee_uid\n user_uid?: UID | null;\n email?: string | null;\n};\n\nexport type AuthCustomerRef = RefBase & {\n uid: UID; // auth_customer_uid\n user_uid?: UID | null;\n email?: string | null;\n};\n\nexport type AuthCompanyRef = RefBase & {\n uid: UID; // auth_company_uid\n document_value?: string | null;\n document_type_id?: number | null;\n fantasy_name?: string | null;\n status?: number | null;\n};\n\nexport type AuthBranchRef = RefBase & {\n uid: UID; // auth_branch_uid\n company_uid: UID;\n status?: number | null;\n};\n\nexport type AuthRoleRef = RefBase & {\n uid: UID;\n slug?: Code;\n};\n\nexport type AuthPermissionRef = RefBase & {\n uid: UID;\n slug?: Code;\n};\n\n// Bulk refs endpoints (internal)\nexport type AuthEmployeesRefsRequest = BulkUidsRequest;\nexport type AuthEmployeesRefsResponse = BulkRefsResponse<AuthEmployeeRef>;\n\nexport type AuthUsersRefsRequest = BulkUidsRequest;\nexport type AuthUsersRefsResponse = BulkRefsResponse<AuthUserRef>;\n\nexport type AuthCustomersRefsRequest = BulkUidsRequest;\nexport type AuthCustomersRefsResponse = BulkRefsResponse<AuthCustomerRef>;\n\nexport type AuthCompaniesRefsRequest = BulkUidsRequest;\nexport type AuthCompaniesRefsResponse = BulkRefsResponse<AuthCompanyRef>;\n\nexport type AuthBranchesRefsRequest = BulkUidsRequest;\nexport type AuthBranchesRefsResponse = BulkRefsResponse<AuthBranchRef>;\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/common.ts"],"sourcesContent":["// primitives (small, reusable)\nexport type UID = string;\nexport type Code = string;\n\nexport type RefBase = {\n uid: UID;\n code?: Code;\n name?: string;\n};\n\n/**\n * Common bulk request/response for internal refs endpoints.\n *\n * Convention:\n * - Request: { uids: [...] }\n * - Response: { ok:true, refs:[...] }\n */\nexport type BulkUidsRequest = {\n uids: UID[];\n};\n\n/**\n * Standard response for internal/bulk refs endpoints.\n *\n * Canonical field is `refs`.\n * - `items` is kept as an optional alias for backward compatibility.\n */\nexport type BulkRefsResponse<T> = {\n ok: true;\n\n /** Canonical payload */\n refs: T[];\n\n /** Backward-compatible alias (avoid using in new code) */\n items?: T[];\n\n /** Optional diagnostics */\n meta?: {\n requested?: number;\n returned?: number;\n missing?: UID[];\n };\n};\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
1
+ {"version":3,"sources":["../src/common.ts"],"sourcesContent":["// packages/contracts/src/common.ts\n\n// primitives (small, reusable)\nexport type UID = string;\nexport type Code = string;\n\nexport type RefBase = {\n uid: UID;\n code?: Code;\n name?: string;\n};\n\n/**\n * Common bulk request/response for internal refs endpoints.\n *\n * Convention:\n * - Request: { uids: [...] }\n * - Response: { ok:true, refs:[...] }\n */\nexport type BulkUidsRequest = {\n uids: UID[];\n};\n\n/**\n * Standard response for internal/bulk refs endpoints.\n *\n * Canonical field is `refs`.\n * - `items` is kept as an optional alias for backward compatibility.\n */\nexport type BulkRefsResponse<T> = {\n ok: true;\n\n /** Canonical payload */\n refs: T[];\n\n /** Backward-compatible alias (avoid using in new code) */\n items?: T[];\n\n /** Optional diagnostics */\n meta?: {\n requested?: number;\n returned?: number;\n missing?: UID[];\n };\n};\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
package/dist/fis.cjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/fis.ts"],"sourcesContent":["import type {UID, Code, RefBase, BulkUidsRequest, BulkRefsResponse} from \"./common\";\n\n/**\n * FISCAL is SoT for taxes/compliance.\n * Must reference md_country_code/region codes from master-data.\n */\n\nexport type FisTaxRef = RefBase & {\n uid: UID; // fis_tax_uid\n code?: Code; // IVA_CL, VAT, etc.\n name?: string;\n rate?: number; // 0.19\n md_country_code?: Code; // CL\n md_region_code?: Code; // optional\n status?: \"ACTIVE\" | \"INACTIVE\" | string;\n};\n\nexport type FisTaxesRefsRequest = BulkUidsRequest;\nexport type FisTaxesRefsResponse = BulkRefsResponse<FisTaxRef>;\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
1
+ {"version":3,"sources":["../src/fis.ts"],"sourcesContent":["// packages/contracts/src/fis.ts\nimport type {UID, Code, RefBase, BulkUidsRequest, BulkRefsResponse} from \"./common\";\n\n/**\n * FISCAL is SoT for taxes/compliance.\n * Must reference md_country_code/region codes from master-data.\n */\n\nexport type FisTaxRef = RefBase & {\n uid: UID; // fis_tax_uid\n code?: Code; // IVA_CL, VAT, etc.\n name?: string;\n rate?: number; // 0.19\n md_country_code?: Code; // CL\n md_region_code?: Code; // optional\n status?: \"ACTIVE\" | \"INACTIVE\" | string;\n};\n\nexport type FisTaxesRefsRequest = BulkUidsRequest;\nexport type FisTaxesRefsResponse = BulkRefsResponse<FisTaxRef>;\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../src/headers.ts"],"sourcesContent":["export * from \"./common\";\nexport * from \"./auth\";\nexport * from \"./platform\";\nexport * from \"./md\";\nexport * from \"./res\";\nexport * from \"./fis\";\nexport * from \"./headers\";\n","// packages/contracts/src/headers.ts\nexport type HeadersLike =\n | Record<string, string | string[] | undefined>\n | { [k: string]: any };\n\nfunction getHeader(h: HeadersLike, name: string): string | null {\n const v = (h as any)?.[name] ?? (h as any)?.[name.toLowerCase()];\n if (Array.isArray(v)) return String(v[0] ?? \"\").trim() || null;\n const s = String(v ?? \"\").trim();\n return s.length ? s : null;\n}\n\n/**\n * Lee auth_company_uid desde headers.\n * Estándar: x-company\n * Compatibles (por si acaso): x-company-uid, x-auth-company-uid\n */\nexport function getCompanyUidFromHeaders(headers: HeadersLike): string | null {\n return (\n getHeader(headers, \"x-company\") ||\n getHeader(headers, \"x-company-uid\") ||\n getHeader(headers, \"x-auth-company-uid\") ||\n null\n );\n}\n\n/**\n * Lee auth_branch_uid desde headers (si aplica).\n * Estándar: x-branch\n */\nexport function getBranchUidFromHeaders(headers: HeadersLike): string | null {\n return (\n getHeader(headers, \"x-branch\") ||\n getHeader(headers, \"x-branch-uid\") ||\n getHeader(headers, \"x-auth-branch-uid\") ||\n null\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACKA,SAAS,UAAU,GAAgB,MAA6B;AAC5D,QAAM,IAAK,IAAY,IAAI,KAAM,IAAY,KAAK,YAAY,CAAC;AAC/D,MAAI,MAAM,QAAQ,CAAC,EAAG,QAAO,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,KAAK;AAC1D,QAAM,IAAI,OAAO,KAAK,EAAE,EAAE,KAAK;AAC/B,SAAO,EAAE,SAAS,IAAI;AAC1B;AAOO,SAAS,yBAAyB,SAAqC;AAC1E,SACI,UAAU,SAAS,WAAW,KAC9B,UAAU,SAAS,eAAe,KAClC,UAAU,SAAS,oBAAoB,KACvC;AAER;AAMO,SAAS,wBAAwB,SAAqC;AACzE,SACI,UAAU,SAAS,UAAU,KAC7B,UAAU,SAAS,cAAc,KACjC,UAAU,SAAS,mBAAmB,KACtC;AAER;","names":[]}
1
+ {"version":3,"sources":["../src/index.ts","../src/headers.ts"],"sourcesContent":["// packages/contracts/src/index.ts\nexport * from \"./common\";\nexport * from \"./auth\";\nexport * from \"./platform\";\nexport * from \"./md\";\nexport * from \"./res\";\nexport * from \"./fis\";\nexport * from \"./headers\";\n","// packages/contracts/src/headers.ts\nexport type HeadersLike =\n | Record<string, string | string[] | undefined>\n | { [k: string]: any };\n\nfunction getHeader(h: HeadersLike, name: string): string | null {\n const v = (h as any)?.[name] ?? (h as any)?.[name.toLowerCase()];\n if (Array.isArray(v)) return String(v[0] ?? \"\").trim() || null;\n const s = String(v ?? \"\").trim();\n return s.length ? s : null;\n}\n\n/**\n * Lee auth_company_uid desde headers.\n * Estándar: x-company\n * Compatibles (por si acaso): x-company-uid, x-auth-company-uid\n */\nexport function getCompanyUidFromHeaders(headers: HeadersLike): string | null {\n return (\n getHeader(headers, \"x-company\") ||\n getHeader(headers, \"x-company-uid\") ||\n getHeader(headers, \"x-auth-company-uid\") ||\n null\n );\n}\n\n/**\n * Lee auth_branch_uid desde headers (si aplica).\n * Estándar: x-branch\n */\nexport function getBranchUidFromHeaders(headers: HeadersLike): string | null {\n return (\n getHeader(headers, \"x-branch\") ||\n getHeader(headers, \"x-branch-uid\") ||\n getHeader(headers, \"x-auth-branch-uid\") ||\n null\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACKA,SAAS,UAAU,GAAgB,MAA6B;AAC5D,QAAM,IAAK,IAAY,IAAI,KAAM,IAAY,KAAK,YAAY,CAAC;AAC/D,MAAI,MAAM,QAAQ,CAAC,EAAG,QAAO,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,KAAK;AAC1D,QAAM,IAAI,OAAO,KAAK,EAAE,EAAE,KAAK;AAC/B,SAAO,EAAE,SAAS,IAAI;AAC1B;AAOO,SAAS,yBAAyB,SAAqC;AAC1E,SACI,UAAU,SAAS,WAAW,KAC9B,UAAU,SAAS,eAAe,KAClC,UAAU,SAAS,oBAAoB,KACvC;AAER;AAMO,SAAS,wBAAwB,SAAqC;AACzE,SACI,UAAU,SAAS,UAAU,KAC7B,UAAU,SAAS,cAAc,KACjC,UAAU,SAAS,mBAAmB,KACtC;AAER;","names":[]}
package/dist/index.d.cts CHANGED
@@ -1,7 +1,7 @@
1
1
  export { BulkRefsResponse, BulkUidsRequest, Code, RefBase, UID } from './common.cjs';
2
2
  export { AuthBranchRef, AuthBranchesRefsRequest, AuthBranchesRefsResponse, AuthCompaniesRefsRequest, AuthCompaniesRefsResponse, AuthCompanyRef, AuthCustomerRef, AuthCustomersRefsRequest, AuthCustomersRefsResponse, AuthEmployeeRef, AuthEmployeesRefsRequest, AuthEmployeesRefsResponse, AuthPermissionRef, AuthRoleRef, AuthUserRef, AuthUsersRefsRequest, AuthUsersRefsResponse } from './auth.cjs';
3
3
  export { PlatformResolveTenantResponse, PlatformTenantResolved } from './platform.cjs';
4
- export { MdCommuneRef, MdCommunesRefsRequest, MdCommunesRefsResponse, MdCountriesRefsRequest, MdCountriesRefsResponse, MdCountryRef, MdCurrenciesRefsRequest, MdCurrenciesRefsResponse, MdCurrencyRef, MdRegionRef, MdRegionsRefsRequest, MdRegionsRefsResponse, MdUnitRef, MdUnitsRefsRequest, MdUnitsRefsResponse } from './md.cjs';
5
- export { ResAttributeOptionRef, ResAttributeRef, ResCategoryRef, ResResourceRef, ResResourcesRefsRequest, ResResourcesRefsResponse, ResVarietiesRefsRequest, ResVarietiesRefsResponse, ResVarietyRef } from './res.cjs';
4
+ export { MdCommuneRef, MdCommunesRefsRequest, MdCommunesRefsResponse, MdCountriesRefsRequest, MdCountriesRefsResponse, MdCountryRef, MdCurrenciesRefsRequest, MdCurrenciesRefsResponse, MdCurrencyRef, MdMeasureRef, MdMeasureTypeRef, MdMeasureTypesRefsRequest, MdMeasureTypesRefsResponse, MdMeasuresRefsRequest, MdMeasuresRefsResponse, MdRegionRef, MdRegionsRefsRequest, MdRegionsRefsResponse, MdUnitRef, MdUnitsRefsRequest, MdUnitsRefsResponse } from './md.cjs';
5
+ export { ResAttributeMeasureTypeRef, ResAttributeOptionRef, ResAttributeOptionsRefsRequest, ResAttributeOptionsRefsResponse, ResAttributeRef, ResAttributeType, ResAttributeValueRef, ResAttributeValuesRefsRequest, ResAttributeValuesRefsResponse, ResAttributesRefsRequest, ResAttributesRefsResponse, ResCategoryRef, ResResourceRef, ResResourcesRefsRequest, ResResourcesRefsResponse, ResVarietiesRefsRequest, ResVarietiesRefsResponse, ResVarietyRef } from './res.cjs';
6
6
  export { FisTaxRef, FisTaxesRefsRequest, FisTaxesRefsResponse } from './fis.cjs';
7
7
  export { HeadersLike, getBranchUidFromHeaders, getCompanyUidFromHeaders } from './headers.cjs';
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  export { BulkRefsResponse, BulkUidsRequest, Code, RefBase, UID } from './common.js';
2
2
  export { AuthBranchRef, AuthBranchesRefsRequest, AuthBranchesRefsResponse, AuthCompaniesRefsRequest, AuthCompaniesRefsResponse, AuthCompanyRef, AuthCustomerRef, AuthCustomersRefsRequest, AuthCustomersRefsResponse, AuthEmployeeRef, AuthEmployeesRefsRequest, AuthEmployeesRefsResponse, AuthPermissionRef, AuthRoleRef, AuthUserRef, AuthUsersRefsRequest, AuthUsersRefsResponse } from './auth.js';
3
3
  export { PlatformResolveTenantResponse, PlatformTenantResolved } from './platform.js';
4
- export { MdCommuneRef, MdCommunesRefsRequest, MdCommunesRefsResponse, MdCountriesRefsRequest, MdCountriesRefsResponse, MdCountryRef, MdCurrenciesRefsRequest, MdCurrenciesRefsResponse, MdCurrencyRef, MdRegionRef, MdRegionsRefsRequest, MdRegionsRefsResponse, MdUnitRef, MdUnitsRefsRequest, MdUnitsRefsResponse } from './md.js';
5
- export { ResAttributeOptionRef, ResAttributeRef, ResCategoryRef, ResResourceRef, ResResourcesRefsRequest, ResResourcesRefsResponse, ResVarietiesRefsRequest, ResVarietiesRefsResponse, ResVarietyRef } from './res.js';
4
+ export { MdCommuneRef, MdCommunesRefsRequest, MdCommunesRefsResponse, MdCountriesRefsRequest, MdCountriesRefsResponse, MdCountryRef, MdCurrenciesRefsRequest, MdCurrenciesRefsResponse, MdCurrencyRef, MdMeasureRef, MdMeasureTypeRef, MdMeasureTypesRefsRequest, MdMeasureTypesRefsResponse, MdMeasuresRefsRequest, MdMeasuresRefsResponse, MdRegionRef, MdRegionsRefsRequest, MdRegionsRefsResponse, MdUnitRef, MdUnitsRefsRequest, MdUnitsRefsResponse } from './md.js';
5
+ export { ResAttributeMeasureTypeRef, ResAttributeOptionRef, ResAttributeOptionsRefsRequest, ResAttributeOptionsRefsResponse, ResAttributeRef, ResAttributeType, ResAttributeValueRef, ResAttributeValuesRefsRequest, ResAttributeValuesRefsResponse, ResAttributesRefsRequest, ResAttributesRefsResponse, ResCategoryRef, ResResourceRef, ResResourcesRefsRequest, ResResourcesRefsResponse, ResVarietiesRefsRequest, ResVarietiesRefsResponse, ResVarietyRef } from './res.js';
6
6
  export { FisTaxRef, FisTaxesRefsRequest, FisTaxesRefsResponse } from './fis.js';
7
7
  export { HeadersLike, getBranchUidFromHeaders, getCompanyUidFromHeaders } from './headers.js';
package/dist/md.cjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/md.ts"],"sourcesContent":["import type {UID, Code, RefBase, BulkUidsRequest, BulkRefsResponse} from \"./common\";\n\n/**\n * Master-Data service is SoT for shared reference tables.\n */\n\nexport type MdCountryRef = RefBase & {\n uid: UID; // md_country_uid (optional if you use code as natural key)\n code: Code; // ISO\n};\n\nexport type MdRegionRef = RefBase & {\n uid: UID;\n code?: Code;\n country_code?: Code;\n};\n\nexport type MdCommuneRef = RefBase & {\n uid: UID;\n code?: Code;\n region_uid?: UID;\n};\n\nexport type MdUnitRef = RefBase & {\n uid: UID;\n code: Code; // e.g. KG, LT\n dimension?: string;\n};\n\nexport type MdCurrencyRef = RefBase & {\n uid: UID;\n code: Code; // ISO\n symbol?: string;\n};\n\nexport type MdCountriesRefsRequest = BulkUidsRequest;\nexport type MdCountriesRefsResponse = BulkRefsResponse<MdCountryRef>;\n\nexport type MdRegionsRefsRequest = BulkUidsRequest;\nexport type MdRegionsRefsResponse = BulkRefsResponse<MdRegionRef>;\n\nexport type MdCommunesRefsRequest = BulkUidsRequest;\nexport type MdCommunesRefsResponse = BulkRefsResponse<MdCommuneRef>;\n\nexport type MdUnitsRefsRequest = BulkUidsRequest;\nexport type MdUnitsRefsResponse = BulkRefsResponse<MdUnitRef>;\n\nexport type MdCurrenciesRefsRequest = BulkUidsRequest;\nexport type MdCurrenciesRefsResponse = BulkRefsResponse<MdCurrencyRef>;\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
1
+ {"version":3,"sources":["../src/md.ts"],"sourcesContent":["// packages/contracts/src/md.ts\nimport type {UID, Code, RefBase, BulkUidsRequest, BulkRefsResponse} from \"./common\";\n\n/**\n * Master-Data service is SoT for shared reference tables.\n *\n * Nota:\n * - Antes modelábamos unidades como MdUnitRef (code=KG/LT/…).\n * - Ahora estandarizamos a “Measure” (tu tabla measure) + “MeasureType”.\n * - Para no romper, MdUnitRef se mantiene como alias de MdMeasureRef.\n */\n\nexport type MdCountryRef = RefBase & {\n uid: UID;\n code: Code; // ISO\n};\n\nexport type MdRegionRef = RefBase & {\n uid: UID;\n code?: Code;\n country_code?: Code;\n};\n\nexport type MdCommuneRef = RefBase & {\n uid: UID;\n code?: Code;\n region_uid?: UID;\n};\n\n/**\n * ✅ MeasureType (tabla measure_type)\n * Ej: Peso, Volumen, Longitud, etc.\n */\nexport type MdMeasureTypeRef = RefBase & {\n uid: UID; // md_measure_type_uid\n code?: Code; // opcional si quieres un code estable\n description?: string;\n};\n\n/**\n * ✅ Measure (tabla measure)\n * Ej: Kilogramo, Litro, Metro, Unidad, etc.\n *\n * IMPORTANTE:\n * - canónico: uid + symbol\n * - code es opcional (si lo usas como \"clave natural\" o alias)\n */\nexport type MdMeasureRef = RefBase & {\n uid: UID; // md_measure_uid (canónico)\n code?: Code; // opcional (puede no usarse)\n symbol: string; // \"kg\", \"m²\", \"lt\", etc.\n value?: number; // factor (si lo usas)\n measure_type_uid?: UID; // md_measure_type_uid\n};\n\n/**\n * ✅ Compat: antes se llamaba MdUnitRef\n * Mantenerlo para no romper imports existentes.\n */\nexport type MdUnitRef = MdMeasureRef;\n\n/**\n * ✅ Currency\n */\nexport type MdCurrencyRef = RefBase & {\n uid: UID;\n code: Code; // ISO\n symbol?: string;\n};\n\n// ----------------------------\n// Bulk refs endpoints (internal)\n// ----------------------------\nexport type MdCountriesRefsRequest = BulkUidsRequest;\nexport type MdCountriesRefsResponse = BulkRefsResponse<MdCountryRef>;\n\nexport type MdRegionsRefsRequest = BulkUidsRequest;\nexport type MdRegionsRefsResponse = BulkRefsResponse<MdRegionRef>;\n\nexport type MdCommunesRefsRequest = BulkUidsRequest;\nexport type MdCommunesRefsResponse = BulkRefsResponse<MdCommuneRef>;\n\n/**\n * ✅ NUEVO: Measures refs\n */\nexport type MdMeasuresRefsRequest = BulkUidsRequest;\nexport type MdMeasuresRefsResponse = BulkRefsResponse<MdMeasureRef>;\n\n/**\n * ✅ NUEVO: Measure types refs\n */\nexport type MdMeasureTypesRefsRequest = BulkUidsRequest;\nexport type MdMeasureTypesRefsResponse = BulkRefsResponse<MdMeasureTypeRef>;\n\n/**\n * ✅ Compat: antes se pedían unidades\n */\nexport type MdUnitsRefsRequest = BulkUidsRequest;\nexport type MdUnitsRefsResponse = BulkRefsResponse<MdUnitRef>;\n\nexport type MdCurrenciesRefsRequest = BulkUidsRequest;\nexport type MdCurrenciesRefsResponse = BulkRefsResponse<MdCurrencyRef>;\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
package/dist/md.d.cts CHANGED
@@ -2,6 +2,11 @@ import { RefBase, UID, Code, BulkUidsRequest, BulkRefsResponse } from './common.
2
2
 
3
3
  /**
4
4
  * Master-Data service is SoT for shared reference tables.
5
+ *
6
+ * Nota:
7
+ * - Antes modelábamos unidades como MdUnitRef (code=KG/LT/…).
8
+ * - Ahora estandarizamos a “Measure” (tu tabla measure) + “MeasureType”.
9
+ * - Para no romper, MdUnitRef se mantiene como alias de MdMeasureRef.
5
10
  */
6
11
  type MdCountryRef = RefBase & {
7
12
  uid: UID;
@@ -17,11 +22,38 @@ type MdCommuneRef = RefBase & {
17
22
  code?: Code;
18
23
  region_uid?: UID;
19
24
  };
20
- type MdUnitRef = RefBase & {
25
+ /**
26
+ * ✅ MeasureType (tabla measure_type)
27
+ * Ej: Peso, Volumen, Longitud, etc.
28
+ */
29
+ type MdMeasureTypeRef = RefBase & {
21
30
  uid: UID;
22
- code: Code;
23
- dimension?: string;
31
+ code?: Code;
32
+ description?: string;
33
+ };
34
+ /**
35
+ * ✅ Measure (tabla measure)
36
+ * Ej: Kilogramo, Litro, Metro, Unidad, etc.
37
+ *
38
+ * IMPORTANTE:
39
+ * - canónico: uid + symbol
40
+ * - code es opcional (si lo usas como "clave natural" o alias)
41
+ */
42
+ type MdMeasureRef = RefBase & {
43
+ uid: UID;
44
+ code?: Code;
45
+ symbol: string;
46
+ value?: number;
47
+ measure_type_uid?: UID;
24
48
  };
49
+ /**
50
+ * ✅ Compat: antes se llamaba MdUnitRef
51
+ * Mantenerlo para no romper imports existentes.
52
+ */
53
+ type MdUnitRef = MdMeasureRef;
54
+ /**
55
+ * ✅ Currency
56
+ */
25
57
  type MdCurrencyRef = RefBase & {
26
58
  uid: UID;
27
59
  code: Code;
@@ -33,9 +65,22 @@ type MdRegionsRefsRequest = BulkUidsRequest;
33
65
  type MdRegionsRefsResponse = BulkRefsResponse<MdRegionRef>;
34
66
  type MdCommunesRefsRequest = BulkUidsRequest;
35
67
  type MdCommunesRefsResponse = BulkRefsResponse<MdCommuneRef>;
68
+ /**
69
+ * ✅ NUEVO: Measures refs
70
+ */
71
+ type MdMeasuresRefsRequest = BulkUidsRequest;
72
+ type MdMeasuresRefsResponse = BulkRefsResponse<MdMeasureRef>;
73
+ /**
74
+ * ✅ NUEVO: Measure types refs
75
+ */
76
+ type MdMeasureTypesRefsRequest = BulkUidsRequest;
77
+ type MdMeasureTypesRefsResponse = BulkRefsResponse<MdMeasureTypeRef>;
78
+ /**
79
+ * ✅ Compat: antes se pedían unidades
80
+ */
36
81
  type MdUnitsRefsRequest = BulkUidsRequest;
37
82
  type MdUnitsRefsResponse = BulkRefsResponse<MdUnitRef>;
38
83
  type MdCurrenciesRefsRequest = BulkUidsRequest;
39
84
  type MdCurrenciesRefsResponse = BulkRefsResponse<MdCurrencyRef>;
40
85
 
41
- export type { MdCommuneRef, MdCommunesRefsRequest, MdCommunesRefsResponse, MdCountriesRefsRequest, MdCountriesRefsResponse, MdCountryRef, MdCurrenciesRefsRequest, MdCurrenciesRefsResponse, MdCurrencyRef, MdRegionRef, MdRegionsRefsRequest, MdRegionsRefsResponse, MdUnitRef, MdUnitsRefsRequest, MdUnitsRefsResponse };
86
+ export type { MdCommuneRef, MdCommunesRefsRequest, MdCommunesRefsResponse, MdCountriesRefsRequest, MdCountriesRefsResponse, MdCountryRef, MdCurrenciesRefsRequest, MdCurrenciesRefsResponse, MdCurrencyRef, MdMeasureRef, MdMeasureTypeRef, MdMeasureTypesRefsRequest, MdMeasureTypesRefsResponse, MdMeasuresRefsRequest, MdMeasuresRefsResponse, MdRegionRef, MdRegionsRefsRequest, MdRegionsRefsResponse, MdUnitRef, MdUnitsRefsRequest, MdUnitsRefsResponse };
package/dist/md.d.ts CHANGED
@@ -2,6 +2,11 @@ import { RefBase, UID, Code, BulkUidsRequest, BulkRefsResponse } from './common.
2
2
 
3
3
  /**
4
4
  * Master-Data service is SoT for shared reference tables.
5
+ *
6
+ * Nota:
7
+ * - Antes modelábamos unidades como MdUnitRef (code=KG/LT/…).
8
+ * - Ahora estandarizamos a “Measure” (tu tabla measure) + “MeasureType”.
9
+ * - Para no romper, MdUnitRef se mantiene como alias de MdMeasureRef.
5
10
  */
6
11
  type MdCountryRef = RefBase & {
7
12
  uid: UID;
@@ -17,11 +22,38 @@ type MdCommuneRef = RefBase & {
17
22
  code?: Code;
18
23
  region_uid?: UID;
19
24
  };
20
- type MdUnitRef = RefBase & {
25
+ /**
26
+ * ✅ MeasureType (tabla measure_type)
27
+ * Ej: Peso, Volumen, Longitud, etc.
28
+ */
29
+ type MdMeasureTypeRef = RefBase & {
21
30
  uid: UID;
22
- code: Code;
23
- dimension?: string;
31
+ code?: Code;
32
+ description?: string;
33
+ };
34
+ /**
35
+ * ✅ Measure (tabla measure)
36
+ * Ej: Kilogramo, Litro, Metro, Unidad, etc.
37
+ *
38
+ * IMPORTANTE:
39
+ * - canónico: uid + symbol
40
+ * - code es opcional (si lo usas como "clave natural" o alias)
41
+ */
42
+ type MdMeasureRef = RefBase & {
43
+ uid: UID;
44
+ code?: Code;
45
+ symbol: string;
46
+ value?: number;
47
+ measure_type_uid?: UID;
24
48
  };
49
+ /**
50
+ * ✅ Compat: antes se llamaba MdUnitRef
51
+ * Mantenerlo para no romper imports existentes.
52
+ */
53
+ type MdUnitRef = MdMeasureRef;
54
+ /**
55
+ * ✅ Currency
56
+ */
25
57
  type MdCurrencyRef = RefBase & {
26
58
  uid: UID;
27
59
  code: Code;
@@ -33,9 +65,22 @@ type MdRegionsRefsRequest = BulkUidsRequest;
33
65
  type MdRegionsRefsResponse = BulkRefsResponse<MdRegionRef>;
34
66
  type MdCommunesRefsRequest = BulkUidsRequest;
35
67
  type MdCommunesRefsResponse = BulkRefsResponse<MdCommuneRef>;
68
+ /**
69
+ * ✅ NUEVO: Measures refs
70
+ */
71
+ type MdMeasuresRefsRequest = BulkUidsRequest;
72
+ type MdMeasuresRefsResponse = BulkRefsResponse<MdMeasureRef>;
73
+ /**
74
+ * ✅ NUEVO: Measure types refs
75
+ */
76
+ type MdMeasureTypesRefsRequest = BulkUidsRequest;
77
+ type MdMeasureTypesRefsResponse = BulkRefsResponse<MdMeasureTypeRef>;
78
+ /**
79
+ * ✅ Compat: antes se pedían unidades
80
+ */
36
81
  type MdUnitsRefsRequest = BulkUidsRequest;
37
82
  type MdUnitsRefsResponse = BulkRefsResponse<MdUnitRef>;
38
83
  type MdCurrenciesRefsRequest = BulkUidsRequest;
39
84
  type MdCurrenciesRefsResponse = BulkRefsResponse<MdCurrencyRef>;
40
85
 
41
- export type { MdCommuneRef, MdCommunesRefsRequest, MdCommunesRefsResponse, MdCountriesRefsRequest, MdCountriesRefsResponse, MdCountryRef, MdCurrenciesRefsRequest, MdCurrenciesRefsResponse, MdCurrencyRef, MdRegionRef, MdRegionsRefsRequest, MdRegionsRefsResponse, MdUnitRef, MdUnitsRefsRequest, MdUnitsRefsResponse };
86
+ export type { MdCommuneRef, MdCommunesRefsRequest, MdCommunesRefsResponse, MdCountriesRefsRequest, MdCountriesRefsResponse, MdCountryRef, MdCurrenciesRefsRequest, MdCurrenciesRefsResponse, MdCurrencyRef, MdMeasureRef, MdMeasureTypeRef, MdMeasureTypesRefsRequest, MdMeasureTypesRefsResponse, MdMeasuresRefsRequest, MdMeasuresRefsResponse, MdRegionRef, MdRegionsRefsRequest, MdRegionsRefsResponse, MdUnitRef, MdUnitsRefsRequest, MdUnitsRefsResponse };
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/platform.ts"],"sourcesContent":["import type {UID, Code} from \"./common\";\n\n/**\n * PLATFORM is SoT for runtime tenant resolution (routing, schemas, etc.)\n */\n\nexport type PlatformTenantResolved = {\n auth_company_uid: UID;\n service: Code; // \"erp\", \"mkp\", etc.\n status: \"ACTIVE\" | \"INACTIVE\" | string;\n\n // runtime routing hints\n tenant_key?: string; // stable tenant identifier\n db_name?: string | null;\n schema_name?: string | null;\n shard?: string | null;\n\n // optional: feature flags\n features?: Record<string, boolean>;\n};\n\nexport type PlatformResolveTenantResponse = {\n ok: true;\n tenant: PlatformTenantResolved;\n};\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
1
+ {"version":3,"sources":["../src/platform.ts"],"sourcesContent":["// packages/contracts/src/platform.ts\nimport type {UID, Code} from \"./common\";\n\n/**\n * PLATFORM is SoT for runtime tenant resolution (routing, schemas, etc.)\n */\n\nexport type PlatformTenantResolved = {\n auth_company_uid: UID;\n service: Code; // \"erp\", \"mkp\", etc.\n status: \"ACTIVE\" | \"INACTIVE\" | string;\n\n // runtime routing hints\n tenant_key?: string; // stable tenant identifier\n db_name?: string | null;\n schema_name?: string | null;\n shard?: string | null;\n\n // optional: feature flags\n features?: Record<string, boolean>;\n};\n\nexport type PlatformResolveTenantResponse = {\n ok: true;\n tenant: PlatformTenantResolved;\n};\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
package/dist/res.cjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/res.ts"],"sourcesContent":["import type {UID, Code, RefBase, BulkUidsRequest, BulkRefsResponse} from \"./common\";\n\n/**\n * RESOURCE is SoT for product/resources catalog.\n * Marketplace uses listing/offers; RESOURCE defines the product itself.\n */\n\nexport type ResCategoryRef = RefBase & {\n uid: UID; // res_category_uid\n parent_uid?: UID | null;\n};\n\nexport type ResAttributeRef = RefBase & {\n uid: UID; // res_attribute_uid\n};\n\nexport type ResAttributeOptionRef = RefBase & {\n uid: UID; // res_attribute_option_uid\n attribute_uid: UID;\n};\n\nexport type ResVarietyRef = RefBase & {\n uid: UID; // res_variety_uid\n res_resource_uid?: UID; // parent product/resource uid\n sku?: string;\n md_unit_code?: Code; // from master-data\n is_pack?: boolean;\n};\n\nexport type ResResourceRef = RefBase & {\n uid: UID; // res_resource_uid\n default_variety_uid?: UID | null;\n};\n\n// Bulk refs endpoints (internal)\nexport type ResVarietiesRefsRequest = BulkUidsRequest;\nexport type ResVarietiesRefsResponse = BulkRefsResponse<ResVarietyRef>;\n\nexport type ResResourcesRefsRequest = BulkUidsRequest;\nexport type ResResourcesRefsResponse = BulkRefsResponse<ResResourceRef>;\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
1
+ {"version":3,"sources":["../src/res.ts"],"sourcesContent":["// packages/contracts/src/res.ts\nimport type {UID, Code, RefBase, BulkUidsRequest, BulkRefsResponse} from \"./common\";\n\n/**\n * RESOURCE is SoT for product/resources catalog.\n * Marketplace uses listing/offers; RESOURCE defines the product itself.\n */\n\n// ----------------------------\n// Categories\n// ----------------------------\nexport type ResCategoryRef = RefBase & {\n uid: UID; // res_category_uid\n parent_uid?: UID | null;\n};\n\n// ----------------------------\n// Attributes (catalog metadata)\n// ----------------------------\nexport type ResAttributeType = \"text\" | \"number\" | \"boolean\" | \"select\";\n\nexport type ResAttributeRef = RefBase & {\n uid: UID; // res_attribute_uid\n type: ResAttributeType; // text | number | boolean | select\n is_required?: boolean;\n};\n\nexport type ResAttributeOptionRef = RefBase & {\n uid: UID; // res_attribute_option_uid\n attribute_uid: UID; // res_attribute_uid\n order?: number;\n};\n\n/**\n * ✅ Regla attribute <-> measure_type\n * Vive en RESOURCE, pero apunta a MD vía UID.\n * Equivalente a tu attribute_measure_type.\n */\nexport type ResAttributeMeasureTypeRef = {\n attribute_uid: UID; // res_attribute_uid\n md_measure_type_uid: UID; // md_measure_type_uid\n};\n\n// ----------------------------\n// Resources / Varieties\n// ----------------------------\nexport type ResResourceRef = RefBase & {\n uid: UID; // res_resource_uid\n default_variety_uid?: UID | null;\n};\n\n/**\n * ✅ Variety ref (liviano)\n * Importante:\n * - agregamos md_measure_uid como canónico UID-first hacia MD\n * - md_unit_code queda solo si quieres mantener compat, pero idealmente ya no usarlo.\n */\nexport type ResVarietyRef = RefBase & {\n uid: UID; // res_variety_uid\n res_resource_uid?: UID; // res_resource_uid\n sku?: string;\n\n /**\n * ✅ Canónico (UID-first hacia MD)\n * para unidad/medida \"base\" de la variedad (si aplica).\n */\n md_measure_uid?: UID;\n\n /**\n * ⚠️ Legacy (evitar en nuevo código)\n */\n md_unit_code?: Code;\n\n is_pack?: boolean;\n};\n\n/**\n * ✅ Attribute Value (tabla attribute_value)\n * Vive en RESOURCE.\n *\n * Regla:\n * - select => option_uid\n * - number => value + md_measure_uid (si corresponde)\n * - text/boolean => value\n *\n * Nota: value se mantiene string para compat/homogeneidad; el frontend puede tipar por attribute.type.\n */\nexport type ResAttributeValueRef = {\n uid: UID; // res_attribute_value_uid (si lo generas)\n res_variety_uid: UID; // res_variety_uid\n\n attribute_uid: UID; // res_attribute_uid\n\n // Para text/number/boolean (boolean puede venir \"true\"/\"false\")\n value?: string | null;\n\n // Para select\n option_uid?: UID | null;\n\n // Para number con unidad\n md_measure_uid?: UID | null;\n};\n\n// ----------------------------\n// Bulk refs endpoints (internal)\n// ----------------------------\nexport type ResVarietiesRefsRequest = BulkUidsRequest;\nexport type ResVarietiesRefsResponse = BulkRefsResponse<ResVarietyRef>;\n\nexport type ResResourcesRefsRequest = BulkUidsRequest;\nexport type ResResourcesRefsResponse = BulkRefsResponse<ResResourceRef>;\n\nexport type ResAttributesRefsRequest = BulkUidsRequest;\nexport type ResAttributesRefsResponse = BulkRefsResponse<ResAttributeRef>;\n\nexport type ResAttributeOptionsRefsRequest = BulkUidsRequest;\nexport type ResAttributeOptionsRefsResponse = BulkRefsResponse<ResAttributeOptionRef>;\n\nexport type ResAttributeValuesRefsRequest = BulkUidsRequest;\nexport type ResAttributeValuesRefsResponse = BulkRefsResponse<ResAttributeValueRef>;\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
package/dist/res.d.cts CHANGED
@@ -1,4 +1,4 @@
1
- import { RefBase, UID, BulkUidsRequest, BulkRefsResponse, Code } from './common.cjs';
1
+ import { UID, RefBase, BulkUidsRequest, BulkRefsResponse, Code } from './common.cjs';
2
2
 
3
3
  /**
4
4
  * RESOURCE is SoT for product/resources catalog.
@@ -8,27 +8,79 @@ type ResCategoryRef = RefBase & {
8
8
  uid: UID;
9
9
  parent_uid?: UID | null;
10
10
  };
11
+ type ResAttributeType = "text" | "number" | "boolean" | "select";
11
12
  type ResAttributeRef = RefBase & {
12
13
  uid: UID;
14
+ type: ResAttributeType;
15
+ is_required?: boolean;
13
16
  };
14
17
  type ResAttributeOptionRef = RefBase & {
15
18
  uid: UID;
16
19
  attribute_uid: UID;
20
+ order?: number;
17
21
  };
22
+ /**
23
+ * ✅ Regla attribute <-> measure_type
24
+ * Vive en RESOURCE, pero apunta a MD vía UID.
25
+ * Equivalente a tu attribute_measure_type.
26
+ */
27
+ type ResAttributeMeasureTypeRef = {
28
+ attribute_uid: UID;
29
+ md_measure_type_uid: UID;
30
+ };
31
+ type ResResourceRef = RefBase & {
32
+ uid: UID;
33
+ default_variety_uid?: UID | null;
34
+ };
35
+ /**
36
+ * ✅ Variety ref (liviano)
37
+ * Importante:
38
+ * - agregamos md_measure_uid como canónico UID-first hacia MD
39
+ * - md_unit_code queda solo si quieres mantener compat, pero idealmente ya no usarlo.
40
+ */
18
41
  type ResVarietyRef = RefBase & {
19
42
  uid: UID;
20
43
  res_resource_uid?: UID;
21
44
  sku?: string;
45
+ /**
46
+ * ✅ Canónico (UID-first hacia MD)
47
+ * para unidad/medida "base" de la variedad (si aplica).
48
+ */
49
+ md_measure_uid?: UID;
50
+ /**
51
+ * ⚠️ Legacy (evitar en nuevo código)
52
+ */
22
53
  md_unit_code?: Code;
23
54
  is_pack?: boolean;
24
55
  };
25
- type ResResourceRef = RefBase & {
56
+ /**
57
+ * ✅ Attribute Value (tabla attribute_value)
58
+ * Vive en RESOURCE.
59
+ *
60
+ * Regla:
61
+ * - select => option_uid
62
+ * - number => value + md_measure_uid (si corresponde)
63
+ * - text/boolean => value
64
+ *
65
+ * Nota: value se mantiene string para compat/homogeneidad; el frontend puede tipar por attribute.type.
66
+ */
67
+ type ResAttributeValueRef = {
26
68
  uid: UID;
27
- default_variety_uid?: UID | null;
69
+ res_variety_uid: UID;
70
+ attribute_uid: UID;
71
+ value?: string | null;
72
+ option_uid?: UID | null;
73
+ md_measure_uid?: UID | null;
28
74
  };
29
75
  type ResVarietiesRefsRequest = BulkUidsRequest;
30
76
  type ResVarietiesRefsResponse = BulkRefsResponse<ResVarietyRef>;
31
77
  type ResResourcesRefsRequest = BulkUidsRequest;
32
78
  type ResResourcesRefsResponse = BulkRefsResponse<ResResourceRef>;
79
+ type ResAttributesRefsRequest = BulkUidsRequest;
80
+ type ResAttributesRefsResponse = BulkRefsResponse<ResAttributeRef>;
81
+ type ResAttributeOptionsRefsRequest = BulkUidsRequest;
82
+ type ResAttributeOptionsRefsResponse = BulkRefsResponse<ResAttributeOptionRef>;
83
+ type ResAttributeValuesRefsRequest = BulkUidsRequest;
84
+ type ResAttributeValuesRefsResponse = BulkRefsResponse<ResAttributeValueRef>;
33
85
 
34
- export type { ResAttributeOptionRef, ResAttributeRef, ResCategoryRef, ResResourceRef, ResResourcesRefsRequest, ResResourcesRefsResponse, ResVarietiesRefsRequest, ResVarietiesRefsResponse, ResVarietyRef };
86
+ export type { ResAttributeMeasureTypeRef, ResAttributeOptionRef, ResAttributeOptionsRefsRequest, ResAttributeOptionsRefsResponse, ResAttributeRef, ResAttributeType, ResAttributeValueRef, ResAttributeValuesRefsRequest, ResAttributeValuesRefsResponse, ResAttributesRefsRequest, ResAttributesRefsResponse, ResCategoryRef, ResResourceRef, ResResourcesRefsRequest, ResResourcesRefsResponse, ResVarietiesRefsRequest, ResVarietiesRefsResponse, ResVarietyRef };
package/dist/res.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { RefBase, UID, BulkUidsRequest, BulkRefsResponse, Code } from './common.js';
1
+ import { UID, RefBase, BulkUidsRequest, BulkRefsResponse, Code } from './common.js';
2
2
 
3
3
  /**
4
4
  * RESOURCE is SoT for product/resources catalog.
@@ -8,27 +8,79 @@ type ResCategoryRef = RefBase & {
8
8
  uid: UID;
9
9
  parent_uid?: UID | null;
10
10
  };
11
+ type ResAttributeType = "text" | "number" | "boolean" | "select";
11
12
  type ResAttributeRef = RefBase & {
12
13
  uid: UID;
14
+ type: ResAttributeType;
15
+ is_required?: boolean;
13
16
  };
14
17
  type ResAttributeOptionRef = RefBase & {
15
18
  uid: UID;
16
19
  attribute_uid: UID;
20
+ order?: number;
17
21
  };
22
+ /**
23
+ * ✅ Regla attribute <-> measure_type
24
+ * Vive en RESOURCE, pero apunta a MD vía UID.
25
+ * Equivalente a tu attribute_measure_type.
26
+ */
27
+ type ResAttributeMeasureTypeRef = {
28
+ attribute_uid: UID;
29
+ md_measure_type_uid: UID;
30
+ };
31
+ type ResResourceRef = RefBase & {
32
+ uid: UID;
33
+ default_variety_uid?: UID | null;
34
+ };
35
+ /**
36
+ * ✅ Variety ref (liviano)
37
+ * Importante:
38
+ * - agregamos md_measure_uid como canónico UID-first hacia MD
39
+ * - md_unit_code queda solo si quieres mantener compat, pero idealmente ya no usarlo.
40
+ */
18
41
  type ResVarietyRef = RefBase & {
19
42
  uid: UID;
20
43
  res_resource_uid?: UID;
21
44
  sku?: string;
45
+ /**
46
+ * ✅ Canónico (UID-first hacia MD)
47
+ * para unidad/medida "base" de la variedad (si aplica).
48
+ */
49
+ md_measure_uid?: UID;
50
+ /**
51
+ * ⚠️ Legacy (evitar en nuevo código)
52
+ */
22
53
  md_unit_code?: Code;
23
54
  is_pack?: boolean;
24
55
  };
25
- type ResResourceRef = RefBase & {
56
+ /**
57
+ * ✅ Attribute Value (tabla attribute_value)
58
+ * Vive en RESOURCE.
59
+ *
60
+ * Regla:
61
+ * - select => option_uid
62
+ * - number => value + md_measure_uid (si corresponde)
63
+ * - text/boolean => value
64
+ *
65
+ * Nota: value se mantiene string para compat/homogeneidad; el frontend puede tipar por attribute.type.
66
+ */
67
+ type ResAttributeValueRef = {
26
68
  uid: UID;
27
- default_variety_uid?: UID | null;
69
+ res_variety_uid: UID;
70
+ attribute_uid: UID;
71
+ value?: string | null;
72
+ option_uid?: UID | null;
73
+ md_measure_uid?: UID | null;
28
74
  };
29
75
  type ResVarietiesRefsRequest = BulkUidsRequest;
30
76
  type ResVarietiesRefsResponse = BulkRefsResponse<ResVarietyRef>;
31
77
  type ResResourcesRefsRequest = BulkUidsRequest;
32
78
  type ResResourcesRefsResponse = BulkRefsResponse<ResResourceRef>;
79
+ type ResAttributesRefsRequest = BulkUidsRequest;
80
+ type ResAttributesRefsResponse = BulkRefsResponse<ResAttributeRef>;
81
+ type ResAttributeOptionsRefsRequest = BulkUidsRequest;
82
+ type ResAttributeOptionsRefsResponse = BulkRefsResponse<ResAttributeOptionRef>;
83
+ type ResAttributeValuesRefsRequest = BulkUidsRequest;
84
+ type ResAttributeValuesRefsResponse = BulkRefsResponse<ResAttributeValueRef>;
33
85
 
34
- export type { ResAttributeOptionRef, ResAttributeRef, ResCategoryRef, ResResourceRef, ResResourcesRefsRequest, ResResourcesRefsResponse, ResVarietiesRefsRequest, ResVarietiesRefsResponse, ResVarietyRef };
86
+ export type { ResAttributeMeasureTypeRef, ResAttributeOptionRef, ResAttributeOptionsRefsRequest, ResAttributeOptionsRefsResponse, ResAttributeRef, ResAttributeType, ResAttributeValueRef, ResAttributeValuesRefsRequest, ResAttributeValuesRefsResponse, ResAttributesRefsRequest, ResAttributesRefsResponse, ResCategoryRef, ResResourceRef, ResResourcesRefsRequest, ResResourcesRefsResponse, ResVarietiesRefsRequest, ResVarietiesRefsResponse, ResVarietyRef };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@innvoid/getmarket-contracts",
3
- "version": "0.1.5",
3
+ "version": "0.1.7",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "main": "dist/index.cjs",