import { AptlyCurrency, AptlyQuantityUnitCode } from '../enums/index.js'; import { AptlyAlgorithmPipelineDataItemSchema, AptlyPrice } from './algorithm.js'; import { AptlyCategorySchema } from './category.js'; import { AptlyDocumentSchema } from './document'; import { AptlyBaseSchema } from './extends.js'; import { AptlyItemSchema } from './item.js'; import { AptlyOfferSchema } from './offer.js'; import { AptlyOptionSchema } from './option.js'; import { AptlyOrderSchema } from './order.js'; import { AptlyOrganizationSchema } from './organization.js'; import { AptlyProducerSchema } from './producer.js'; import { AptlyProductSchema } from './product.js'; import { AptlyProjectSchema } from './project.js'; import { AptlyUnitSchema } from './unit.js'; export type AptlyPick = AptlyPickSchema; export interface AptlyPickSchema extends Pick, '_id' | 'archived' | 'createdAt' | 'updatedAt'> { organization: ID | AptlyOrganizationSchema; project: ID | AptlyProjectSchema | null; unit: ID | AptlyUnitSchema | null; option: ID | AptlyOptionSchema | null; product: ID | AptlyProductSchema | null; category: ID | AptlyCategorySchema | null; producer: ID | AptlyProducerSchema | null; offer: ID | AptlyOfferSchema | null; package: ID | null; offerItem: ID | null; order: ID | AptlyOrderSchema | null; period: ID | null; index: number; quantity?: number; note: string; invoicedQuantity?: number | null; quantityUnitCode?: AptlyQuantityUnitCode | null; extensionAmount?: number | null; extensionVatAmount?: number | null; currency?: AptlyCurrency | null; item: AptlyItemSchema | null; price: AptlyPrice | null; algorithm: ID | null; documents: (ID | AptlyDocumentSchema)[]; pipeline?: AptlyAlgorithmPipelineDataItemSchema[]; confirmedAt: DATE | null; } export type AptlyPickConfirmed = AptlyPickConfirmedSchema; export type AptlyPickConfirmedSchema = AptlyPickSchema & AptlyPickConfirmedFieldsSchema; export interface AptlyPickConfirmedFieldsSchema { item: AptlyItemSchema; confirmedAt: DATE; order: ID | AptlyOrderSchema; invoicedQuantity: number; quantityUnitCode: AptlyQuantityUnitCode; price: AptlyPrice; extensionAmount: number; extensionVatAmount: number; currency: AptlyCurrency; pipeline: AptlyAlgorithmPipelineDataItemSchema[]; }