@kipicore/dbcore 1.1.574 → 1.1.575

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 (135) hide show
  1. package/dist/constants/app.d.ts +117 -0
  2. package/dist/constants/app.js +134 -1
  3. package/dist/constants/errorMessages.d.ts +10 -0
  4. package/dist/constants/errorMessages.js +12 -1
  5. package/dist/constants/successMessages.d.ts +12 -0
  6. package/dist/constants/successMessages.js +14 -1
  7. package/dist/db/psql/migrations/20260615045636-add_rms_models.d.ts +2 -0
  8. package/dist/db/psql/migrations/20260615045636-add_rms_models.js +276 -0
  9. package/dist/db/psql/migrations/20260615083628-add_storage_and_asset_transactions.d.ts +2 -0
  10. package/dist/db/psql/migrations/20260615083628-add_storage_and_asset_transactions.js +60 -0
  11. package/dist/interfaces/index.d.ts +18 -0
  12. package/dist/interfaces/index.js +18 -0
  13. package/dist/interfaces/rmsAssetInterface.d.ts +15 -0
  14. package/dist/interfaces/rmsAssetInterface.js +2 -0
  15. package/dist/interfaces/rmsAssetTransactionInterface.d.ts +16 -0
  16. package/dist/interfaces/rmsAssetTransactionInterface.js +2 -0
  17. package/dist/interfaces/rmsAuditLogInterface.d.ts +17 -0
  18. package/dist/interfaces/rmsAuditLogInterface.js +2 -0
  19. package/dist/interfaces/rmsDepartmentInterface.d.ts +10 -0
  20. package/dist/interfaces/rmsDepartmentInterface.js +2 -0
  21. package/dist/interfaces/rmsGrnInterface.d.ts +14 -0
  22. package/dist/interfaces/rmsGrnInterface.js +2 -0
  23. package/dist/interfaces/rmsGrnItemInterface.d.ts +13 -0
  24. package/dist/interfaces/rmsGrnItemInterface.js +2 -0
  25. package/dist/interfaces/rmsLocationInterface.d.ts +12 -0
  26. package/dist/interfaces/rmsLocationInterface.js +2 -0
  27. package/dist/interfaces/rmsPurchaseOrderInterface.d.ts +17 -0
  28. package/dist/interfaces/rmsPurchaseOrderInterface.js +2 -0
  29. package/dist/interfaces/rmsPurchaseOrderItemInterface.d.ts +13 -0
  30. package/dist/interfaces/rmsPurchaseOrderItemInterface.js +2 -0
  31. package/dist/interfaces/rmsPurchaseRequestInterface.d.ts +14 -0
  32. package/dist/interfaces/rmsPurchaseRequestInterface.js +2 -0
  33. package/dist/interfaces/rmsPurchaseRequestItemInterface.d.ts +13 -0
  34. package/dist/interfaces/rmsPurchaseRequestItemInterface.js +2 -0
  35. package/dist/interfaces/rmsRequestApprovalInterface.d.ts +13 -0
  36. package/dist/interfaces/rmsRequestApprovalInterface.js +2 -0
  37. package/dist/interfaces/rmsResourceDetailsInterface.d.ts +19 -0
  38. package/dist/interfaces/rmsResourceDetailsInterface.js +2 -0
  39. package/dist/interfaces/rmsResourceInterface.d.ts +23 -0
  40. package/dist/interfaces/rmsResourceInterface.js +2 -0
  41. package/dist/interfaces/rmsStockInterface.d.ts +17 -0
  42. package/dist/interfaces/rmsStockInterface.js +2 -0
  43. package/dist/interfaces/rmsStockTransactionInterface.d.ts +18 -0
  44. package/dist/interfaces/rmsStockTransactionInterface.js +2 -0
  45. package/dist/interfaces/rmsStorageInterface.d.ts +17 -0
  46. package/dist/interfaces/rmsStorageInterface.js +2 -0
  47. package/dist/interfaces/rmsVendorDocumentInterface.d.ts +11 -0
  48. package/dist/interfaces/rmsVendorDocumentInterface.js +2 -0
  49. package/dist/interfaces/rmsVendorInterface.d.ts +16 -0
  50. package/dist/interfaces/rmsVendorInterface.js +2 -0
  51. package/dist/models/mongodb/index.d.ts +2 -0
  52. package/dist/models/mongodb/index.js +5 -1
  53. package/dist/models/mongodb/rmsAuditLogModel.d.ts +4 -0
  54. package/dist/models/mongodb/rmsAuditLogModel.js +99 -0
  55. package/dist/models/mongodb/rmsResourceDetailsModel.d.ts +8 -0
  56. package/dist/models/mongodb/rmsResourceDetailsModel.js +57 -0
  57. package/dist/models/psql/index.d.ts +18 -0
  58. package/dist/models/psql/index.js +39 -1
  59. package/dist/models/psql/rmsAssetModel.d.ts +25 -0
  60. package/dist/models/psql/rmsAssetModel.js +80 -0
  61. package/dist/models/psql/rmsAssetTransactionModel.d.ts +26 -0
  62. package/dist/models/psql/rmsAssetTransactionModel.js +89 -0
  63. package/dist/models/psql/rmsDepartmentModel.d.ts +20 -0
  64. package/dist/models/psql/rmsDepartmentModel.js +67 -0
  65. package/dist/models/psql/rmsGrnItemModel.d.ts +23 -0
  66. package/dist/models/psql/rmsGrnItemModel.js +75 -0
  67. package/dist/models/psql/rmsGrnModel.d.ts +24 -0
  68. package/dist/models/psql/rmsGrnModel.js +74 -0
  69. package/dist/models/psql/rmsLocationModel.d.ts +22 -0
  70. package/dist/models/psql/rmsLocationModel.js +79 -0
  71. package/dist/models/psql/rmsPurchaseOrderItemModel.d.ts +23 -0
  72. package/dist/models/psql/rmsPurchaseOrderItemModel.js +89 -0
  73. package/dist/models/psql/rmsPurchaseOrderModel.d.ts +27 -0
  74. package/dist/models/psql/rmsPurchaseOrderModel.js +108 -0
  75. package/dist/models/psql/rmsPurchaseRequestItemModel.d.ts +23 -0
  76. package/dist/models/psql/rmsPurchaseRequestItemModel.js +86 -0
  77. package/dist/models/psql/rmsPurchaseRequestModel.d.ts +24 -0
  78. package/dist/models/psql/rmsPurchaseRequestModel.js +96 -0
  79. package/dist/models/psql/rmsRequestApprovalModel.d.ts +23 -0
  80. package/dist/models/psql/rmsRequestApprovalModel.js +79 -0
  81. package/dist/models/psql/rmsResourceModel.d.ts +33 -0
  82. package/dist/models/psql/rmsResourceModel.js +147 -0
  83. package/dist/models/psql/rmsStockModel.d.ts +27 -0
  84. package/dist/models/psql/rmsStockModel.js +113 -0
  85. package/dist/models/psql/rmsStockTransactionModel.d.ts +28 -0
  86. package/dist/models/psql/rmsStockTransactionModel.js +113 -0
  87. package/dist/models/psql/rmsStorageRackModel.d.ts +20 -0
  88. package/dist/models/psql/rmsStorageRackModel.js +57 -0
  89. package/dist/models/psql/rmsStorageSlotModel.d.ts +19 -0
  90. package/dist/models/psql/rmsStorageSlotModel.js +53 -0
  91. package/dist/models/psql/rmsVendorDocumentModel.d.ts +21 -0
  92. package/dist/models/psql/rmsVendorDocumentModel.js +80 -0
  93. package/dist/models/psql/rmsVendorModel.d.ts +27 -0
  94. package/dist/models/psql/rmsVendorModel.js +95 -0
  95. package/dist/types/index.d.ts +19 -0
  96. package/dist/types/index.js +19 -0
  97. package/dist/types/rmsAssetTransactionType.d.ts +3 -0
  98. package/dist/types/rmsAssetTransactionType.js +2 -0
  99. package/dist/types/rmsAssetType.d.ts +3 -0
  100. package/dist/types/rmsAssetType.js +2 -0
  101. package/dist/types/rmsAuditLogType.d.ts +3 -0
  102. package/dist/types/rmsAuditLogType.js +2 -0
  103. package/dist/types/rmsDepartmentType.d.ts +3 -0
  104. package/dist/types/rmsDepartmentType.js +2 -0
  105. package/dist/types/rmsGrnItemType.d.ts +3 -0
  106. package/dist/types/rmsGrnItemType.js +2 -0
  107. package/dist/types/rmsGrnType.d.ts +3 -0
  108. package/dist/types/rmsGrnType.js +2 -0
  109. package/dist/types/rmsLocationType.d.ts +3 -0
  110. package/dist/types/rmsLocationType.js +2 -0
  111. package/dist/types/rmsPurchaseOrderItemType.d.ts +3 -0
  112. package/dist/types/rmsPurchaseOrderItemType.js +2 -0
  113. package/dist/types/rmsPurchaseOrderType.d.ts +3 -0
  114. package/dist/types/rmsPurchaseOrderType.js +2 -0
  115. package/dist/types/rmsPurchaseRequestItemType.d.ts +3 -0
  116. package/dist/types/rmsPurchaseRequestItemType.js +2 -0
  117. package/dist/types/rmsPurchaseRequestType.d.ts +3 -0
  118. package/dist/types/rmsPurchaseRequestType.js +2 -0
  119. package/dist/types/rmsRequestApprovalType.d.ts +3 -0
  120. package/dist/types/rmsRequestApprovalType.js +2 -0
  121. package/dist/types/rmsResourceDetailsType.d.ts +2 -0
  122. package/dist/types/rmsResourceDetailsType.js +2 -0
  123. package/dist/types/rmsResourceType.d.ts +3 -0
  124. package/dist/types/rmsResourceType.js +2 -0
  125. package/dist/types/rmsStockTransactionType.d.ts +3 -0
  126. package/dist/types/rmsStockTransactionType.js +2 -0
  127. package/dist/types/rmsStockType.d.ts +3 -0
  128. package/dist/types/rmsStockType.js +2 -0
  129. package/dist/types/rmsStorageType.d.ts +4 -0
  130. package/dist/types/rmsStorageType.js +2 -0
  131. package/dist/types/rmsVendorDocumentType.d.ts +3 -0
  132. package/dist/types/rmsVendorDocumentType.js +2 -0
  133. package/dist/types/rmsVendorType.d.ts +3 -0
  134. package/dist/types/rmsVendorType.js +2 -0
  135. package/package.json +1 -1
@@ -0,0 +1,108 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const sequelize_1 = require("sequelize");
4
+ const index_1 = require("./index");
5
+ const app_1 = require("../../constants/app");
6
+ class RmsPurchaseOrderModel extends sequelize_1.Model {
7
+ static associate(models) {
8
+ const { InstituteModel, UserModel, RmsVendorModel, RmsPurchaseRequestModel, RmsPurchaseOrderItemModel } = models;
9
+ RmsPurchaseOrderModel.belongsTo(InstituteModel, {
10
+ foreignKey: { name: 'instituteId', field: 'institute_id' },
11
+ as: 'institute',
12
+ });
13
+ RmsPurchaseOrderModel.belongsTo(RmsPurchaseRequestModel, {
14
+ foreignKey: { name: 'purchaseRequestId', field: 'purchase_request_id' },
15
+ as: 'purchaseRequest',
16
+ });
17
+ RmsPurchaseOrderModel.belongsTo(RmsVendorModel, {
18
+ foreignKey: { name: 'vendorId', field: 'vendor_id' },
19
+ as: 'vendor',
20
+ });
21
+ RmsPurchaseOrderModel.hasMany(RmsPurchaseOrderItemModel, {
22
+ foreignKey: 'purchaseOrderId',
23
+ as: 'items',
24
+ });
25
+ RmsPurchaseOrderModel.belongsTo(UserModel, {
26
+ foreignKey: { name: 'createdBy', field: 'created_by', allowNull: true },
27
+ as: 'createdByUser',
28
+ });
29
+ RmsPurchaseOrderModel.belongsTo(UserModel, {
30
+ foreignKey: { name: 'updatedBy', field: 'updated_by', allowNull: true },
31
+ as: 'updatedByUser',
32
+ });
33
+ RmsPurchaseOrderModel.belongsTo(UserModel, {
34
+ foreignKey: { name: 'deletedBy', field: 'deleted_by', allowNull: true },
35
+ as: 'deletedByUser',
36
+ });
37
+ }
38
+ }
39
+ RmsPurchaseOrderModel.init({
40
+ id: {
41
+ type: sequelize_1.DataTypes.UUID,
42
+ defaultValue: sequelize_1.DataTypes.UUIDV4,
43
+ allowNull: false,
44
+ primaryKey: true,
45
+ },
46
+ instituteId: {
47
+ type: sequelize_1.DataTypes.UUID,
48
+ allowNull: false,
49
+ },
50
+ poNumber: {
51
+ type: sequelize_1.DataTypes.STRING,
52
+ allowNull: false,
53
+ },
54
+ purchaseRequestId: {
55
+ type: sequelize_1.DataTypes.UUID,
56
+ allowNull: true,
57
+ },
58
+ vendorId: {
59
+ type: sequelize_1.DataTypes.UUID,
60
+ allowNull: false,
61
+ },
62
+ orderDate: {
63
+ type: sequelize_1.DataTypes.DATE,
64
+ allowNull: false,
65
+ defaultValue: sequelize_1.DataTypes.NOW,
66
+ },
67
+ expectedDeliveryDate: {
68
+ type: sequelize_1.DataTypes.DATE,
69
+ allowNull: true,
70
+ },
71
+ totalAmount: {
72
+ type: sequelize_1.DataTypes.DECIMAL(15, 2),
73
+ allowNull: false,
74
+ defaultValue: 0,
75
+ },
76
+ taxAmount: {
77
+ type: sequelize_1.DataTypes.DECIMAL(15, 2),
78
+ allowNull: false,
79
+ defaultValue: 0,
80
+ },
81
+ discountAmount: {
82
+ type: sequelize_1.DataTypes.DECIMAL(15, 2),
83
+ allowNull: false,
84
+ defaultValue: 0,
85
+ },
86
+ approvalStatus: {
87
+ type: sequelize_1.DataTypes.STRING,
88
+ allowNull: false,
89
+ defaultValue: app_1.RMS_APPROVAL_STATUS.DRAFT,
90
+ },
91
+ fulfillmentStatus: {
92
+ type: sequelize_1.DataTypes.STRING,
93
+ allowNull: false,
94
+ defaultValue: app_1.RMS_PO_FULFILLMENT_STATUS.PENDING,
95
+ },
96
+ status: {
97
+ type: sequelize_1.DataTypes.STRING,
98
+ allowNull: false,
99
+ defaultValue: app_1.COMMAN_STATUS.ACTIVE,
100
+ },
101
+ }, {
102
+ sequelize: index_1.sequelize,
103
+ modelName: 'RmsPurchaseOrderModel',
104
+ tableName: 'rms_purchase_orders',
105
+ timestamps: true,
106
+ paranoid: true,
107
+ });
108
+ exports.default = RmsPurchaseOrderModel;
@@ -0,0 +1,23 @@
1
+ import { Model } from 'sequelize';
2
+ import { IRmsPurchaseRequestItemAttributes } from '../../interfaces/rmsPurchaseRequestItemInterface';
3
+ import { TRmsPurchaseRequestItemCreationAttributes } from '../../types/rmsPurchaseRequestItemType';
4
+ declare class RmsPurchaseRequestItemModel extends Model<IRmsPurchaseRequestItemAttributes, TRmsPurchaseRequestItemCreationAttributes> {
5
+ id: string;
6
+ instituteId: string;
7
+ purchaseRequestId: string;
8
+ resourceId: string;
9
+ description?: string | null;
10
+ quantity: number;
11
+ estimatedRate?: number | null;
12
+ estimatedAmount?: number | null;
13
+ approvedQuantity?: number | null;
14
+ status: string;
15
+ createdBy?: string | null;
16
+ updatedBy?: string | null;
17
+ deletedBy?: string | null;
18
+ readonly createdAt?: Date;
19
+ readonly updatedAt?: Date;
20
+ readonly deletedAt?: Date | null;
21
+ static associate(models: any): void;
22
+ }
23
+ export default RmsPurchaseRequestItemModel;
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const sequelize_1 = require("sequelize");
4
+ const index_1 = require("./index");
5
+ const app_1 = require("../../constants/app");
6
+ class RmsPurchaseRequestItemModel extends sequelize_1.Model {
7
+ static associate(models) {
8
+ const { InstituteModel, RmsPurchaseRequestModel, RmsResourceModel, UserModel } = models;
9
+ RmsPurchaseRequestItemModel.belongsTo(InstituteModel, {
10
+ foreignKey: { name: 'instituteId', field: 'institute_id' },
11
+ as: 'institute',
12
+ });
13
+ RmsPurchaseRequestItemModel.belongsTo(RmsPurchaseRequestModel, {
14
+ foreignKey: { name: 'purchaseRequestId', field: 'purchase_request_id' },
15
+ as: 'purchaseRequest',
16
+ });
17
+ RmsPurchaseRequestItemModel.belongsTo(RmsResourceModel, {
18
+ foreignKey: { name: 'resourceId', field: 'resource_id' },
19
+ as: 'resource',
20
+ });
21
+ RmsPurchaseRequestItemModel.belongsTo(UserModel, {
22
+ foreignKey: { name: 'createdBy', field: 'created_by', allowNull: true },
23
+ as: 'createdByUser',
24
+ });
25
+ RmsPurchaseRequestItemModel.belongsTo(UserModel, {
26
+ foreignKey: { name: 'updatedBy', field: 'updated_by', allowNull: true },
27
+ as: 'updatedByUser',
28
+ });
29
+ RmsPurchaseRequestItemModel.belongsTo(UserModel, {
30
+ foreignKey: { name: 'deletedBy', field: 'deleted_by', allowNull: true },
31
+ as: 'deletedByUser',
32
+ });
33
+ }
34
+ }
35
+ RmsPurchaseRequestItemModel.init({
36
+ id: {
37
+ type: sequelize_1.DataTypes.UUID,
38
+ defaultValue: sequelize_1.DataTypes.UUIDV4,
39
+ allowNull: false,
40
+ primaryKey: true,
41
+ },
42
+ instituteId: {
43
+ type: sequelize_1.DataTypes.UUID,
44
+ allowNull: false,
45
+ },
46
+ purchaseRequestId: {
47
+ type: sequelize_1.DataTypes.UUID,
48
+ allowNull: false,
49
+ },
50
+ resourceId: {
51
+ type: sequelize_1.DataTypes.UUID,
52
+ allowNull: false,
53
+ },
54
+ description: {
55
+ type: sequelize_1.DataTypes.TEXT,
56
+ allowNull: true,
57
+ },
58
+ quantity: {
59
+ type: sequelize_1.DataTypes.DECIMAL(10, 2),
60
+ allowNull: false,
61
+ },
62
+ estimatedRate: {
63
+ type: sequelize_1.DataTypes.DECIMAL(10, 2),
64
+ allowNull: true,
65
+ },
66
+ estimatedAmount: {
67
+ type: sequelize_1.DataTypes.DECIMAL(15, 2),
68
+ allowNull: true,
69
+ },
70
+ approvedQuantity: {
71
+ type: sequelize_1.DataTypes.DECIMAL(10, 2),
72
+ allowNull: true,
73
+ },
74
+ status: {
75
+ type: sequelize_1.DataTypes.STRING,
76
+ allowNull: false,
77
+ defaultValue: app_1.COMMAN_STATUS.ACTIVE,
78
+ },
79
+ }, {
80
+ sequelize: index_1.sequelize,
81
+ modelName: 'RmsPurchaseRequestItemModel',
82
+ tableName: 'rms_purchase_request_items',
83
+ timestamps: true,
84
+ paranoid: true,
85
+ });
86
+ exports.default = RmsPurchaseRequestItemModel;
@@ -0,0 +1,24 @@
1
+ import { Model } from 'sequelize';
2
+ import { IRmsPurchaseRequestAttributes } from '../../interfaces/rmsPurchaseRequestInterface';
3
+ import { TRmsPurchaseRequestCreationAttributes } from '../../types/rmsPurchaseRequestType';
4
+ import { RMS_APPROVAL_STATUS, RMS_PRIORITY } from '../../constants/app';
5
+ declare class RmsPurchaseRequestModel extends Model<IRmsPurchaseRequestAttributes, TRmsPurchaseRequestCreationAttributes> {
6
+ id: string;
7
+ instituteId: string;
8
+ requestNo: string;
9
+ requestedBy: string;
10
+ departmentId: string;
11
+ requiredDate: Date;
12
+ purpose?: string | null;
13
+ priority: RMS_PRIORITY;
14
+ approvalStatus: RMS_APPROVAL_STATUS;
15
+ status: string;
16
+ createdBy?: string | null;
17
+ updatedBy?: string | null;
18
+ deletedBy?: string | null;
19
+ readonly createdAt?: Date;
20
+ readonly updatedAt?: Date;
21
+ readonly deletedAt?: Date | null;
22
+ static associate(models: any): void;
23
+ }
24
+ export default RmsPurchaseRequestModel;
@@ -0,0 +1,96 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const sequelize_1 = require("sequelize");
4
+ const index_1 = require("./index");
5
+ const app_1 = require("../../constants/app");
6
+ class RmsPurchaseRequestModel extends sequelize_1.Model {
7
+ static associate(models) {
8
+ const { InstituteModel, UserModel, RmsDepartmentModel, RmsPurchaseRequestItemModel, RmsPurchaseOrderModel } = models;
9
+ RmsPurchaseRequestModel.belongsTo(InstituteModel, {
10
+ foreignKey: { name: 'instituteId', field: 'institute_id' },
11
+ as: 'institute',
12
+ });
13
+ RmsPurchaseRequestModel.belongsTo(UserModel, {
14
+ foreignKey: { name: 'requestedBy', field: 'requested_by' },
15
+ as: 'requester',
16
+ });
17
+ RmsPurchaseRequestModel.belongsTo(RmsDepartmentModel, {
18
+ foreignKey: { name: 'departmentId', field: 'department_id' },
19
+ as: 'department',
20
+ });
21
+ RmsPurchaseRequestModel.hasMany(RmsPurchaseRequestItemModel, {
22
+ foreignKey: 'purchaseRequestId',
23
+ as: 'items',
24
+ });
25
+ RmsPurchaseRequestModel.hasMany(RmsPurchaseOrderModel, {
26
+ foreignKey: 'purchaseRequestId',
27
+ as: 'purchaseOrders',
28
+ });
29
+ RmsPurchaseRequestModel.belongsTo(UserModel, {
30
+ foreignKey: { name: 'createdBy', field: 'created_by', allowNull: true },
31
+ as: 'createdByUser',
32
+ });
33
+ RmsPurchaseRequestModel.belongsTo(UserModel, {
34
+ foreignKey: { name: 'updatedBy', field: 'updated_by', allowNull: true },
35
+ as: 'updatedByUser',
36
+ });
37
+ RmsPurchaseRequestModel.belongsTo(UserModel, {
38
+ foreignKey: { name: 'deletedBy', field: 'deleted_by', allowNull: true },
39
+ as: 'deletedByUser',
40
+ });
41
+ }
42
+ }
43
+ RmsPurchaseRequestModel.init({
44
+ id: {
45
+ type: sequelize_1.DataTypes.UUID,
46
+ defaultValue: sequelize_1.DataTypes.UUIDV4,
47
+ allowNull: false,
48
+ primaryKey: true,
49
+ },
50
+ instituteId: {
51
+ type: sequelize_1.DataTypes.UUID,
52
+ allowNull: false,
53
+ },
54
+ requestNo: {
55
+ type: sequelize_1.DataTypes.STRING,
56
+ allowNull: false,
57
+ },
58
+ requestedBy: {
59
+ type: sequelize_1.DataTypes.UUID,
60
+ allowNull: false,
61
+ },
62
+ departmentId: {
63
+ type: sequelize_1.DataTypes.UUID,
64
+ allowNull: false,
65
+ },
66
+ requiredDate: {
67
+ type: sequelize_1.DataTypes.DATE,
68
+ allowNull: false,
69
+ },
70
+ purpose: {
71
+ type: sequelize_1.DataTypes.TEXT,
72
+ allowNull: true,
73
+ },
74
+ priority: {
75
+ type: sequelize_1.DataTypes.STRING,
76
+ allowNull: false,
77
+ defaultValue: app_1.RMS_PRIORITY.MEDIUM,
78
+ },
79
+ approvalStatus: {
80
+ type: sequelize_1.DataTypes.STRING,
81
+ allowNull: false,
82
+ defaultValue: app_1.RMS_APPROVAL_STATUS.DRAFT,
83
+ },
84
+ status: {
85
+ type: sequelize_1.DataTypes.STRING,
86
+ allowNull: false,
87
+ defaultValue: app_1.COMMAN_STATUS.ACTIVE,
88
+ },
89
+ }, {
90
+ sequelize: index_1.sequelize,
91
+ modelName: 'RmsPurchaseRequestModel',
92
+ tableName: 'rms_purchase_requests',
93
+ timestamps: true,
94
+ paranoid: true,
95
+ });
96
+ exports.default = RmsPurchaseRequestModel;
@@ -0,0 +1,23 @@
1
+ import { Model } from 'sequelize';
2
+ import { IRmsRequestApprovalAttributes } from '../../interfaces/rmsRequestApprovalInterface';
3
+ import { TRmsRequestApprovalCreationAttributes } from '../../types/rmsRequestApprovalType';
4
+ import { RMS_DECISION } from '../../constants/app';
5
+ declare class RmsRequestApprovalModel extends Model<IRmsRequestApprovalAttributes, TRmsRequestApprovalCreationAttributes> {
6
+ id: string;
7
+ instituteId: string;
8
+ entityType: string;
9
+ entityId: string;
10
+ approvalLevel: number;
11
+ approverId: string;
12
+ decision: RMS_DECISION;
13
+ comments?: string | null;
14
+ decidedAt?: Date | null;
15
+ createdBy?: string | null;
16
+ updatedBy?: string | null;
17
+ deletedBy?: string | null;
18
+ readonly createdAt?: Date;
19
+ readonly updatedAt?: Date;
20
+ readonly deletedAt?: Date | null;
21
+ static associate(models: any): void;
22
+ }
23
+ export default RmsRequestApprovalModel;
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const sequelize_1 = require("sequelize");
4
+ const index_1 = require("./index");
5
+ const app_1 = require("../../constants/app");
6
+ class RmsRequestApprovalModel extends sequelize_1.Model {
7
+ static associate(models) {
8
+ const { InstituteModel, UserModel } = models;
9
+ RmsRequestApprovalModel.belongsTo(InstituteModel, {
10
+ foreignKey: { name: 'instituteId', field: 'institute_id' },
11
+ as: 'institute',
12
+ });
13
+ RmsRequestApprovalModel.belongsTo(UserModel, {
14
+ foreignKey: { name: 'approverId', field: 'approver_id' },
15
+ as: 'approver',
16
+ });
17
+ RmsRequestApprovalModel.belongsTo(UserModel, {
18
+ foreignKey: { name: 'createdBy', field: 'created_by', allowNull: true },
19
+ as: 'createdByUser',
20
+ });
21
+ RmsRequestApprovalModel.belongsTo(UserModel, {
22
+ foreignKey: { name: 'updatedBy', field: 'updated_by', allowNull: true },
23
+ as: 'updatedByUser',
24
+ });
25
+ RmsRequestApprovalModel.belongsTo(UserModel, {
26
+ foreignKey: { name: 'deletedBy', field: 'deleted_by', allowNull: true },
27
+ as: 'deletedByUser',
28
+ });
29
+ }
30
+ }
31
+ RmsRequestApprovalModel.init({
32
+ id: {
33
+ type: sequelize_1.DataTypes.UUID,
34
+ defaultValue: sequelize_1.DataTypes.UUIDV4,
35
+ allowNull: false,
36
+ primaryKey: true,
37
+ },
38
+ instituteId: {
39
+ type: sequelize_1.DataTypes.UUID,
40
+ allowNull: false,
41
+ },
42
+ entityType: {
43
+ type: sequelize_1.DataTypes.STRING,
44
+ allowNull: false,
45
+ },
46
+ entityId: {
47
+ type: sequelize_1.DataTypes.UUID,
48
+ allowNull: false,
49
+ },
50
+ approvalLevel: {
51
+ type: sequelize_1.DataTypes.INTEGER,
52
+ allowNull: false,
53
+ defaultValue: 1,
54
+ },
55
+ approverId: {
56
+ type: sequelize_1.DataTypes.UUID,
57
+ allowNull: false,
58
+ },
59
+ decision: {
60
+ type: sequelize_1.DataTypes.STRING,
61
+ allowNull: false,
62
+ defaultValue: app_1.RMS_DECISION.PENDING,
63
+ },
64
+ comments: {
65
+ type: sequelize_1.DataTypes.TEXT,
66
+ allowNull: true,
67
+ },
68
+ decidedAt: {
69
+ type: sequelize_1.DataTypes.DATE,
70
+ allowNull: true,
71
+ },
72
+ }, {
73
+ sequelize: index_1.sequelize,
74
+ modelName: 'RmsRequestApprovalModel',
75
+ tableName: 'rms_request_approvals',
76
+ timestamps: true,
77
+ paranoid: true,
78
+ });
79
+ exports.default = RmsRequestApprovalModel;
@@ -0,0 +1,33 @@
1
+ import { Model } from 'sequelize';
2
+ import { IRmsResourceAttributes } from '../../interfaces/rmsResourceInterface';
3
+ import { TRmsResourceCreationAttributes } from '../../types/rmsResourceType';
4
+ import { COMMAN_STATUS, RMS_RESOURCE_TYPE, RMS_RESOURCE_UNIT } from '../../constants';
5
+ declare class RmsResourceModel extends Model<IRmsResourceAttributes, TRmsResourceCreationAttributes> implements IRmsResourceAttributes {
6
+ id: string;
7
+ instituteId: string;
8
+ resourceCode: string;
9
+ resourceName: string;
10
+ resourceType: RMS_RESOURCE_TYPE;
11
+ categoryId?: string | null;
12
+ subCategoryId?: string | null;
13
+ productId?: string | null;
14
+ unit: RMS_RESOURCE_UNIT;
15
+ departmentId?: string | null;
16
+ defaultLocationId?: string | null;
17
+ custodianId?: string | null;
18
+ description?: string | null;
19
+ minStockLevel: number;
20
+ reorderLevel: number;
21
+ isBatchTracked: boolean;
22
+ isExpiryTracked: boolean;
23
+ metadata?: object | null;
24
+ status: COMMAN_STATUS;
25
+ createdBy: string;
26
+ updatedBy: string;
27
+ deletedBy: string;
28
+ readonly createdAt: Date;
29
+ readonly updatedAt: Date;
30
+ readonly deletedAt?: string;
31
+ static associate(models: any): void;
32
+ }
33
+ export default RmsResourceModel;
@@ -0,0 +1,147 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const sequelize_1 = require("sequelize");
4
+ const index_1 = require("./index");
5
+ const constants_1 = require("../../constants");
6
+ class RmsResourceModel extends sequelize_1.Model {
7
+ static associate(models) {
8
+ const { UserModel, InstituteModel, CategoriesModel, SubCategoriesModel, ProductModel, RmsDepartmentModel, RmsLocationModel } = models;
9
+ RmsResourceModel.belongsTo(InstituteModel, { foreignKey: 'instituteId', as: 'institute' });
10
+ RmsResourceModel.belongsTo(CategoriesModel, { foreignKey: 'categoryId', as: 'category' });
11
+ RmsResourceModel.belongsTo(SubCategoriesModel, { foreignKey: 'subCategoryId', as: 'subCategory' });
12
+ RmsResourceModel.belongsTo(ProductModel, { foreignKey: 'productId', as: 'product' });
13
+ RmsResourceModel.belongsTo(RmsDepartmentModel, { foreignKey: 'departmentId', as: 'department' });
14
+ RmsResourceModel.belongsTo(RmsLocationModel, { foreignKey: 'defaultLocationId', as: 'defaultLocation' });
15
+ RmsResourceModel.belongsTo(UserModel, { foreignKey: 'custodianId', as: 'custodian' });
16
+ CategoriesModel.hasMany(RmsResourceModel, { foreignKey: 'categoryId', as: 'resources' });
17
+ SubCategoriesModel.hasMany(RmsResourceModel, { foreignKey: 'subCategoryId', as: 'resources' });
18
+ ProductModel.hasMany(RmsResourceModel, { foreignKey: 'productId', as: 'resources' });
19
+ RmsDepartmentModel.hasMany(RmsResourceModel, { foreignKey: 'departmentId', as: 'resources' });
20
+ RmsLocationModel.hasMany(RmsResourceModel, { foreignKey: 'defaultLocationId', as: 'resources' });
21
+ UserModel.hasMany(RmsResourceModel, { foreignKey: 'custodianId', as: 'resources' });
22
+ InstituteModel.hasMany(RmsResourceModel, { foreignKey: 'instituteId', as: 'resources' });
23
+ RmsResourceModel.belongsTo(UserModel, { foreignKey: { name: 'createdBy', field: 'created_by', allowNull: true }, as: 'createdByUser' });
24
+ RmsResourceModel.belongsTo(UserModel, { foreignKey: { name: 'updatedBy', field: 'updated_by', allowNull: true }, as: 'updatedByUser' });
25
+ RmsResourceModel.belongsTo(UserModel, { foreignKey: { name: 'deletedBy', field: 'deleted_by', allowNull: true }, as: 'deletedByUser' });
26
+ }
27
+ }
28
+ RmsResourceModel.init({
29
+ id: {
30
+ type: sequelize_1.DataTypes.UUID,
31
+ defaultValue: sequelize_1.DataTypes.UUIDV4,
32
+ primaryKey: true,
33
+ },
34
+ instituteId: {
35
+ type: sequelize_1.DataTypes.UUID,
36
+ allowNull: false,
37
+ field: 'institute_id',
38
+ },
39
+ resourceCode: {
40
+ type: sequelize_1.DataTypes.STRING,
41
+ allowNull: false,
42
+ field: 'resource_code',
43
+ },
44
+ resourceName: {
45
+ type: sequelize_1.DataTypes.STRING,
46
+ allowNull: false,
47
+ field: 'resource_name',
48
+ },
49
+ resourceType: {
50
+ type: sequelize_1.DataTypes.STRING,
51
+ allowNull: false,
52
+ field: 'resource_type',
53
+ },
54
+ categoryId: {
55
+ type: sequelize_1.DataTypes.UUID,
56
+ allowNull: true,
57
+ field: 'category_id',
58
+ },
59
+ subCategoryId: {
60
+ type: sequelize_1.DataTypes.UUID,
61
+ allowNull: true,
62
+ field: 'sub_category_id',
63
+ },
64
+ productId: {
65
+ type: sequelize_1.DataTypes.UUID,
66
+ allowNull: true,
67
+ field: 'product_id',
68
+ },
69
+ unit: {
70
+ type: sequelize_1.DataTypes.STRING,
71
+ allowNull: false,
72
+ },
73
+ departmentId: {
74
+ type: sequelize_1.DataTypes.UUID,
75
+ allowNull: true,
76
+ field: 'department_id',
77
+ },
78
+ defaultLocationId: {
79
+ type: sequelize_1.DataTypes.UUID,
80
+ allowNull: true,
81
+ field: 'default_location_id',
82
+ },
83
+ custodianId: {
84
+ type: sequelize_1.DataTypes.UUID,
85
+ allowNull: true,
86
+ field: 'custodian_id',
87
+ },
88
+ description: {
89
+ type: sequelize_1.DataTypes.TEXT,
90
+ allowNull: true,
91
+ },
92
+ minStockLevel: {
93
+ type: sequelize_1.DataTypes.INTEGER,
94
+ allowNull: false,
95
+ defaultValue: 0,
96
+ field: 'min_stock_level',
97
+ },
98
+ reorderLevel: {
99
+ type: sequelize_1.DataTypes.INTEGER,
100
+ allowNull: false,
101
+ defaultValue: 0,
102
+ field: 'reorder_level',
103
+ },
104
+ isBatchTracked: {
105
+ type: sequelize_1.DataTypes.BOOLEAN,
106
+ allowNull: false,
107
+ defaultValue: false,
108
+ field: 'is_batch_tracked',
109
+ },
110
+ isExpiryTracked: {
111
+ type: sequelize_1.DataTypes.BOOLEAN,
112
+ allowNull: false,
113
+ defaultValue: false,
114
+ field: 'is_expiry_tracked',
115
+ },
116
+ metadata: {
117
+ type: sequelize_1.DataTypes.JSONB,
118
+ allowNull: true,
119
+ },
120
+ status: {
121
+ type: sequelize_1.DataTypes.STRING,
122
+ allowNull: false,
123
+ defaultValue: constants_1.COMMAN_STATUS.ACTIVE,
124
+ },
125
+ createdBy: {
126
+ type: sequelize_1.DataTypes.UUID,
127
+ allowNull: true,
128
+ field: 'created_by',
129
+ },
130
+ updatedBy: {
131
+ type: sequelize_1.DataTypes.UUID,
132
+ allowNull: true,
133
+ field: 'updated_by',
134
+ },
135
+ deletedBy: {
136
+ type: sequelize_1.DataTypes.UUID,
137
+ allowNull: true,
138
+ field: 'deleted_by',
139
+ },
140
+ }, {
141
+ sequelize: index_1.sequelize,
142
+ modelName: 'RmsResourceModel',
143
+ tableName: 'rms_resources',
144
+ timestamps: true,
145
+ paranoid: true,
146
+ });
147
+ exports.default = RmsResourceModel;
@@ -0,0 +1,27 @@
1
+ import { Model } from 'sequelize';
2
+ import { IRmsStockAttributes } from '../../interfaces/rmsStockInterface';
3
+ import { TRmsStockCreationAttributes } from '../../types/rmsStockType';
4
+ import { COMMAN_STATUS, RMS_STOCK_SCOPE } from '../../constants';
5
+ declare class RmsStockModel extends Model<IRmsStockAttributes, TRmsStockCreationAttributes> implements IRmsStockAttributes {
6
+ id: string;
7
+ instituteId: string;
8
+ resourceId: string;
9
+ stockScope: RMS_STOCK_SCOPE;
10
+ locationId?: string | null;
11
+ batchId?: string | null;
12
+ availableQty: number;
13
+ reservedQty: number;
14
+ issuedQty: number;
15
+ damagedQty: number;
16
+ expiredQty: number;
17
+ totalQty: number;
18
+ status: COMMAN_STATUS;
19
+ createdBy: string;
20
+ updatedBy: string;
21
+ deletedBy: string;
22
+ readonly createdAt: Date;
23
+ readonly updatedAt: Date;
24
+ readonly deletedAt?: string;
25
+ static associate(models: any): void;
26
+ }
27
+ export default RmsStockModel;