@aptly-as/types
Version:
Aptly types and enums
58 lines (57 loc) • 2.62 kB
TypeScript
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<string, string>;
export interface AptlyPickSchema<ID, DATE> extends Pick<AptlyBaseSchema<ID, DATE>, '_id' | 'archived' | 'createdAt' | 'updatedAt'> {
organization: ID | AptlyOrganizationSchema<ID, DATE>;
project: ID | AptlyProjectSchema<ID, DATE> | null;
unit: ID | AptlyUnitSchema<ID, DATE> | null;
option: ID | AptlyOptionSchema<ID, DATE> | null;
product: ID | AptlyProductSchema<ID, DATE> | null;
category: ID | AptlyCategorySchema<ID, DATE> | null;
producer: ID | AptlyProducerSchema<ID, DATE> | null;
offer: ID | AptlyOfferSchema<ID, DATE> | null;
package: ID | null;
offerItem: ID | null;
order: ID | AptlyOrderSchema<ID, DATE> | 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<ID, DATE> | null;
price: AptlyPrice | null;
algorithm: ID | null;
documents: (ID | AptlyDocumentSchema<ID, DATE>)[];
pipeline?: AptlyAlgorithmPipelineDataItemSchema<ID>[];
confirmedAt: DATE | null;
}
export type AptlyPickConfirmed = AptlyPickConfirmedSchema<string, string>;
export type AptlyPickConfirmedSchema<ID, DATE> = AptlyPickSchema<ID, DATE> & AptlyPickConfirmedFieldsSchema<ID, DATE>;
export interface AptlyPickConfirmedFieldsSchema<ID, DATE> {
item: AptlyItemSchema<ID, DATE>;
confirmedAt: DATE;
order: ID | AptlyOrderSchema<ID, DATE>;
invoicedQuantity: number;
quantityUnitCode: AptlyQuantityUnitCode;
price: AptlyPrice;
extensionAmount: number;
extensionVatAmount: number;
currency: AptlyCurrency;
pipeline: AptlyAlgorithmPipelineDataItemSchema<ID>[];
}