84 lines
2.6 KiB
TypeScript
84 lines
2.6 KiB
TypeScript
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<IOrganizationFiscalProfile>;
|
|
find(filters: FindOrganizationFiscalProfilesParams): Promise<IOrganizationFiscalProfile[]>;
|
|
findOne(
|
|
filters: FindOrganizationFiscalProfilesParams
|
|
): Promise<IOrganizationFiscalProfileDocument | null>;
|
|
update(data: UpdateOrganizationFiscalProfileParams): Promise<IOrganizationFiscalProfileDocument | null>;
|
|
}
|
|
|
|
export interface IOrganizationFiscalProfilesManager {
|
|
organizationFiscalProfiles: IOrganizationFiscalProfilesAdapter;
|
|
upsert(data: UpsertOrganizationFiscalProfileParams): Promise<IOrganizationFiscalProfile>;
|
|
find(data: FindOrganizationFiscalProfilesParams): Promise<IOrganizationFiscalProfile[]>;
|
|
}
|