@vini-wine/admin-core-models
Version:
Core package for Vini models related to the admin API.
903 lines (808 loc) • 28.4 kB
text/typescript
import { CountryEnum, ContactPointTypeEnum, GenderEnum, LocaleEnum, CurrencyCodeEnum, UserStatusEnum, PermissionEnum, RoleEnum, ImageVariationEnum, ImageTypeEnum, TimezoneEnum, DateTimeFormatEnum, SupplierStatusEnum, OrganisationStatusEnum, IntegrationExactCountryCodeEnum, IntegrationExactStatusEnum, PlanEnum, UserOrganisationStatusEnum, AIQuestionSummaryStatusEnum, B2bMarketPriceUploadStatusEnum, CustomerStatusEnum, VintageRatingEnum, VintageScoreAuthorEnum, UploadVisibilityTypeEnum, UploadStatusEnum, UploadTypeEnum, PackageEnum, OfferRequestStatusEnum, OfferRequestOptionEnum, OfferRequestOptionStatusEnum, OfferRequestTimelineActionEnum, OrderItemTypeEnum, DocumentTypeEnum, MimeTypeEnum, OrderStatusEnum, BankEntryTypeEnum, IntegrationExactBankEntryStatusEnum, ChatMessageTypeEnum, ContactRequestStatusEnum, ContactRequestTypeEnum, CurrencyRateSourceEnum, ExportStatusEnum, ExportTypeEnum, OfferAlertFilterCriteriaFieldEnum, FilterOperatorEnum, InboundEmailParsedStatusEnum, IntegrationWineLabsApiTypeEnum, IntegrationWineLabsStatusEnum, NotificationTypeEnum, NotificationChannelEnum, OfferAlertTimelineActionEnum, OrganisationUserInvitationStatusEnum, PlanFeatureEnum, UserOrganisationClaimStatusEnum, VintageScoreUploadStatusEnum } from '@vini-wine/core-enums';
import { VatTaxDto, GenderDto, PersonDto, PermissionDto, RoleDto, ImageDto, UserAccountDto, SupplierDto, OrganisationDto, UserOrganisationDto, PriceDto, B2bMarketPriceDto, SellerDto, CountryDto, RegionDto, WineTypeDto, WineryDto, WineDto, VintageDto, VintageProductDto, UploadDto, OfferDto } from '@vini-wine/core-dtos';
interface UUID {
uuid: string;
}
interface PostalAddressModel {
countryCode: CountryEnum;
locality: string;
region: string | null;
postalCode: string;
streetAddress: string;
exciseNumber?: string | null;
}
interface VatTaxModel {
countryCode: CountryEnum;
value: string;
}
declare const createVatTaxDtoFromAdminVatTaxModel: (vatTax: VatTaxModel) => VatTaxDto;
interface ContactTypeModel {
id: ContactPointTypeEnum;
}
interface TelephoneModel {
number: string;
countryCode: CountryEnum;
}
interface GenderModel extends UUID {
id: GenderEnum;
name: string;
}
declare const createGenderDtoFromAdminGenderModel: (gender: GenderModel) => GenderDto;
interface PersonModel extends UUID {
gender: GenderModel;
firstName: string;
lastName: string;
preferredLanguage: LocaleEnum;
preferredCurrency: CurrencyCodeEnum;
}
declare const createPersonDtoFromAdminPersonModel: (person: PersonModel) => PersonDto;
interface UserStatusModel {
id: UserStatusEnum;
}
interface PermissionModel {
roles?: RoleModel[];
id: PermissionEnum;
}
declare const createPermissionDtoFromAdminPermissionModel: (permission: PermissionModel) => PermissionDto;
interface RoleModel {
id: RoleEnum;
permissions?: PermissionModel[];
}
declare const createRoleDtoFromAdminRoleModel: (role: RoleModel) => RoleDto;
interface ImageVariationModel {
id: ImageVariationEnum;
}
interface ImageTypeModel {
id: ImageTypeEnum;
}
interface ImageImageTypeCropPropertyModel {
imageType: {
id: ImageTypeEnum;
};
crop: {
width: number;
height: number;
x: number;
y: number;
};
}
interface ImageModel extends UUID {
name: string;
mime: string;
height: number;
width: number;
url: string;
variation: ImageVariationModel;
type: ImageTypeModel;
size: number;
originalImage?: ImageModel;
imageImageTypeCropProperties?: ImageImageTypeCropPropertyModel[];
}
declare const createImageDtoFromAdminImageModel: (image: ImageModel) => ImageDto;
interface UserAccountModel extends UUID {
person: PersonModel;
selectedUserOrganisation?: UserOrganisationModel | null;
permissions?: PermissionModel[];
roles?: RoleModel[];
userOrganisations?: UserOrganisationModel[];
numNotificationsUnPreRead?: number;
avatar?: ImageModel;
status: UserStatusModel;
email: string;
emailVerified: boolean;
lastLoginAt: Date;
defaultTimezone: TimezoneEnum;
defaultDateTimeFormat: DateTimeFormatEnum;
createdAt: Date;
updatedAt: Date;
tourSkippedAt: Date | null;
}
declare const createUserAccountDtoFromAdminUserAccountModel: (userAccount: UserAccountModel) => UserAccountDto;
interface ContactPointModel extends UUID {
email: string | null;
telephone: TelephoneModel | null;
name: string;
contactType: ContactTypeModel;
createdAt: Date;
updatedAt: Date;
createdOrganisation?: OrganisationModel;
createdUser?: UserAccountModel | null;
}
interface SupplierModel extends UUID {
isCustomer: boolean;
name: string;
createdAt: Date;
status: {
id: SupplierStatusEnum;
};
supplierOrganisation?: OrganisationModel;
organisation?: OrganisationModel;
primaryLogisticsContactPoint?: ContactPointModel | null;
primarySalesContactPoint?: ContactPointModel | null;
primaryBillingsContactPoint?: ContactPointModel | null;
}
declare const createSupplierDtoFromAdminSupplierModel: (supplier: SupplierModel) => SupplierDto;
interface OrganisationStatusModel {
id: OrganisationStatusEnum;
}
interface IntegrationExactModel extends UUID {
organisation?: OrganisationModel;
exactClientId: string;
exactCountryCode: IntegrationExactCountryCodeEnum;
exactDivision: string | null;
status: {
id: IntegrationExactStatusEnum;
};
}
interface PlanDataRetentionModel {
numDays: number;
}
interface PlanUploadModel {
threshold: number;
}
interface PlanUploadServiceModel {
threshold: number;
}
interface PlanAlertModel {
limitActiveAlerts: number;
}
interface PlanUserOrganisationModel {
threshold: number;
}
interface PlanModel {
id: PlanEnum;
dataRetention: PlanDataRetentionModel;
upload: PlanUploadModel;
uploadService: PlanUploadServiceModel;
alert: PlanAlertModel;
userOrganisation: PlanUserOrganisationModel;
}
interface OrganisationModel extends UUID {
suppliers?: Partial<SupplierModel>[];
billingPostalAddress?: PostalAddressModel;
defaultShippingPostalAddress?: PostalAddressModel | null;
organisationOwner?: Partial<UserAccountModel>;
registeredBy?: Partial<UserAccountModel>;
userOrganisations?: UserOrganisationModel[];
avatar?: ImageModel | null;
integrationExact?: IntegrationExactModel | null;
permissions?: PermissionModel[];
defaultSalesContactUserOrganisation?: UserOrganisationModel;
plan?: PlanModel;
name: string;
legalName: string;
vatTax: VatTaxModel;
createdAt: Date;
defaultTimezone: TimezoneEnum;
status: OrganisationStatusModel;
isVerified: boolean;
}
declare const createOrganisationDtoFromAdminOrganisationModel: (organisation: OrganisationModel) => OrganisationDto;
interface UserOrganisationStatusModel {
id: UserOrganisationStatusEnum;
}
interface UserOrganisationModel {
organisation: OrganisationModel;
createdAt: Date;
isOrganisationOwner: boolean;
isUserDefaultOrganisation: boolean;
status: UserOrganisationStatusModel;
user?: UserAccountModel;
permissions?: PermissionModel[];
roles?: RoleModel[];
}
declare const createUserOrganisationDtoFromAdminUserOrganisationModel: (userOrganisation: UserOrganisationModel) => UserOrganisationDto;
interface AIThreadModel extends UUID {
createdAt: string;
createdByUserOrganisation?: UserOrganisationModel;
AIQuestions?: AIQuestionModel[];
lastAIQuestion?: AIQuestionModel | null;
}
interface AIQuestionModel extends UUID {
language: {
id: LocaleEnum;
};
question: string;
summaryStatus: {
id: AIQuestionSummaryStatusEnum;
};
summary: string | null;
summaryReceivedAt: Date | null;
createdAt: string;
thread?: AIThreadModel;
createdByUserOrganisation?: UserOrganisationModel;
}
interface PriceModel {
priceMicros: number;
currency: CurrencyCodeEnum;
}
declare const createPriceDtoFromAdminPriceModel: (price: PriceModel) => PriceDto;
interface B2bMarketPriceModel {
price: PriceModel | null;
updatedAt: Date;
}
declare const createB2BMarketPriceDtoFromAdminB2BMarketPriceModel: (b2bMarketPrice: B2bMarketPriceModel) => B2bMarketPriceDto;
interface B2bMarketPriceUploadModel extends UUID {
numItems: number;
createdAt: Date;
updatedAt: Date;
status: {
id: B2bMarketPriceUploadStatusEnum;
};
uploadedBy: UserAccountModel;
}
interface CustomerModel extends UUID {
isSupplier: boolean;
name: string;
createdAt: Date;
status: {
id: CustomerStatusEnum;
};
customerOrganisation?: OrganisationModel;
organisation?: OrganisationModel;
primaryLogisticsContactPoint?: ContactPointModel | null;
primarySalesContactPoint?: ContactPointModel | null;
primaryBillingsContactPoint?: ContactPointModel | null;
}
interface SellerModel {
organisation?: OrganisationModel;
}
declare const createSellerDtoFromAdminSellerModel: (seller: SellerModel) => SellerDto;
interface CountryModel {
codeAlpha2: CountryEnum;
codeAlpha3: string;
codeUn: string;
}
declare const createCountryDtoFromAdminCountryModel: (country: CountryModel) => CountryDto;
interface RegionModel extends UUID {
country: CountryModel;
mappedItems?: any;
parentRegion?: RegionModel | null;
subRegions?: RegionModel[];
images?: ImageModel[];
name: string;
}
declare const createRegionDtoFromAdminRegionModel: (region: RegionModel) => RegionDto;
interface WineTypeModel extends UUID {
mappedItems?: any;
name: string;
}
declare const createWineTypeDtoFromAdminWineTypeModel: (wineType: WineTypeModel) => WineTypeDto;
interface WineryModel extends UUID {
mappedItems?: any;
name: string;
}
declare const createWineryDtoFromAdminWineryModel: (winery: WineryModel) => WineryDto;
interface WineModel extends UUID {
region?: RegionModel;
wineType?: WineTypeModel;
winery?: WineryModel;
mappedItems?: any;
name: string;
}
declare const createWineDtoFromAdminWineModel: (wine: WineModel) => WineDto;
interface VintageRatingModel {
numberOfRatings: number;
averageOfRatings: number;
updatedAt: Date;
status: VintageRatingEnum;
vintage?: VintageModel;
}
interface VintageScoreAuthorModel {
id: VintageScoreAuthorEnum;
}
interface VintageScoreModel {
scoreValue: number;
scoreYear: number;
author: VintageScoreAuthorModel;
vintage?: VintageModel;
}
interface VintageModel extends UUID {
year: number;
bottleImage: ImageModel | null;
wine?: WineModel;
mappedExternal1Rating?: VintageRatingModel | null;
scores?: VintageScoreModel[];
labelImage?: ImageModel | null;
}
declare const createVintageDtoFromAdminVintageModel: (vintage: VintageModel) => VintageDto;
interface VintageProductModel extends UUID {
milliliters: number;
vintage?: VintageModel;
b2bMarketPrice?: B2bMarketPriceModel | null;
}
declare const createVintageProductDtoFromAdminVintageProductModel: (vintageProduct: VintageProductModel) => VintageProductDto;
interface UploadVisibilityTypeModel {
upload?: UploadModel;
id: UploadVisibilityTypeEnum;
}
interface ImportFileHeaderModel {
upload?: UploadModel;
mappedHeader: string;
value: string;
}
interface UploadModel extends UUID {
status: {
id: UploadStatusEnum;
statusUpdatedAt: Date;
};
type: {
id: UploadTypeEnum;
};
name: string;
validFrom: Date;
validUntil: Date;
numItems: number;
createdAt: Date;
organisation: OrganisationModel;
organisationSupplier: SupplierModel;
createdUser?: UserAccountModel;
visibilityTypes?: UploadVisibilityTypeModel[];
importFileHeaders?: ImportFileHeaderModel[];
statusUpdatedBy?: UserAccountModel | null;
}
declare const createUploadDtoFromAdminUploadModel: (upload: UploadModel) => UploadDto;
interface OfferModel extends UUID {
price: PriceModel | null;
supplier?: SupplierModel | null;
seller?: SellerModel;
vintageProducts?: VintageProductModel[];
upload?: UploadModel;
shippedFromCountry?: CountryModel | null;
quantity: number;
package: PackageEnum | null;
createdAt: Date;
}
declare const createOfferDtoFromAdminOfferModel: (offer: OfferModel) => OfferDto;
interface OfferRequestStatusModel {
id: OfferRequestStatusEnum;
updatedAt: Date;
}
interface OfferRequestOptionModel {
id: OfferRequestOptionEnum;
status: {
id: OfferRequestOptionStatusEnum;
updatedAt: Date;
};
requestedValue: string | null;
providedValue: string | null;
offerRequest?: OfferRequestModel;
}
interface OfferRequestTimelineModel {
actionCreatedAt: Date;
action: {
id: OfferRequestTimelineActionEnum;
};
offerRequest?: OfferRequestModel;
createdByUser?: UserAccountModel | null;
}
interface OfferRequestModel extends UUID {
status: OfferRequestStatusModel;
createdAt: Date;
changedAt: Date;
updatedAt: Date;
quantity: number;
price: PriceModel | null;
offer: Partial<OfferModel> | null;
organisation: OrganisationModel;
seller: OrganisationModel;
images?: ImageModel[];
vintageProducts?: VintageProductModel[];
timeline?: OfferRequestTimelineModel[];
subOfferRequests?: Partial<OfferRequestModel>[] | [];
userOrganisation?: UserOrganisationModel;
options?: OfferRequestOptionModel[];
}
interface OrderItemPurchaseModel {
supplier?: SupplierModel | null;
price?: PriceModel | null;
}
interface OrderNoteModel extends UUID {
createdByOrganisation: UserOrganisationModel | null;
order?: OrderModel;
orderItem?: OrderItemModel;
note: string;
isPrivate: boolean;
createdAt: string;
}
interface OrderItemModel extends UUID {
type: {
id: OrderItemTypeEnum;
};
description: string;
quantity: number;
totalQuantityOrderItemGoodsReceipts: number;
totalQuantityOrderItemGoodsDeliveries: number;
createdAt: Date;
updatedAt: Date;
invoiceReceived: boolean;
goodsShipped: boolean;
invoiceSent: boolean;
invoiceReceivedAt: Date | null;
goodsShippedAt: Date | null;
invoiceSentAt: Date | null;
amountFC: PriceModel;
order?: OrderModel;
vintageProducts?: VintageProductModel[];
purchase?: OrderItemPurchaseModel;
notes?: OrderNoteModel[];
}
interface DocumentModel extends UUID {
type: {
id: DocumentTypeEnum;
};
mime: {
id: MimeTypeEnum;
};
size: number;
createdAt: Date;
organisation?: OrganisationModel | null;
order?: OrderModel | null;
}
interface OrderBalanceModel {
price: PriceModel;
}
interface OrderModel extends UUID {
currency: CurrencyCodeEnum;
status: {
id: OrderStatusEnum;
statusUpdatedAt: Date;
};
referenceCode: string;
orderedAt: Date;
shareOrderWithSellerOrCustomer: boolean;
createdByOrganisation: OrganisationModel;
isCheckout: boolean;
sellerOrganisation?: OrganisationModel;
customer?: CustomerModel;
requestedUser?: UserAccountModel;
originatedByOfferRequest?: OfferRequestModel | null;
items?: OrderItemModel[];
numItems?: number;
amountFCExclVatMicros?: number;
purchaseOrders?: OrderModel[];
salesOrders?: OrderModel[];
proFormaDocument?: DocumentModel | null;
invoiceDocument?: DocumentModel | null;
documents?: DocumentModel[];
shippingPostalAddress?: PostalAddressModel | null;
notes?: OrderNoteModel[];
orderBalance?: OrderBalanceModel;
}
interface BankEntryLineModel extends UUID {
amount: PriceModel | null;
bankEntry?: BankEntryModel;
organisation?: OrganisationModel | null;
orders?: OrderModel[];
description: string;
notes: string;
modified: string | null;
bankEntryType: {
id: BankEntryTypeEnum;
};
}
interface BankEntryModel extends UUID {
bankEntryLines?: BankEntryLineModel[];
entryID: string;
status: {
id: IntegrationExactBankEntryStatusEnum;
};
openingBalanceFC: number;
closingBalanceFC: number;
currency: CurrencyCodeEnum;
modified: string | null;
}
interface ChatMessageModel extends UUID {
type: {
id: ChatMessageTypeEnum;
};
messagePreview: string;
sendAt: Date;
totalOfSubChatMessages: number;
chatConversation?: ChatConversationModel;
content?: string;
createdByUserOrganisation?: UserOrganisationModel;
parent?: ChatMessageModel | null;
createdByContactPoint?: ContactPointModel | null;
}
interface ChatConversationModel extends UUID {
topicVintageProduct?: VintageProductModel | null;
topicOffer?: OfferModel | null;
topicOrder?: OrderModel | null;
createdByUserOrganisation?: UserOrganisationModel | null;
organisationParticipants?: OrganisationModel[] | null;
userOrganisationParticipants?: UserOrganisationModel[];
contactPointParticipants?: ContactPointModel[];
lastChatMessage?: ChatMessageModel | null;
}
interface ContactRequestModel extends UUID {
user?: UserAccountModel | null;
status: {
id: ContactRequestStatusEnum;
};
type: {
id: ContactRequestTypeEnum;
};
code: string;
firstName: string;
lastName: string;
email: string;
telephone: TelephoneModel;
preferredLanguage: LocaleEnum;
message: string;
}
interface CurrencyRateModel {
currencyCode: CurrencyCodeEnum;
rate: number;
synchronizedAt: Date;
source: CurrencyRateSourceEnum;
}
interface ExportModel extends UUID {
expiresAt: Date;
status: {
id: ExportStatusEnum;
};
type: {
id: ExportTypeEnum;
};
start: Date | null;
end: Date | null;
url: string;
mime: MimeTypeEnum | null;
size: number | null;
createdAt: Date;
organisation?: OrganisationModel;
requestedUserOrganisation?: UserOrganisationModel;
}
interface FilterCriteriaModel {
field: OfferAlertFilterCriteriaFieldEnum;
operator: FilterOperatorEnum;
value: string | number | null;
}
interface ImportResolvedFileHeaderValueModel {
field: string;
fieldValue: string;
resolvedValue: string;
}
interface InboundEmailParsedModel extends UUID {
status: {
id: InboundEmailParsedStatusEnum;
};
uploadType: {
id: UploadTypeEnum | null;
};
fromEmailAddress: string | null;
toEmailAddress: string | null;
subject: string | null;
attachmentCount: number;
createdAt: Date;
organisation?: OrganisationModel;
inboundEmail?: InboundEmailModel;
contentText?: string | null;
contentHtml?: string | null;
}
interface InboundEmailFileModel extends UUID {
name: string;
mime: {
id: MimeTypeEnum;
};
size: number;
createdAt: Date;
inboundEmail?: InboundEmailModel;
}
interface InboundEmailModel {
id: number;
messageId: string;
createdAt: Date;
inboundEmailParsed?: InboundEmailParsedModel | null;
files?: InboundEmailFileModel[];
}
interface IntegrationExactItemModel extends UUID {
integrationExact?: IntegrationExactModel;
vintageProduct?: VintageProductModel;
vintageProducts?: VintageProductModel[];
}
interface IntegrationExactPurchaseOrderModel extends UUID {
createdAt: Date;
code: string;
}
interface IntegrationExactSalesOrderLineModel extends UUID {
quantity: number;
lineNumber: number;
quantityInvoiced: number;
integrationExactSalesOrder?: IntegrationExactSalesOrderModel;
item?: IntegrationExactItemModel;
orderItem?: OrderItemModel;
}
interface IntegrationExactSalesOrderModel extends UUID {
createdAt: Date;
code: string;
lines?: IntegrationExactSalesOrderLineModel[];
}
interface IntegrationExactWebhookLogModel extends UUID {
payload: string;
createdAt: Date;
integrationExact: IntegrationExactModel;
}
interface IntegrationWineLabsUsageBlock {
limit30D: number;
remaining30D: number;
}
type IntegrationWineLabsUsageModel = Record<IntegrationWineLabsApiTypeEnum, IntegrationWineLabsUsageBlock> & {
updatedAt: string;
createdAt: string;
};
interface IntegrationWineLabsModel extends UUID {
status: {
id: IntegrationWineLabsStatusEnum;
};
userId: string;
isOffersActive: boolean;
offersLastRunAt: string | null;
updatedAt: string | null;
createdAt: string;
isOrganisationSelect: boolean;
createdByUser?: UserAccountModel | null;
organisation?: OrganisationModel;
usage?: IntegrationWineLabsUsageModel;
}
interface IntegrationWineLabsRetailerModel extends UUID {
retailerId: number;
name: string;
website: string;
supplier?: SupplierModel;
createdByUser?: UserAccountModel;
}
interface IntegrationWineLabsListingModel extends UUID {
shopName: string;
shopPhone: string;
shopWebsite: string;
shopLat: string;
shopLng: string;
shopState: string;
shopCountry: string;
shopCountryCode: string;
offerId: string;
offerTitle: string;
offerPrice: string;
offerAdjustedPrice: string;
offerUrl: string;
offerFormat: string;
offerVolume: string;
rawPrice: string;
originalPrice: string;
originalCurrencyCode: string;
standardizedFormat: string;
offerVintage: string;
lastCheckAt: string;
isOutlier: string;
trustedMerchant: string;
continent: string;
retailerId: string;
createdAt: string;
existsVintageProduct: boolean;
wine?: WineModel | null;
vintageProduct?: VintageProductModel | null;
integrationWineLabsRetailer?: IntegrationWineLabsRetailerModel | null;
price?: PriceModel;
}
interface MarginMarketModel {
countryCode: CountryEnum;
margin: number;
organisation?: OrganisationModel;
createdBy?: UserAccountModel | null;
updatedBy?: UserAccountModel | null;
}
interface MarginOrganisationModel {
margin: number;
marginOrganisation?: OrganisationModel;
organisation?: OrganisationModel;
createdBy?: UserAccountModel | null;
updatedBy?: UserAccountModel | null;
}
interface NotificationModel extends UUID {
type: {
id: NotificationTypeEnum;
};
messagePlain: string;
messageHtml: string | null;
actionText: string;
actionUrl: string;
readAt: Date | null;
createdAt: Date;
updatedAt: Date;
name: string;
}
interface NotificationChannelModel {
id: NotificationChannelEnum;
isActive: boolean;
}
interface NotificationTypeModel {
id: NotificationTypeEnum;
channels: NotificationChannelModel[];
}
interface OfferAlertTimelineModel {
actionCreatedAt: Date;
action: {
id: OfferAlertTimelineActionEnum;
};
offerAlert?: OfferAlertModel;
createdByUser?: UserAccountModel;
}
interface OfferAlertModel extends UUID {
title: string;
header: string;
description: string | null;
validFrom: string;
validUntil: string;
isExpired: boolean;
organisation?: OrganisationModel;
backgroundImage?: ImageModel | null;
filterCriteria?: FilterCriteriaModel[];
timeline?: OfferAlertTimelineModel;
meta?: any;
sharedWithCustomer?: CustomerModel | null;
offerUrl?: string | null;
}
interface OrganisationUserInvitationStatusModel {
id: OrganisationUserInvitationStatusEnum;
}
interface PricingPlanFeatureModel {
feature: {
id: PlanFeatureEnum;
};
createdBy?: UserAccountModel | null;
updatedBy?: UserAccountModel | null;
pricingPlanTimeslot?: UserAccountModel;
}
interface PricingPlanModel {
plan: {
id: PlanEnum;
};
monthlyPrice: {
priceMicros: number;
currency: CurrencyCodeEnum;
};
yearlyPrice: {
priceMicros: number;
currency: CurrencyCodeEnum;
};
createdBy?: UserAccountModel | null;
updatedBy?: UserAccountModel | null;
features?: PricingPlanFeatureModel[];
}
interface OrganisationUserInvitationModel {
organisation?: Partial<OrganisationModel>;
invitedBy?: UserAccountModel;
acceptedByUserOrganisation?: UserOrganisationModel;
revokedBy?: UserAccountModel | null;
roles?: RoleModel[] | [];
status: OrganisationUserInvitationStatusModel;
token: string;
expiredAt: Date;
createdAt: Date;
personFirstName: string;
personLastName: string;
personEmail: string;
acceptedAt: Date | null;
}
interface UserOrganisationClaimRequestModel extends UUID {
createdAt: Date;
status: {
id: UserOrganisationClaimStatusEnum;
statusUpdatedAt: Date;
};
user?: UserAccountModel;
organisation?: OrganisationModel;
statusUpdatedBy?: UserAccountModel | null;
}
interface VintageScoreUploadModel extends UUID {
numItems: number;
createdAt: Date;
updatedAt: Date;
status: {
id: VintageScoreUploadStatusEnum;
};
uploadedBy: UserAccountModel;
}
export { type AIQuestionModel, type AIThreadModel, type B2bMarketPriceModel, type B2bMarketPriceUploadModel, type BankEntryLineModel, type BankEntryModel, type ChatConversationModel, type ChatMessageModel, type ContactPointModel, type ContactRequestModel, type ContactTypeModel, type CountryModel, type CurrencyRateModel, type CustomerModel, type DocumentModel, type ExportModel, type FilterCriteriaModel, type GenderModel, type ImageImageTypeCropPropertyModel, type ImageModel, type ImageTypeModel, type ImageVariationModel, type ImportFileHeaderModel, type ImportResolvedFileHeaderValueModel, type InboundEmailFileModel, type InboundEmailModel, type InboundEmailParsedModel, type IntegrationExactItemModel, type IntegrationExactModel, type IntegrationExactPurchaseOrderModel, type IntegrationExactSalesOrderLineModel, type IntegrationExactSalesOrderModel, type IntegrationExactWebhookLogModel, type IntegrationWineLabsListingModel, type IntegrationWineLabsModel, type IntegrationWineLabsRetailerModel, type IntegrationWineLabsUsageModel, type MarginMarketModel, type MarginOrganisationModel, type NotificationChannelModel, type NotificationModel, type NotificationTypeModel, type OfferAlertModel, type OfferAlertTimelineModel, type OfferModel, type OfferRequestModel, type OfferRequestOptionModel, type OfferRequestStatusModel, type OfferRequestTimelineModel, type OrderBalanceModel, type OrderItemModel, type OrderItemPurchaseModel, type OrderModel, type OrderNoteModel, type OrganisationModel, type OrganisationUserInvitationModel, type OrganisationUserInvitationStatusModel, type PermissionModel, type PersonModel, type PlanAlertModel, type PlanDataRetentionModel, type PlanModel, type PlanUploadModel, type PlanUploadServiceModel, type PlanUserOrganisationModel, type PostalAddressModel, type PriceModel, type PricingPlanFeatureModel, type PricingPlanModel, type RegionModel, type RoleModel, type SellerModel, type SupplierModel, type TelephoneModel, type UploadModel, type UploadVisibilityTypeModel, type UserAccountModel, type UserOrganisationClaimRequestModel, type UserOrganisationModel, type UserOrganisationStatusModel, type UserStatusModel, type VatTaxModel, type VintageModel, type VintageProductModel, type VintageRatingModel, type VintageScoreAuthorModel, type VintageScoreModel, type VintageScoreUploadModel, type WineModel, type WineTypeModel, type WineryModel, createB2BMarketPriceDtoFromAdminB2BMarketPriceModel, createCountryDtoFromAdminCountryModel, createGenderDtoFromAdminGenderModel, createImageDtoFromAdminImageModel, createOfferDtoFromAdminOfferModel, createOrganisationDtoFromAdminOrganisationModel, createPermissionDtoFromAdminPermissionModel, createPersonDtoFromAdminPersonModel, createPriceDtoFromAdminPriceModel, createRegionDtoFromAdminRegionModel, createRoleDtoFromAdminRoleModel, createSellerDtoFromAdminSellerModel, createSupplierDtoFromAdminSupplierModel, createUploadDtoFromAdminUploadModel, createUserAccountDtoFromAdminUserAccountModel, createUserOrganisationDtoFromAdminUserOrganisationModel, createVatTaxDtoFromAdminVatTaxModel, createVintageDtoFromAdminVintageModel, createVintageProductDtoFromAdminVintageProductModel, createWineDtoFromAdminWineModel, createWineTypeDtoFromAdminWineTypeModel, createWineryDtoFromAdminWineryModel };