import { IOrganizationFiscalProfileDocument } from "./OrganizationFiscalProfiles.Adapter.Mongoose"; export enum ORGANIZATION_FISCAL_PROFILE_TAX_CONDITION { MONOTRIBUTO = "MONOTRIBUTO", EXENTO = "EXENTO", } export enum ORGANIZATION_FISCAL_PROFILE_STATUS { PENDING = "PENDING", ACTIVE = "ACTIVE", DISABLED = "DISABLED", } export type UpsertOrganizationFiscalProfileParams = { companyId: string; cuit: string; legalName: string; taxCondition: ORGANIZATION_FISCAL_PROFILE_TAX_CONDITION; pointOfSale: number; activityCode?: string; activityDescription?: string; sessionUser: string; }; export type FindOrganizationFiscalProfilesParams = { id?: string; companyId?: string; status?: ORGANIZATION_FISCAL_PROFILE_STATUS; sessionUser?: string; }; export type CreateOrganizationFiscalProfileParams = { companyId: string; cuit: string; legalName: string; taxCondition: ORGANIZATION_FISCAL_PROFILE_TAX_CONDITION; pointOfSale: number; activityCode?: string; activityDescription?: string; status: ORGANIZATION_FISCAL_PROFILE_STATUS; createdAt: Date; updatedAt: Date; }; export type UpdateOrganizationFiscalProfileParams = FindOrganizationFiscalProfilesParams & { cuit?: string; legalName?: string; taxCondition?: ORGANIZATION_FISCAL_PROFILE_TAX_CONDITION; pointOfSale?: number; activityCode?: string; activityDescription?: string; status?: ORGANIZATION_FISCAL_PROFILE_STATUS; updatedAt: Date; }; export interface IOrganizationFiscalProfile { id?: string; companyId: string; cuit: string; legalName: string; taxCondition: ORGANIZATION_FISCAL_PROFILE_TAX_CONDITION; pointOfSale: number; activityCode?: string; activityDescription?: string; status: ORGANIZATION_FISCAL_PROFILE_STATUS; createdAt: Date; updatedAt: Date; } export interface IOrganizationFiscalProfilesAdapter { create(data: CreateOrganizationFiscalProfileParams): Promise; find(filters: FindOrganizationFiscalProfilesParams): Promise; findOne( filters: FindOrganizationFiscalProfilesParams ): Promise; update(data: UpdateOrganizationFiscalProfileParams): Promise; } export interface IOrganizationFiscalProfilesManager { organizationFiscalProfiles: IOrganizationFiscalProfilesAdapter; upsert(data: UpsertOrganizationFiscalProfileParams): Promise; find(data: FindOrganizationFiscalProfilesParams): Promise; }