invoice-system-common 1.0.4 → 1.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/dist/enums/billing-line-item-status.enum.d.ts +5 -0
  2. package/dist/enums/billing-line-items-action.enum.d.ts +6 -0
  3. package/dist/enums/billing.action.enum.d.ts +7 -0
  4. package/dist/enums/billing.status.enum.d.ts +7 -0
  5. package/dist/enums/currency.enum.d.ts +3 -0
  6. package/dist/enums/organization.action.enum.d.ts +7 -0
  7. package/dist/enums/organization.status.enum.d.ts +7 -0
  8. package/dist/enums/template.enum.d.ts +3 -0
  9. package/dist/enums/tenure.enum.d.ts +4 -0
  10. package/dist/enums/user.role.enum.d.ts +5 -0
  11. package/dist/helpers/audit-column.entity.interface.d.ts +6 -0
  12. package/dist/helpers/generics.d.ts +6 -0
  13. package/dist/index.d.ts +35 -0
  14. package/dist/interfaces/billing-line-item.dto.interface.d.ts +13 -0
  15. package/dist/interfaces/billing-line-item.entity.interface.d.ts +17 -0
  16. package/dist/interfaces/billing.dto.interface.d.ts +9 -0
  17. package/dist/interfaces/billing.entity.interface.d.ts +20 -0
  18. package/dist/interfaces/billing.entity.response.d.ts +7 -0
  19. package/dist/interfaces/bliiling-flow.type.d.ts +7 -0
  20. package/dist/interfaces/category.dto.interface.d.ts +9 -0
  21. package/dist/interfaces/category.entity.interface.d.ts +7 -0
  22. package/dist/interfaces/client.dto.interface.d.ts +8 -0
  23. package/dist/interfaces/client.entity.interface.d.ts +15 -0
  24. package/dist/interfaces/inventory.dto.interface.d.ts +8 -0
  25. package/dist/interfaces/inventory.entity.interface.d.ts +8 -0
  26. package/dist/interfaces/invoice-sequence.dto.interface.d.ts +6 -0
  27. package/dist/interfaces/invoice-sequence.entity.interface.d.ts +6 -0
  28. package/dist/interfaces/login.dto.interface.d.ts +4 -0
  29. package/dist/interfaces/login.response.interface.d.ts +8 -0
  30. package/dist/interfaces/organization.dtos.interface.d.ts +10 -0
  31. package/dist/interfaces/organization.entity.interface.d.ts +18 -0
  32. package/dist/interfaces/organization.response.interface.d.ts +5 -0
  33. package/dist/interfaces/rate.dto.interface.d.ts +8 -0
  34. package/dist/interfaces/rate.entity.interface.d.ts +11 -0
  35. package/dist/interfaces/user.dto.interface.d.ts +8 -0
  36. package/dist/interfaces/user.entity.interface.d.ts +26 -0
  37. package/package.json +1 -1
@@ -0,0 +1,5 @@
1
+ export declare enum BillingLineItemStatusEnum {
2
+ UPDATED = "updated",
3
+ DELETED = "deleted",
4
+ ACTIVE = "active"
5
+ }
@@ -0,0 +1,6 @@
1
+ export declare enum BillingLineItemsActionEnum {
2
+ CREATE = "create",
3
+ UPDATE = "update",
4
+ DELETE = "delete",
5
+ UNCHANGE = "unchange"
6
+ }
@@ -0,0 +1,7 @@
1
+ export declare enum BillingActionEnum {
2
+ EDIT = "edit",
3
+ APPROVE = "approve",
4
+ CANCEL = "cancel",
5
+ SETTLE = "settle",
6
+ REJECT = "reject"
7
+ }
@@ -0,0 +1,7 @@
1
+ export declare enum BillingStatusEnum {
2
+ PENDING_APPROVAL = "pending_approval",
3
+ APPROVED = "approved",
4
+ CANCELLED = "cancelled",
5
+ SETTLED = "settled",
6
+ REJECTED = "rejected"
7
+ }
@@ -0,0 +1,3 @@
1
+ export declare enum CurrencyEnum {
2
+ INR = "INR"
3
+ }
@@ -0,0 +1,7 @@
1
+ export declare enum OrganizationActionEnum {
2
+ APPROVE = "approve",
3
+ REJECT = "reject",
4
+ SUSPEND = "suspend",
5
+ DELETE = "delete",
6
+ PENDING = "pending"
7
+ }
@@ -0,0 +1,7 @@
1
+ export declare enum OrganizationStatusEnum {
2
+ PENDING = "pending",
3
+ APPROVED = "approved",
4
+ REJECTED = "rejected",
5
+ SUSPENDED = "suspended",
6
+ DELETED = "deleted"
7
+ }
@@ -0,0 +1,3 @@
1
+ export declare enum TemplateNameEnum {
2
+ ROYAL_STEEL_FURNITURE = "royal-steel-furniture.template.html"
3
+ }
@@ -0,0 +1,4 @@
1
+ export declare enum BillingRateTenureEnum {
2
+ MONTHLY = "monthly",
3
+ DAILY = "daily"
4
+ }
@@ -0,0 +1,5 @@
1
+ export declare enum UserRolesEnum {
2
+ TOAA = "TOAA",
3
+ OWNER = "OWNER",
4
+ STAFF = "STAFF"
5
+ }
@@ -0,0 +1,6 @@
1
+ export interface IAuditColumnEntity {
2
+ createdOn: Date;
3
+ updatedOn: Date;
4
+ createdBy: number;
5
+ updatedBy: number;
6
+ }
@@ -0,0 +1,6 @@
1
+ import { IAuditColumnEntity } from "./audit-column.entity.interface";
2
+ export type IEntityFilterData<T> = {
3
+ [K in keyof T]?: T[K][];
4
+ };
5
+ export type IEntityCreateDto<T> = Omit<T, 'id' | keyof IAuditColumnEntity>;
6
+ export type IEntityUpdateDto<T> = Omit<Partial<T>, 'id' | keyof IAuditColumnEntity>;
@@ -0,0 +1,35 @@
1
+ export * from "./interfaces/login.dto.interface";
2
+ export * from "./interfaces/login.response.interface";
3
+ export * from "./interfaces/billing-line-item.dto.interface";
4
+ export * from "./interfaces/billing-line-item.entity.interface";
5
+ export * from "./interfaces/billing.dto.interface";
6
+ export * from "./interfaces/billing.entity.interface";
7
+ export * from "./interfaces/billing.entity.response";
8
+ export * from "./interfaces/bliiling-flow.type";
9
+ export * from "./interfaces/invoice-sequence.dto.interface";
10
+ export * from "./interfaces/invoice-sequence.entity.interface";
11
+ export * from "./interfaces/client.dto.interface";
12
+ export * from "./interfaces/client.entity.interface";
13
+ export * from "./interfaces/category.dto.interface";
14
+ export * from "./interfaces/category.entity.interface";
15
+ export * from "./interfaces/inventory.dto.interface";
16
+ export * from "./interfaces/inventory.entity.interface";
17
+ export * from "./interfaces/organization.dtos.interface";
18
+ export * from "./interfaces/organization.entity.interface";
19
+ export * from "./interfaces/organization.response.interface";
20
+ export * from "./interfaces/rate.dto.interface";
21
+ export * from "./interfaces/rate.entity.interface";
22
+ export * from "./interfaces/user.dto.interface";
23
+ export * from "./interfaces/user.entity.interface";
24
+ export * from "./enums/user.role.enum";
25
+ export * from "./enums/billing-line-item-status.enum";
26
+ export * from "./enums/billing-line-items-action.enum";
27
+ export * from "./enums/billing.action.enum";
28
+ export * from "./enums/billing.status.enum";
29
+ export * from "./enums/tenure.enum";
30
+ export * from "./enums/template.enum";
31
+ export * from "./enums/currency.enum";
32
+ export * from "./enums/organization.action.enum";
33
+ export * from "./enums/organization.status.enum";
34
+ export * from "./helpers/audit-column.entity.interface";
35
+ export * from "./helpers/generics";
@@ -0,0 +1,13 @@
1
+ import { BillingLineItemsActionEnum } from "../enums/billing-line-items-action.enum";
2
+ import { IEntityCreateDto, IEntityFilterData, IEntityUpdateDto } from "../helpers/generics";
3
+ import { IBillingLineItemEntity } from "./billing-line-item.entity.interface";
4
+ export type IBillingLineItemCreateDtoExclude = 'clientId' | 'status';
5
+ export interface IBillingLineItemCreateDto extends Omit<IEntityCreateDto<IBillingLineItemEntity>, IBillingLineItemCreateDtoExclude> {
6
+ clientId: number;
7
+ }
8
+ export interface IBillingLineItemUpdateDto extends IEntityUpdateDto<IBillingLineItemEntity> {
9
+ id: number;
10
+ action: BillingLineItemsActionEnum;
11
+ }
12
+ export interface IBillingLineItemFilterDto extends IEntityFilterData<IBillingLineItemEntity> {
13
+ }
@@ -0,0 +1,17 @@
1
+ import { BillingLineItemStatusEnum } from "../enums/billing-line-item-status.enum";
2
+ import { IAuditColumnEntity } from "../helpers/audit-column.entity.interface";
3
+ export interface IBillingLineItemEntity extends IAuditColumnEntity {
4
+ id: number;
5
+ billId: number;
6
+ inventoryId: number;
7
+ description: string;
8
+ rateId?: number | null;
9
+ rateAmount?: number | null;
10
+ quantity: number;
11
+ tenureValue: number;
12
+ normalizedTenureInDays: number;
13
+ totalAmount: number;
14
+ startDate: string;
15
+ endDate: string;
16
+ status: BillingLineItemStatusEnum;
17
+ }
@@ -0,0 +1,9 @@
1
+ import { IEntityCreateDto, IEntityFilterData, IEntityUpdateDto } from "../helpers/generics";
2
+ import { IBillingEntity } from "./billing.entity.interface";
3
+ export type IBillingCreateDtoExclude = 'status' | 'netBillingAmount';
4
+ export interface IBillingCreateDto extends Omit<IEntityCreateDto<IBillingEntity>, IBillingCreateDtoExclude> {
5
+ }
6
+ export interface IBillingUpdateDto extends IEntityUpdateDto<IBillingEntity> {
7
+ }
8
+ export interface IBillingEntityFilterDto extends IEntityFilterData<IBillingEntity> {
9
+ }
@@ -0,0 +1,20 @@
1
+ import { BillingStatusEnum } from "../enums/billing.status.enum";
2
+ import { BillingRateTenureEnum } from "../enums/tenure.enum";
3
+ import { IAuditColumnEntity } from "../helpers/audit-column.entity.interface";
4
+ export interface IBillingEntity extends IAuditColumnEntity {
5
+ id: number;
6
+ startDate: string;
7
+ endDate: string;
8
+ clientId: number;
9
+ billingRateTenure: BillingRateTenureEnum;
10
+ organizationId: number;
11
+ invoiceNo: string;
12
+ invoiceUrl: string | null;
13
+ referenceClientId: number;
14
+ totalAmount: number;
15
+ discount: number;
16
+ status: BillingStatusEnum;
17
+ netBillingAmount: number;
18
+ accountNumber?: string;
19
+ gstNumber?: string;
20
+ }
@@ -0,0 +1,7 @@
1
+ import { IBillingLineItemEntity } from './billing-line-item.entity.interface';
2
+ import { IBillingEntity } from './billing.entity.interface';
3
+ export interface IBillingResponse {
4
+ billingEntity: IBillingEntity;
5
+ billingLineItems: IBillingLineItemEntity[];
6
+ }
7
+ export type IBillingSearchResponse = IBillingResponse[];
@@ -0,0 +1,7 @@
1
+ import { BillingActionEnum } from "../enums/billing.action.enum";
2
+ import { BillingStatusEnum } from "../enums/billing.status.enum";
3
+ export type IBillingFlow = {
4
+ [K in BillingActionEnum]: {
5
+ return: () => BillingStatusEnum;
6
+ };
7
+ };
@@ -0,0 +1,9 @@
1
+ import { IEntityCreateDto, IEntityFilterData, IEntityUpdateDto } from '../helpers/generics';
2
+ import { ICategoryEntity } from './category.entity.interface';
3
+ export type ICategoryCreateDtoExclude = 'organizationId';
4
+ export interface ICategoryCreateDto extends Omit<IEntityCreateDto<ICategoryEntity>, ICategoryCreateDtoExclude> {
5
+ }
6
+ export interface ICategoryUpdateDto extends IEntityUpdateDto<ICategoryEntity> {
7
+ }
8
+ export interface ICategoryEntityFilterDto extends IEntityFilterData<ICategoryEntity> {
9
+ }
@@ -0,0 +1,7 @@
1
+ import { IAuditColumnEntity } from "../helpers/audit-column.entity.interface";
2
+ export interface ICategoryEntity extends IAuditColumnEntity {
3
+ id: number;
4
+ name: string;
5
+ organizationId: number;
6
+ description?: string;
7
+ }
@@ -0,0 +1,8 @@
1
+ import { IEntityCreateDto, IEntityFilterData, IEntityUpdateDto } from '../helpers/generics';
2
+ import { IClientEntity } from './client.entity.interface';
3
+ export interface IClientCreateDto extends IEntityCreateDto<IClientEntity> {
4
+ }
5
+ export interface IClientUpdateDto extends IEntityUpdateDto<IClientEntity> {
6
+ }
7
+ export interface IClientEntityFilterDto extends IEntityFilterData<IClientEntity> {
8
+ }
@@ -0,0 +1,15 @@
1
+ import { IAuditColumnEntity } from "../helpers/audit-column.entity.interface";
2
+ export interface IClientEntity extends IAuditColumnEntity {
3
+ id: number;
4
+ name: string;
5
+ organizationId: number;
6
+ referenceClientId?: number;
7
+ primaryContactName: string;
8
+ primaryContactNumber: string;
9
+ primaryContactEmail: string;
10
+ address: string;
11
+ zipCode: string;
12
+ city: string;
13
+ state: string;
14
+ country: string;
15
+ }
@@ -0,0 +1,8 @@
1
+ import { IEntityCreateDto, IEntityFilterData, IEntityUpdateDto } from '../helpers/generics';
2
+ import { IInventoryEntity } from './inventory.entity.interface';
3
+ export interface IInventoryCreateDto extends IEntityCreateDto<IInventoryEntity> {
4
+ }
5
+ export interface IInventoryUpdateDto extends IEntityUpdateDto<IInventoryEntity> {
6
+ }
7
+ export interface IInventoryEntityFilterDto extends IEntityFilterData<IInventoryEntity> {
8
+ }
@@ -0,0 +1,8 @@
1
+ import { IAuditColumnEntity } from "../helpers/audit-column.entity.interface";
2
+ export interface IInventoryEntity extends IAuditColumnEntity {
3
+ id: number;
4
+ name: string;
5
+ categoryId: number;
6
+ description: string;
7
+ organizationId: number;
8
+ }
@@ -0,0 +1,6 @@
1
+ import { IEntityCreateDto, IEntityFilterData } from '../helpers/generics';
2
+ import { IInvoiceSequenceEntity } from './invoice-sequence.entity.interface';
3
+ export interface IInvoiceSqeuenceEntityCreateDto extends IEntityCreateDto<IInvoiceSequenceEntity> {
4
+ }
5
+ export interface IInvoiceSequenceEntityFilterDto extends IEntityFilterData<IInvoiceSequenceEntity> {
6
+ }
@@ -0,0 +1,6 @@
1
+ import { IAuditColumnEntity } from "../helpers/audit-column.entity.interface";
2
+ export interface IInvoiceSequenceEntity extends IAuditColumnEntity {
3
+ id: number;
4
+ billingId?: number | null;
5
+ invoiceNo?: string | null;
6
+ }
@@ -0,0 +1,4 @@
1
+ export interface ILoginDto {
2
+ username: string;
3
+ password: string;
4
+ }
@@ -0,0 +1,8 @@
1
+ import { IUserEntity } from "./user.entity.interface";
2
+ export type IUserEntityExclude = 'password';
3
+ export interface IUserEntityExcludeDetails extends Omit<IUserEntity, IUserEntityExclude> {
4
+ }
5
+ export interface ILoginResponse {
6
+ currentUser: IUserEntityExcludeDetails;
7
+ accessToken: string;
8
+ }
@@ -0,0 +1,10 @@
1
+ import { IOrganizationEntity } from './organization.entity.interface';
2
+ import { OrganizationActionEnum } from '../enums/organization.action.enum';
3
+ import { IEntityFilterData } from '../helpers/generics';
4
+ export interface IOrganizationCreateDto extends Partial<IOrganizationEntity> {
5
+ }
6
+ export interface IOrganizationUpdateDto extends Partial<IOrganizationEntity> {
7
+ action: OrganizationActionEnum;
8
+ }
9
+ export interface IOrganizationEntityFilterDto extends IEntityFilterData<IOrganizationEntity> {
10
+ }
@@ -0,0 +1,18 @@
1
+ import { OrganizationStatusEnum } from '../enums/organization.status.enum';
2
+ import { TemplateNameEnum } from '../enums/template.enum';
3
+ import { IAuditColumnEntity } from '../helpers/audit-column.entity.interface';
4
+ export interface IOrganizationEntity extends IAuditColumnEntity {
5
+ id: number;
6
+ name: string;
7
+ responsiblePersonName: string;
8
+ primaryContactNo: string;
9
+ secondaryContactNo: string;
10
+ email: string;
11
+ address: string;
12
+ city: string;
13
+ zipcode: string;
14
+ state: string;
15
+ country: string;
16
+ templateName?: TemplateNameEnum;
17
+ status: OrganizationStatusEnum;
18
+ }
@@ -0,0 +1,5 @@
1
+ import { IOrganizationEntity } from "./organization.entity.interface";
2
+ import { IUserEntity } from "./user.entity.interface";
3
+ export interface IOrganizationSearchResponse extends IOrganizationEntity {
4
+ users: IUserEntity[];
5
+ }
@@ -0,0 +1,8 @@
1
+ import { IEntityCreateDto, IEntityFilterData, IEntityUpdateDto } from '../helpers/generics';
2
+ import { IRateEntity } from './rate.entity.interface';
3
+ export interface IRateCreateDto extends IEntityCreateDto<IRateEntity> {
4
+ }
5
+ export interface IRateUpdateDto extends IEntityUpdateDto<IRateEntity> {
6
+ }
7
+ export interface IRateEntityFilterDto extends IEntityFilterData<IRateEntity> {
8
+ }
@@ -0,0 +1,11 @@
1
+ import { CurrencyEnum } from "../enums/currency.enum";
2
+ import { IAuditColumnEntity } from "../helpers/audit-column.entity.interface";
3
+ export interface IRateEntity extends IAuditColumnEntity {
4
+ id: number;
5
+ currency: CurrencyEnum;
6
+ inventoryId: number;
7
+ organizationId: number;
8
+ rate: number;
9
+ startDate: string;
10
+ endDate: string;
11
+ }
@@ -0,0 +1,8 @@
1
+ import { IEntityCreateDto, IEntityFilterData, IEntityUpdateDto } from '../helpers/generics';
2
+ import { IUserEntity } from './user.entity.interface';
3
+ export interface IUserCreateDto extends IEntityCreateDto<IUserEntity> {
4
+ }
5
+ export interface IUserUpdateDto extends IEntityUpdateDto<IUserEntity> {
6
+ }
7
+ export interface IUserEntityFilterDto extends IEntityFilterData<IUserEntity> {
8
+ }
@@ -0,0 +1,26 @@
1
+ import { UserRolesEnum } from "../enums/user.role.enum";
2
+ import { IAuditColumnEntity } from "../helpers/audit-column.entity.interface";
3
+ export interface IUserEntity extends IAuditColumnEntity {
4
+ id: number;
5
+ name: string;
6
+ username: string;
7
+ password: string;
8
+ contactNo: string;
9
+ emailId: string;
10
+ organizationId: number;
11
+ emergencyContactName: string;
12
+ emergencyContactNo: string;
13
+ emergencyContactEmail: string;
14
+ emergencyContactRelation: string;
15
+ address: string;
16
+ city: string;
17
+ state: string;
18
+ country: string;
19
+ zipCode: string;
20
+ aadharNo: string;
21
+ aadharUrl?: string;
22
+ panNo: string;
23
+ panUrl?: string;
24
+ role: UserRolesEnum;
25
+ isResponsiblePerson: boolean;
26
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "invoice-system-common",
3
- "version": "1.0.4",
3
+ "version": "1.0.6",
4
4
  "description": "",
5
5
  "homepage": "https://github.com/Kashyap2210/invoice-system-common#readme",
6
6
  "bugs": {