tango-api-schema 2.6.25 → 2.6.27

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.
package/index.js CHANGED
@@ -36,6 +36,7 @@ import paymentAccountModel from "./schema/paymentAccount.model.js";
36
36
  import externalParameterModel from "./schema/externalParameter.model.js";
37
37
  import transactionModel from "./schema/transaction.model.js";
38
38
  import estimateModel from "./schema/estimate.model.js";
39
+ import paymentReminderModel from "./schema/paymentReminder.model.js";
39
40
  import bankTransactionModel from "./schema/bankTransaction.model.js";
40
41
  import dataMismatchDraftModel from "./schema/dataMismatchDraft.model.js";
41
42
  import traxAuditDataModel from "./schema/traxAuditData.model.js";
@@ -171,6 +172,7 @@ export default {
171
172
  externalParameterModel,
172
173
  transactionModel,
173
174
  estimateModel,
175
+ paymentReminderModel,
174
176
  bankTransactionModel,
175
177
  dataMismatchDraftModel,
176
178
  traxAuditDataModel,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tango-api-schema",
3
- "version": "2.6.25",
3
+ "version": "2.6.27",
4
4
  "description": "tangoEye model schema",
5
5
  "main": "index.js",
6
6
  "type": "module",
@@ -1,130 +1,130 @@
1
- import mongoose from 'mongoose';
2
-
3
- const billingSchema = new mongoose.Schema(
4
- {
5
- clientId: {
6
- type: String,
7
- required: true,
8
- },
9
- groupName: {
10
- type: String,
11
- default:'Default Group'
12
- },
13
- groupTag: {
14
- type: String,
15
- enum: ['store','gst'],
16
- default: 'store'
17
- },
18
- registeredCompanyName: {
19
- type: String,
20
- },
21
- gst: {
22
- type: String,
23
- },
24
- addressLineOne: {
25
- type: String,
26
- },
27
- addressLineTwo: {
28
- type: String,
29
- },
30
- city: {
31
- type: String,
32
- },
33
- state: {
34
- type: String,
35
- },
36
- country: {
37
- type: String,
38
- },
39
- pinCode: {
40
- type: String,
41
- },
42
- placeOfSupply: {
43
- type: String,
44
- },
45
- po: {
46
- type: String,
47
- },
48
- stores: {
49
- type: Array,
50
- },
51
- proRata: {
52
- type: String,
53
- // 'prorate' = bill for actual working days.
54
- // 'flat' = bill for the full month regardless of working days.
55
- // Note: legacy values 'before15' / 'after15' were migrated out via
56
- // scripts/migrate-billing-prorata-pricing.js. Don't reintroduce them.
57
- enum: ['prorate','flat'],
58
- default: 'prorate'
59
- },
60
- paymentCategory: {
61
- type: String,
62
- enum: ['pre','post'],
63
- default: 'post'
64
- },
65
- currency: {
66
- type: String,
67
- enum: ['dollar','inr','singaporedollar','euro'],
68
- },
69
- // Drives invoice-generation tax behavior. 'domestic' runs the
70
- // existing GST/IGST/CGST/SGST logic. 'international' suppresses
71
- // tax lines entirely (the tax array is left empty so totalAmount
72
- // equals subtotal). Defaults to 'domestic' so existing records
73
- // keep their current behavior on read.
74
- taxCalculationType: {
75
- type: String,
76
- enum: ['domestic','international'],
77
- default: 'domestic'
78
- },
79
- isInstallationOneTime: {
80
- type: Boolean,
81
- default: false
82
- },
83
- installationFee: {
84
- type: Number,
85
- },
86
- paymentCycle: {
87
- type: String,
88
- enum: ['monthly','quarter', 'halfYearly', 'yearly'],
89
- default: 'monthly'
90
- },
91
- paymentTerm: {
92
- type: Number,
93
- enum: [30, 45, 60, 90],
94
- default: 30
95
- },
96
- generateInvoiceTo: {
97
- type: Array,
98
- },
99
- attachAnnexure: {
100
- type: Boolean,
101
- default:false
102
- },
103
- isPrimary: {
104
- type: Boolean
105
- },
106
- advanceInvoice: {
107
- type: Boolean,
108
- default: false
109
- },
110
- products: [
111
- {
112
- productName: {
113
- type: String,
114
- },
115
- billingMethod: {
116
- type: String,
117
- enum: ['eachStore', 'overallStore'],
118
- default: 'overallStore'
119
- }
120
- }
121
- ]
122
- },
123
- {
124
- strict: true,
125
- versionKey: false,
126
- timestamps: true,
127
- },
128
- );
129
-
1
+ import mongoose from 'mongoose';
2
+
3
+ const billingSchema = new mongoose.Schema(
4
+ {
5
+ clientId: {
6
+ type: String,
7
+ required: true,
8
+ },
9
+ groupName: {
10
+ type: String,
11
+ default:'Default Group'
12
+ },
13
+ groupTag: {
14
+ type: String,
15
+ enum: ['store','gst'],
16
+ default: 'store'
17
+ },
18
+ registeredCompanyName: {
19
+ type: String,
20
+ },
21
+ gst: {
22
+ type: String,
23
+ },
24
+ addressLineOne: {
25
+ type: String,
26
+ },
27
+ addressLineTwo: {
28
+ type: String,
29
+ },
30
+ city: {
31
+ type: String,
32
+ },
33
+ state: {
34
+ type: String,
35
+ },
36
+ country: {
37
+ type: String,
38
+ },
39
+ pinCode: {
40
+ type: String,
41
+ },
42
+ placeOfSupply: {
43
+ type: String,
44
+ },
45
+ po: {
46
+ type: String,
47
+ },
48
+ stores: {
49
+ type: Array,
50
+ },
51
+ proRata: {
52
+ type: String,
53
+ // 'prorate' = bill for actual working days.
54
+ // 'flat' = bill for the full month regardless of working days.
55
+ // Note: legacy values 'before15' / 'after15' were migrated out via
56
+ // scripts/migrate-billing-prorata-pricing.js. Don't reintroduce them.
57
+ enum: ['prorate','flat'],
58
+ default: 'prorate'
59
+ },
60
+ paymentCategory: {
61
+ type: String,
62
+ enum: ['pre','post'],
63
+ default: 'post'
64
+ },
65
+ currency: {
66
+ type: String,
67
+ enum: ['dollar','inr','singaporedollar','euro','aed'],
68
+ },
69
+ // Drives invoice-generation tax behavior. 'domestic' runs the
70
+ // existing GST/IGST/CGST/SGST logic. 'international' suppresses
71
+ // tax lines entirely (the tax array is left empty so totalAmount
72
+ // equals subtotal). Defaults to 'domestic' so existing records
73
+ // keep their current behavior on read.
74
+ taxCalculationType: {
75
+ type: String,
76
+ enum: ['domestic','international'],
77
+ default: 'domestic'
78
+ },
79
+ isInstallationOneTime: {
80
+ type: Boolean,
81
+ default: false
82
+ },
83
+ installationFee: {
84
+ type: Number,
85
+ },
86
+ paymentCycle: {
87
+ type: String,
88
+ enum: ['monthly','quarter', 'halfYearly', 'yearly'],
89
+ default: 'monthly'
90
+ },
91
+ paymentTerm: {
92
+ type: Number,
93
+ enum: [30, 45, 60, 90],
94
+ default: 30
95
+ },
96
+ generateInvoiceTo: {
97
+ type: Array,
98
+ },
99
+ attachAnnexure: {
100
+ type: Boolean,
101
+ default:false
102
+ },
103
+ isPrimary: {
104
+ type: Boolean
105
+ },
106
+ advanceInvoice: {
107
+ type: Boolean,
108
+ default: false
109
+ },
110
+ products: [
111
+ {
112
+ productName: {
113
+ type: String,
114
+ },
115
+ billingMethod: {
116
+ type: String,
117
+ enum: ['eachStore', 'overallStore'],
118
+ default: 'overallStore'
119
+ }
120
+ }
121
+ ]
122
+ },
123
+ {
124
+ strict: true,
125
+ versionKey: false,
126
+ timestamps: true,
127
+ },
128
+ );
129
+
130
130
  export default mongoose.model( 'billing', billingSchema);
@@ -53,7 +53,7 @@ const estimateSchema = new mongoose.Schema(
53
53
  },
54
54
  currency: {
55
55
  type: String,
56
- enum: [ 'dollar', 'inr', 'singaporedollar', 'euro' ],
56
+ enum: [ 'dollar', 'inr', 'singaporedollar', 'euro', 'aed' ],
57
57
  default: 'inr',
58
58
  },
59
59
  status: {
@@ -1,61 +1,61 @@
1
- import mongoose from 'mongoose';
2
-
3
- const paymentAccountSchema = new mongoose.Schema(
4
- {
5
- clientId: {
6
- type: String,
7
- required: true,
8
- unique: true,
9
- },
10
- customerId:{
11
- type: String,
12
- required: true,
13
- unique: true,
14
- },
15
- virtualAccId:{
16
- type: String,
17
- required: true,
18
- unique: true,
19
- },
20
- bankAccId:{
21
- type: String,
22
- required: true,
23
- unique: true,
24
- },
25
- accountNumber:{
26
- type: String,
27
- required: true,
28
- unique: true,
29
- },
30
- paymentType:{
31
- type: String,
32
- },
33
- status:{
34
- type: String,
35
- },
36
- ifsc: {
37
- type: String,
38
- },
39
- swiftCode:{
40
- type: String,
41
- },
42
- branch:{
43
- type: String,
44
- },
45
- credit:{
46
- type: Number,
47
- default:0
48
- },
49
- currency: {
50
- type: String,
51
- enum: [ 'dollar', 'inr', 'singaporedollar', 'euro' ],
52
- },
53
- },
54
- {
55
- strict: true,
56
- versionKey: false,
57
- timestamps: true,
58
- },
59
- );
60
-
1
+ import mongoose from 'mongoose';
2
+
3
+ const paymentAccountSchema = new mongoose.Schema(
4
+ {
5
+ clientId: {
6
+ type: String,
7
+ required: true,
8
+ unique: true,
9
+ },
10
+ customerId:{
11
+ type: String,
12
+ required: true,
13
+ unique: true,
14
+ },
15
+ virtualAccId:{
16
+ type: String,
17
+ required: true,
18
+ unique: true,
19
+ },
20
+ bankAccId:{
21
+ type: String,
22
+ required: true,
23
+ unique: true,
24
+ },
25
+ accountNumber:{
26
+ type: String,
27
+ required: true,
28
+ unique: true,
29
+ },
30
+ paymentType:{
31
+ type: String,
32
+ },
33
+ status:{
34
+ type: String,
35
+ },
36
+ ifsc: {
37
+ type: String,
38
+ },
39
+ swiftCode:{
40
+ type: String,
41
+ },
42
+ branch:{
43
+ type: String,
44
+ },
45
+ credit:{
46
+ type: Number,
47
+ default:0
48
+ },
49
+ currency: {
50
+ type: String,
51
+ enum: [ 'dollar', 'inr', 'singaporedollar', 'euro', 'aed' ],
52
+ },
53
+ },
54
+ {
55
+ strict: true,
56
+ versionKey: false,
57
+ timestamps: true,
58
+ },
59
+ );
60
+
61
61
  export default mongoose.model( 'paymentAccount', paymentAccountSchema);
@@ -0,0 +1,47 @@
1
+ import mongoose from 'mongoose';
2
+
3
+ // Payment reminder configuration per client (brand). One document per
4
+ // clientId, driving which reminder emails go out and to whom. Stored in its
5
+ // own `paymentreminders` collection.
6
+ const paymentReminderSchema = new mongoose.Schema(
7
+ {
8
+ clientId: {
9
+ type: String,
10
+ index: true,
11
+ },
12
+ // Recipients for all reminder emails on this brand.
13
+ reminderEmails: {
14
+ type: [ String ],
15
+ default: [],
16
+ },
17
+ // Predefined reminder templates the team can toggle. preDue carries a
18
+ // configurable lead time; the rest fire on fixed rules.
19
+ templates: {
20
+ preDue: {
21
+ enabled: { type: Boolean, default: true },
22
+ daysBefore: { type: Number, default: 3, min: 1, max: 365 },
23
+ },
24
+ onDue: {
25
+ enabled: { type: Boolean, default: true },
26
+ },
27
+ onHold: {
28
+ enabled: { type: Boolean, default: true },
29
+ },
30
+ suspend: {
31
+ enabled: { type: Boolean, default: true },
32
+ },
33
+ deactivated: {
34
+ enabled: { type: Boolean, default: false },
35
+ },
36
+ },
37
+ updatedBy: {
38
+ type: String,
39
+ },
40
+ }, {
41
+ strict: true,
42
+ versionKey: false,
43
+ timestamps: true,
44
+ }
45
+ );
46
+
47
+ export default mongoose.model( 'paymentreminder', paymentReminderSchema );
@@ -1,55 +1,55 @@
1
- import mongoose from 'mongoose';
2
-
3
- const transactionSchema = new mongoose.Schema(
4
- {
5
- clientId: {
6
- type: String
7
- },
8
- orderId: {
9
- type: String
10
- },
11
- paymentId: {
12
- type: String
13
- },
14
- debtType: {
15
- type: String,
16
- enum: [ 'wallet', 'razor' ],
17
- },
18
- billingDate: {
19
- type: Date
20
- },
21
- invoice: {
22
- type: String
23
- },
24
- groupName: {
25
- type: String
26
- },
27
- groupId: {
28
- type: mongoose.Types.ObjectId
29
- },
30
- amount: {
31
- type: Number
32
- },
33
- currency: {
34
- type: String,
35
- enum: [ 'dollar', 'inr', 'singaporedollar', 'euro' ],
36
- },
37
- transactionType: {
38
- type: String,
39
- enum: [ 'credit', 'debt' ],
40
- },
41
- balanceCredit: {
42
- type: Number
43
- },
44
- balanceCreditCurrency: {
45
- type: String,
46
- enum: [ 'dollar', 'inr', 'singaporedollar', 'euro' ],
47
- },
48
- }, {
49
- strict: true,
50
- versionKey: false,
51
- timestamps: true,
52
- }
53
- )
54
-
1
+ import mongoose from 'mongoose';
2
+
3
+ const transactionSchema = new mongoose.Schema(
4
+ {
5
+ clientId: {
6
+ type: String
7
+ },
8
+ orderId: {
9
+ type: String
10
+ },
11
+ paymentId: {
12
+ type: String
13
+ },
14
+ debtType: {
15
+ type: String,
16
+ enum: [ 'wallet', 'razor' ],
17
+ },
18
+ billingDate: {
19
+ type: Date
20
+ },
21
+ invoice: {
22
+ type: String
23
+ },
24
+ groupName: {
25
+ type: String
26
+ },
27
+ groupId: {
28
+ type: mongoose.Types.ObjectId
29
+ },
30
+ amount: {
31
+ type: Number
32
+ },
33
+ currency: {
34
+ type: String,
35
+ enum: [ 'dollar', 'inr', 'singaporedollar', 'euro', 'aed' ],
36
+ },
37
+ transactionType: {
38
+ type: String,
39
+ enum: [ 'credit', 'debt' ],
40
+ },
41
+ balanceCredit: {
42
+ type: Number
43
+ },
44
+ balanceCreditCurrency: {
45
+ type: String,
46
+ enum: [ 'dollar', 'inr', 'singaporedollar', 'euro', 'aed' ],
47
+ },
48
+ }, {
49
+ strict: true,
50
+ versionKey: false,
51
+ timestamps: true,
52
+ }
53
+ )
54
+
55
55
  export default mongoose.model('transaction', transactionSchema);