tt-entities 0.0.47 → 0.0.50

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 (26) hide show
  1. package/dist/libs/tatayab-entities-library/entities/order.entity.d.ts +4 -0
  2. package/dist/libs/tatayab-entities-library/entities/order.entity.js +19 -0
  3. package/dist/libs/tatayab-entities-library/entities/order.entity.js.map +1 -1
  4. package/dist/libs/tatayab-entities-library/entities/purchase-order.entity.d.ts +1 -0
  5. package/dist/libs/tatayab-entities-library/entities/purchase-order.entity.js +4 -0
  6. package/dist/libs/tatayab-entities-library/entities/purchase-order.entity.js.map +1 -1
  7. package/dist/libs/tatayab-entities-library/entities/refund.entity.d.ts +31 -0
  8. package/dist/libs/tatayab-entities-library/entities/refund.entity.js +105 -0
  9. package/dist/libs/tatayab-entities-library/entities/refund.entity.js.map +1 -0
  10. package/dist/libs/tatayab-entities-library/entities/run-sheet-order.entity.d.ts +0 -3
  11. package/dist/libs/tatayab-entities-library/entities/run-sheet-order.entity.js +0 -10
  12. package/dist/libs/tatayab-entities-library/entities/run-sheet-order.entity.js.map +1 -1
  13. package/dist/libs/tatayab-entities-library/entities/run-sheet.entity.d.ts +3 -0
  14. package/dist/libs/tatayab-entities-library/entities/run-sheet.entity.js +10 -0
  15. package/dist/libs/tatayab-entities-library/entities/run-sheet.entity.js.map +1 -1
  16. package/dist/libs/tatayab-entities-library/index.d.ts +1 -0
  17. package/dist/libs/tatayab-entities-library/index.js +8 -2
  18. package/dist/libs/tatayab-entities-library/index.js.map +1 -1
  19. package/dist/src/main.js +164 -20
  20. package/libs/tatayab-entities-library/src/entities/order.entity.ts +27 -2
  21. package/libs/tatayab-entities-library/src/entities/purchase-order.entity.ts +3 -0
  22. package/libs/tatayab-entities-library/src/entities/refund.entity.ts +75 -0
  23. package/libs/tatayab-entities-library/src/entities/run-sheet-order.entity.ts +0 -8
  24. package/libs/tatayab-entities-library/src/entities/run-sheet.entity.ts +8 -0
  25. package/libs/tatayab-entities-library/src/index.ts +6 -0
  26. package/package.json +1 -1
@@ -1,6 +1,11 @@
1
1
  import {
2
- Table, Column, Model, ForeignKey, BelongsTo,
3
- HasMany, DataType,
2
+ Table,
3
+ Column,
4
+ Model,
5
+ ForeignKey,
6
+ BelongsTo,
7
+ HasMany,
8
+ DataType,
4
9
  } from 'sequelize-typescript';
5
10
  import { User } from './user.entity';
6
11
  import { Store } from './store.entity';
@@ -143,6 +148,26 @@ export class Order extends Model {
143
148
  @Column({ type: DataType.DATE, allowNull: true })
144
149
  declare deliveredAt?: Date;
145
150
 
151
+ @Column({
152
+ type: DataType.ENUM(
153
+ 'none',
154
+ 'pending_bank_refund',
155
+ 'wallet_credited',
156
+ 'bank_refunded',
157
+ ),
158
+ defaultValue: 'none',
159
+ })
160
+ declare refundStatus: string;
161
+
162
+ @Column({ type: DataType.BOOLEAN, defaultValue: false })
163
+ declare cashCollected: boolean;
164
+
165
+ @Column({ type: DataType.DATE, allowNull: true })
166
+ declare cashCollectedAt?: Date;
167
+
168
+ @Column({ allowNull: true })
169
+ declare cashCollectedBy?: number;
170
+
146
171
  // ── Notes ─────────────────────────────────────────────────────────────────────
147
172
  @Column({ type: DataType.TEXT, allowNull: true })
148
173
  declare customerNotes?: string;
@@ -59,6 +59,9 @@ export class PurchaseOrder extends Model {
59
59
  @Column({ type: DataType.TEXT, allowNull: true })
60
60
  declare notes?: string;
61
61
 
62
+ @Column({ type: DataType.TEXT, allowNull: true })
63
+ declare invoiceUrl?: string;
64
+
62
65
  @ForeignKey(() => SysUser)
63
66
  @Column({ allowNull: true })
64
67
  declare createdBy?: number;
@@ -0,0 +1,75 @@
1
+ import {
2
+ Table,
3
+ Column,
4
+ Model,
5
+ ForeignKey,
6
+ BelongsTo,
7
+ DataType,
8
+ } from 'sequelize-typescript';
9
+ import { Order } from './order.entity';
10
+ import { User } from './user.entity';
11
+ import { SysUser } from './sys.user.entity';
12
+
13
+ export enum RefundMethod {
14
+ WALLET = 'wallet',
15
+ BANK = 'bank',
16
+ }
17
+ export enum RefundStatus {
18
+ PENDING = 'pending',
19
+ PROCESSING = 'processing',
20
+ REFUNDED = 'refunded',
21
+ FAILED = 'failed',
22
+ }
23
+
24
+ @Table
25
+ export class Refund extends Model {
26
+ @ForeignKey(() => Order)
27
+ @Column({ allowNull: false })
28
+ declare orderId: number;
29
+
30
+ @ForeignKey(() => User)
31
+ @Column({ allowNull: true })
32
+ declare userId?: number;
33
+
34
+ @Column({ type: DataType.DECIMAL(10, 3), allowNull: false })
35
+ declare amount: number;
36
+
37
+ @Column({ allowNull: false, defaultValue: 'KWD' })
38
+ declare currency: string;
39
+
40
+ @Column({
41
+ type: DataType.ENUM(...Object.values(RefundMethod)),
42
+ allowNull: false,
43
+ })
44
+ declare method: RefundMethod;
45
+
46
+ @Column({
47
+ type: DataType.ENUM(...Object.values(RefundStatus)),
48
+ defaultValue: RefundStatus.PENDING,
49
+ })
50
+ declare status: RefundStatus;
51
+
52
+ @Column({ allowNull: true })
53
+ declare refundReference?: string;
54
+
55
+ @Column({ type: DataType.TEXT, allowNull: true })
56
+ declare notes?: string;
57
+
58
+ @Column({ type: DataType.DATE, allowNull: true })
59
+ declare processedAt?: Date;
60
+
61
+ @ForeignKey(() => SysUser)
62
+ @Column({ allowNull: true })
63
+ declare processedBy?: number;
64
+
65
+ @ForeignKey(() => SysUser)
66
+ @Column({ allowNull: true })
67
+ declare createdBy?: number;
68
+
69
+ @BelongsTo(() => Order) declare order: Order;
70
+ @BelongsTo(() => User) declare user?: User;
71
+ @BelongsTo(() => SysUser, { foreignKey: 'processedBy', as: 'processor' })
72
+ declare processor?: SysUser;
73
+ @BelongsTo(() => SysUser, { foreignKey: 'createdBy', as: 'creator' })
74
+ declare creator?: SysUser;
75
+ }
@@ -8,7 +8,6 @@ import {
8
8
  } from 'sequelize-typescript';
9
9
  import { RunSheet } from './run-sheet.entity';
10
10
  import { Order } from './order.entity';
11
- import { Inventory } from './inventory.entity';
12
11
 
13
12
  export enum RunSheetOrderStatus {
14
13
  ASSIGNED = 'assigned', // Order added to runsheet, marked shipped
@@ -41,10 +40,6 @@ export class RunSheetOrder extends Model {
41
40
  @Column({ allowNull: true })
42
41
  declare orderNumber?: string;
43
42
 
44
- @ForeignKey(() => Inventory)
45
- @Column({ allowNull: true })
46
- declare inventoryId?: number;
47
-
48
43
  // ── Associations ─────────────────────────────────────────────────────────────
49
44
 
50
45
  @BelongsTo(() => RunSheet)
@@ -52,7 +47,4 @@ export class RunSheetOrder extends Model {
52
47
 
53
48
  @BelongsTo(() => Order)
54
49
  declare order: Order;
55
-
56
- @BelongsTo(() => Inventory)
57
- declare inventory?: Inventory;
58
50
  }
@@ -4,6 +4,7 @@ import {
4
4
  } from 'sequelize-typescript';
5
5
  import { SysUser } from './sys.user.entity';
6
6
  import { RunSheetOrder } from './run-sheet-order.entity';
7
+ import { Inventory } from './inventory.entity';
7
8
 
8
9
  export enum RunSheetStatus {
9
10
  OPEN = 'open', // Created, orders assigned, all moved to shipped
@@ -55,6 +56,10 @@ export class RunSheet extends Model {
55
56
  @Column({ allowNull: true })
56
57
  declare completedBy?: number;
57
58
 
59
+ @ForeignKey(() => Inventory)
60
+ @Column({ allowNull: true })
61
+ declare inventoryId?: number;
62
+
58
63
  // ── Associations ─────────────────────────────────────────────────────────────
59
64
 
60
65
  @BelongsTo(() => SysUser, { foreignKey: 'createdBy', as: 'creator' })
@@ -65,4 +70,7 @@ export class RunSheet extends Model {
65
70
 
66
71
  @HasMany(() => RunSheetOrder)
67
72
  declare runSheetOrders: RunSheetOrder[];
73
+
74
+ @BelongsTo(() => Inventory)
75
+ declare inventory?: Inventory;
68
76
  }
@@ -77,6 +77,7 @@ import { UserTransaction } from './entities/user-transaction.entity';
77
77
  import { PurchaseOrderOrderItem } from './entities/purchase-order-order-item.entity';
78
78
  import { RunSheet } from './entities/run-sheet.entity';
79
79
  import { RunSheetOrder } from './entities/run-sheet-order.entity';
80
+ import { Refund } from './entities/refund.entity';
80
81
 
81
82
  // =============================================================================
82
83
  // EXPORTS
@@ -109,6 +110,9 @@ export {
109
110
  RunSheetOrderStatus,
110
111
  } from './entities/run-sheet-order.entity';
111
112
 
113
+ export { Refund, RefundMethod, RefundStatus } from './entities/refund.entity';
114
+
115
+
112
116
  // ─── Catalogue ────────────────────────────────────────────────────────────────
113
117
  export { Category } from './entities/category.entity';
114
118
  export { Brand } from './entities/brand.entity';
@@ -291,5 +295,7 @@ export function getDbModels(): ModelCtor[] {
291
295
 
292
296
  RunSheet,
293
297
  RunSheetOrder,
298
+
299
+ Refund
294
300
  ];
295
301
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tt-entities",
3
- "version": "0.0.47",
3
+ "version": "0.0.50",
4
4
  "description": "Tatayab entities library",
5
5
  "main": "dist/libs/tatayab-entities-library/index.js",
6
6
  "types": "dist/libs/tatayab-entities-library/index.d.ts",