@mac777/project-pinecone-models 1.1.4 → 1.1.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.
package/dist/Event.d.ts CHANGED
@@ -9,6 +9,8 @@ declare const eventSchema: mongoose.Schema<any, mongoose.Model<any, any, any, an
9
9
  categories: string[];
10
10
  highlights: string[];
11
11
  languages: string[];
12
+ payoutGenerated: boolean;
13
+ payoutSkipped: boolean;
12
14
  tickets: mongoose.Types.DocumentArray<{
13
15
  name: string;
14
16
  quantity: number;
@@ -120,6 +122,7 @@ declare const eventSchema: mongoose.Schema<any, mongoose.Model<any, any, any, an
120
122
  rejectionReason?: string | null | undefined;
121
123
  slug?: string | null | undefined;
122
124
  dressCode?: string | null | undefined;
125
+ payoutSkipReason?: string | null | undefined;
123
126
  media?: {
124
127
  gallery: mongoose.Types.DocumentArray<{
125
128
  url?: string | null | undefined;
@@ -295,6 +298,8 @@ declare const eventSchema: mongoose.Schema<any, mongoose.Model<any, any, any, an
295
298
  categories: string[];
296
299
  highlights: string[];
297
300
  languages: string[];
301
+ payoutGenerated: boolean;
302
+ payoutSkipped: boolean;
298
303
  tickets: mongoose.Types.DocumentArray<{
299
304
  name: string;
300
305
  quantity: number;
@@ -406,6 +411,7 @@ declare const eventSchema: mongoose.Schema<any, mongoose.Model<any, any, any, an
406
411
  rejectionReason?: string | null | undefined;
407
412
  slug?: string | null | undefined;
408
413
  dressCode?: string | null | undefined;
414
+ payoutSkipReason?: string | null | undefined;
409
415
  media?: {
410
416
  gallery: mongoose.Types.DocumentArray<{
411
417
  url?: string | null | undefined;
@@ -581,6 +587,8 @@ declare const eventSchema: mongoose.Schema<any, mongoose.Model<any, any, any, an
581
587
  categories: string[];
582
588
  highlights: string[];
583
589
  languages: string[];
590
+ payoutGenerated: boolean;
591
+ payoutSkipped: boolean;
584
592
  tickets: mongoose.Types.DocumentArray<{
585
593
  name: string;
586
594
  quantity: number;
@@ -692,6 +700,7 @@ declare const eventSchema: mongoose.Schema<any, mongoose.Model<any, any, any, an
692
700
  rejectionReason?: string | null | undefined;
693
701
  slug?: string | null | undefined;
694
702
  dressCode?: string | null | undefined;
703
+ payoutSkipReason?: string | null | undefined;
695
704
  media?: {
696
705
  gallery: mongoose.Types.DocumentArray<{
697
706
  url?: string | null | undefined;
package/dist/Event.js CHANGED
@@ -196,6 +196,9 @@ const eventSchema = new mongoose_1.default.Schema({
196
196
  languages: [String],
197
197
  ageRestriction: { type: String, enum: ['all_ages', '18+', '21+'] },
198
198
  dressCode: String,
199
+ payoutGenerated: { type: Boolean, default: false },
200
+ payoutSkipped: { type: Boolean, default: false },
201
+ payoutSkipReason: String,
199
202
  media: mediaSchema,
200
203
  // STEP 3: DATE, TIME & LOCATION
201
204
  schedule: scheduleSchema,
package/dist/Payout.d.ts CHANGED
@@ -2,67 +2,112 @@ import mongoose from 'mongoose';
2
2
  declare const payoutSchema: mongoose.Schema<any, mongoose.Model<any, any, any, any, any, any>, {}, {}, {}, {}, {
3
3
  timestamps: true;
4
4
  }, {
5
+ rejectionReason: string;
6
+ status: "pending" | "approved" | "completed" | "failed" | "processing" | "on_hold";
7
+ adminNotes: string;
8
+ currency: string;
9
+ paymentProcessingFee: number;
10
+ platformFee: number;
11
+ hostId: mongoose.Types.ObjectId;
12
+ eventId: mongoose.Types.ObjectId;
13
+ paymentMethod: "bkash" | "bank_transfer" | "mobile_banking";
14
+ refundAmount: number;
15
+ failedAt: NativeDate;
16
+ payoutNumber: string;
17
+ grossRevenue: number;
18
+ netPayout: number;
19
+ totalOrders: number;
20
+ confirmedOrders: number;
21
+ refundedOrders: number;
22
+ totalTicketsSold: number;
23
+ approvedBy: mongoose.Types.ObjectId;
24
+ approvedAt: NativeDate;
25
+ rejectedBy: mongoose.Types.ObjectId;
26
+ rejectedAt: NativeDate;
27
+ accountNumber: string;
28
+ accountName: string;
29
+ initiatedAt: NativeDate;
30
+ completedAt: NativeDate;
31
+ transactionId: string;
32
+ hostNotes: string;
33
+ requiresReview: boolean;
34
+ reviewReason: string;
35
+ onHold: boolean;
36
+ holdReason: string;
5
37
  createdAt?: NativeDate | null | undefined;
6
- status?: string | null | undefined;
7
- amount?: number | null | undefined;
8
- platformFee?: number | null | undefined;
9
- hostId?: mongoose.Types.ObjectId | null | undefined;
10
- eventId?: mongoose.Types.ObjectId | null | undefined;
11
- paymentFee?: number | null | undefined;
12
- totalRevenue?: number | null | undefined;
13
- approvedBy?: mongoose.Types.ObjectId | null | undefined;
14
- approvedAt?: NativeDate | null | undefined;
15
- processedAt?: NativeDate | null | undefined;
16
- completedAt?: NativeDate | null | undefined;
17
- transactionId?: string | null | undefined;
18
- notes?: string | null | undefined;
19
- bankDetails?: {
20
- method: "bkash" | "bank_transfer" | "nagad" | "upay" | "rocket";
21
- accountNumber?: string | null | undefined;
22
- accountName?: string | null | undefined;
23
- } | null | undefined;
38
+ updatedAt?: NativeDate | null | undefined;
24
39
  } & mongoose.DefaultTimestampProps, mongoose.Document<unknown, {}, mongoose.FlatRecord<{
40
+ rejectionReason: string;
41
+ status: "pending" | "approved" | "completed" | "failed" | "processing" | "on_hold";
42
+ adminNotes: string;
43
+ currency: string;
44
+ paymentProcessingFee: number;
45
+ platformFee: number;
46
+ hostId: mongoose.Types.ObjectId;
47
+ eventId: mongoose.Types.ObjectId;
48
+ paymentMethod: "bkash" | "bank_transfer" | "mobile_banking";
49
+ refundAmount: number;
50
+ failedAt: NativeDate;
51
+ payoutNumber: string;
52
+ grossRevenue: number;
53
+ netPayout: number;
54
+ totalOrders: number;
55
+ confirmedOrders: number;
56
+ refundedOrders: number;
57
+ totalTicketsSold: number;
58
+ approvedBy: mongoose.Types.ObjectId;
59
+ approvedAt: NativeDate;
60
+ rejectedBy: mongoose.Types.ObjectId;
61
+ rejectedAt: NativeDate;
62
+ accountNumber: string;
63
+ accountName: string;
64
+ initiatedAt: NativeDate;
65
+ completedAt: NativeDate;
66
+ transactionId: string;
67
+ hostNotes: string;
68
+ requiresReview: boolean;
69
+ reviewReason: string;
70
+ onHold: boolean;
71
+ holdReason: string;
25
72
  createdAt?: NativeDate | null | undefined;
26
- status?: string | null | undefined;
27
- amount?: number | null | undefined;
28
- platformFee?: number | null | undefined;
29
- hostId?: mongoose.Types.ObjectId | null | undefined;
30
- eventId?: mongoose.Types.ObjectId | null | undefined;
31
- paymentFee?: number | null | undefined;
32
- totalRevenue?: number | null | undefined;
33
- approvedBy?: mongoose.Types.ObjectId | null | undefined;
34
- approvedAt?: NativeDate | null | undefined;
35
- processedAt?: NativeDate | null | undefined;
36
- completedAt?: NativeDate | null | undefined;
37
- transactionId?: string | null | undefined;
38
- notes?: string | null | undefined;
39
- bankDetails?: {
40
- method: "bkash" | "bank_transfer" | "nagad" | "upay" | "rocket";
41
- accountNumber?: string | null | undefined;
42
- accountName?: string | null | undefined;
43
- } | null | undefined;
73
+ updatedAt?: NativeDate | null | undefined;
44
74
  } & mongoose.DefaultTimestampProps>, {}, mongoose.ResolveSchemaOptions<{
45
75
  timestamps: true;
46
76
  }>> & mongoose.FlatRecord<{
77
+ rejectionReason: string;
78
+ status: "pending" | "approved" | "completed" | "failed" | "processing" | "on_hold";
79
+ adminNotes: string;
80
+ currency: string;
81
+ paymentProcessingFee: number;
82
+ platformFee: number;
83
+ hostId: mongoose.Types.ObjectId;
84
+ eventId: mongoose.Types.ObjectId;
85
+ paymentMethod: "bkash" | "bank_transfer" | "mobile_banking";
86
+ refundAmount: number;
87
+ failedAt: NativeDate;
88
+ payoutNumber: string;
89
+ grossRevenue: number;
90
+ netPayout: number;
91
+ totalOrders: number;
92
+ confirmedOrders: number;
93
+ refundedOrders: number;
94
+ totalTicketsSold: number;
95
+ approvedBy: mongoose.Types.ObjectId;
96
+ approvedAt: NativeDate;
97
+ rejectedBy: mongoose.Types.ObjectId;
98
+ rejectedAt: NativeDate;
99
+ accountNumber: string;
100
+ accountName: string;
101
+ initiatedAt: NativeDate;
102
+ completedAt: NativeDate;
103
+ transactionId: string;
104
+ hostNotes: string;
105
+ requiresReview: boolean;
106
+ reviewReason: string;
107
+ onHold: boolean;
108
+ holdReason: string;
47
109
  createdAt?: NativeDate | null | undefined;
48
- status?: string | null | undefined;
49
- amount?: number | null | undefined;
50
- platformFee?: number | null | undefined;
51
- hostId?: mongoose.Types.ObjectId | null | undefined;
52
- eventId?: mongoose.Types.ObjectId | null | undefined;
53
- paymentFee?: number | null | undefined;
54
- totalRevenue?: number | null | undefined;
55
- approvedBy?: mongoose.Types.ObjectId | null | undefined;
56
- approvedAt?: NativeDate | null | undefined;
57
- processedAt?: NativeDate | null | undefined;
58
- completedAt?: NativeDate | null | undefined;
59
- transactionId?: string | null | undefined;
60
- notes?: string | null | undefined;
61
- bankDetails?: {
62
- method: "bkash" | "bank_transfer" | "nagad" | "upay" | "rocket";
63
- accountNumber?: string | null | undefined;
64
- accountName?: string | null | undefined;
65
- } | null | undefined;
110
+ updatedAt?: NativeDate | null | undefined;
66
111
  } & mongoose.DefaultTimestampProps> & {
67
112
  _id: mongoose.Types.ObjectId;
68
113
  } & {
package/dist/Payout.js CHANGED
@@ -5,28 +5,147 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const mongoose_1 = __importDefault(require("mongoose"));
7
7
  const payoutSchema = new mongoose_1.default.Schema({
8
- hostId: mongoose_1.default.Schema.Types.ObjectId,
9
- eventId: mongoose_1.default.Schema.Types.ObjectId,
10
- amount: Number, // Host's share
11
- platformFee: Number, // Your cut
12
- paymentFee: Number, // bKash fee
13
- totalRevenue: Number, // Original amount
14
- status: String, // 'pending', 'approved', 'processing', 'completed', 'failed'
15
- bankDetails: {
16
- method: {
17
- type: String,
18
- enum: ['bkash', 'nagad', 'upay', 'rocket', 'bank_transfer'],
19
- default: 'bkash'
20
- },
21
- accountNumber: String,
22
- accountName: String
23
- },
24
- approvedBy: mongoose_1.default.Schema.Types.ObjectId, // Admin who approved
25
- approvedAt: Date,
26
- processedAt: Date,
27
- completedAt: Date,
28
- transactionId: String, // bKash transaction ID
29
- notes: String, // Admin notes
30
- createdAt: Date
8
+ payoutNumber: {
9
+ type: String,
10
+ required: true
11
+ }, // "PAYOUT-20260109-ABC123"
12
+ // Ownership
13
+ hostId: {
14
+ type: mongoose_1.default.Schema.Types.ObjectId,
15
+ required: true
16
+ },
17
+ eventId: {
18
+ type: mongoose_1.default.Schema.Types.ObjectId,
19
+ required: true
20
+ },
21
+ // Financial Breakdown
22
+ grossRevenue: {
23
+ type: Number,
24
+ required: true
25
+ }, // Total sales
26
+ platformFee: {
27
+ type: Number,
28
+ required: true
29
+ }, // Your 5%
30
+ paymentProcessingFee: {
31
+ type: Number,
32
+ required: true
33
+ }, // bKash/Stripe fees
34
+ refundAmount: {
35
+ type: Number,
36
+ required: true
37
+ }, // Total refunded
38
+ netPayout: {
39
+ type: Number,
40
+ required: true
41
+ }, // What host receives
42
+ currency: {
43
+ type: String,
44
+ required: true
45
+ }, // "BDT"
46
+ // Order Summary
47
+ totalOrders: {
48
+ type: Number,
49
+ required: true
50
+ },
51
+ confirmedOrders: {
52
+ type: Number,
53
+ required: true
54
+ },
55
+ refundedOrders: {
56
+ type: Number,
57
+ required: true
58
+ },
59
+ totalTicketsSold: {
60
+ type: Number,
61
+ required: true
62
+ },
63
+ // Status
64
+ status: {
65
+ type: String,
66
+ enum: ['pending', 'approved', 'processing', 'completed', 'failed', 'on_hold'],
67
+ default: 'pending'
68
+ }, // "pending" | "approved" | "processing" | "completed" | "failed" | "on_hold"
69
+ // Admin Actions
70
+ approvedBy: {
71
+ type: mongoose_1.default.Schema.Types.ObjectId,
72
+ required: true
73
+ }, // Admin who approved
74
+ approvedAt: {
75
+ type: Date,
76
+ required: true
77
+ },
78
+ rejectedBy: {
79
+ type: mongoose_1.default.Schema.Types.ObjectId,
80
+ required: true
81
+ },
82
+ rejectedAt: {
83
+ type: Date,
84
+ required: true
85
+ },
86
+ rejectionReason: {
87
+ type: String,
88
+ required: true
89
+ },
90
+ // Payment Details
91
+ paymentMethod: {
92
+ type: String,
93
+ enum: ['bkash', 'bank_transfer', 'mobile_banking'],
94
+ default: 'bkash'
95
+ }, // "bkash" | "bank_transfer" | "mobile_banking"
96
+ accountNumber: {
97
+ type: String,
98
+ required: true
99
+ }, // Host's bKash number
100
+ accountName: {
101
+ type: String,
102
+ required: true
103
+ }, // Host's name
104
+ // Processing
105
+ initiatedAt: {
106
+ type: Date,
107
+ required: true
108
+ }, // When payout started
109
+ completedAt: {
110
+ type: Date,
111
+ required: true
112
+ }, // When money sent
113
+ failedAt: {
114
+ type: Date,
115
+ required: true
116
+ },
117
+ transactionId: {
118
+ type: String,
119
+ required: true
120
+ }, // bKash transaction ID
121
+ // Notes
122
+ adminNotes: {
123
+ type: String,
124
+ required: true
125
+ }, // Internal notes
126
+ hostNotes: {
127
+ type: String,
128
+ required: true
129
+ }, // Host can add context
130
+ // Audit
131
+ createdAt: Date,
132
+ updatedAt: Date,
133
+ // Flags
134
+ requiresReview: {
135
+ type: Boolean,
136
+ default: false
137
+ }, // Suspicious activity
138
+ reviewReason: {
139
+ type: String,
140
+ required: true
141
+ }, // Why flagged
142
+ onHold: {
143
+ type: Boolean,
144
+ default: false
145
+ }, // Admin hold
146
+ holdReason: {
147
+ type: String,
148
+ required: true
149
+ }
31
150
  }, { timestamps: true });
32
151
  exports.default = payoutSchema;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mac777/project-pinecone-models",
3
- "version": "1.1.4",
3
+ "version": "1.1.6",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "scripts": {
package/src/Event.ts CHANGED
@@ -218,6 +218,9 @@ const eventSchema = new mongoose.Schema({
218
218
  languages: [String],
219
219
  ageRestriction: { type: String, enum: ['all_ages', '18+', '21+'] },
220
220
  dressCode: String,
221
+ payoutGenerated: { type: Boolean, default: false },
222
+ payoutSkipped: { type: Boolean, default: false },
223
+ payoutSkipReason: String,
221
224
 
222
225
  media: mediaSchema,
223
226
 
package/src/Payout.ts CHANGED
@@ -1,37 +1,158 @@
1
1
  import mongoose from 'mongoose';
2
2
 
3
3
  const payoutSchema = new mongoose.Schema({
4
- hostId: mongoose.Schema.Types.ObjectId,
5
- eventId: mongoose.Schema.Types.ObjectId,
4
+ payoutNumber: {
5
+ type: String,
6
+ required: true
7
+ }, // "PAYOUT-20260109-ABC123"
6
8
 
7
- amount: Number, // Host's share
8
- platformFee: Number, // Your cut
9
- paymentFee: Number, // bKash fee
10
- totalRevenue: Number, // Original amount
9
+ // Ownership
10
+ hostId: {
11
+ type: mongoose.Schema.Types.ObjectId,
12
+ required: true
13
+ },
14
+ eventId: {
15
+ type: mongoose.Schema.Types.ObjectId,
16
+ required: true
17
+ },
18
+
19
+ // Financial Breakdown
20
+ grossRevenue: {
21
+ type: Number,
22
+ required: true
23
+ }, // Total sales
24
+ platformFee: {
25
+ type: Number,
26
+ required: true
27
+ }, // Your 5%
28
+ paymentProcessingFee: {
29
+ type: Number,
30
+ required: true
31
+ }, // bKash/Stripe fees
32
+ refundAmount: {
33
+ type: Number,
34
+ required: true
35
+ }, // Total refunded
36
+ netPayout: {
37
+ type: Number,
38
+ required: true
39
+ }, // What host receives
40
+ currency: {
41
+ type: String,
42
+ required: true
43
+ }, // "BDT"
44
+
45
+ // Order Summary
46
+ totalOrders: {
47
+ type: Number,
48
+ required: true
49
+ },
50
+ confirmedOrders: {
51
+ type: Number,
52
+ required: true
53
+ },
54
+ refundedOrders: {
55
+ type: Number,
56
+ required: true
57
+ },
58
+ totalTicketsSold: {
59
+ type: Number,
60
+ required: true
61
+ },
11
62
 
12
- status: String, // 'pending', 'approved', 'processing', 'completed', 'failed'
63
+ // Status
64
+ status: {
65
+ type: String,
66
+ enum: ['pending', 'approved', 'processing', 'completed', 'failed', 'on_hold'],
67
+ default: 'pending'
68
+ }, // "pending" | "approved" | "processing" | "completed" | "failed" | "on_hold"
13
69
 
14
- bankDetails: {
15
- method: {
16
- type: String,
17
- enum: ['bkash', 'nagad', 'upay', 'rocket', 'bank_transfer'],
18
- default: 'bkash'
19
- },
20
- accountNumber: String,
21
- accountName: String
70
+ // Admin Actions
71
+ approvedBy: {
72
+ type: mongoose.Schema.Types.ObjectId,
73
+ required: true
74
+ }, // Admin who approved
75
+ approvedAt: {
76
+ type: Date,
77
+ required: true
78
+ },
79
+ rejectedBy: {
80
+ type: mongoose.Schema.Types.ObjectId,
81
+ required: true
82
+ },
83
+ rejectedAt: {
84
+ type: Date,
85
+ required: true
86
+ },
87
+ rejectionReason: {
88
+ type: String,
89
+ required: true
22
90
  },
23
91
 
24
- approvedBy: mongoose.Schema.Types.ObjectId, // Admin who approved
25
- approvedAt: Date,
92
+ // Payment Details
93
+ paymentMethod: {
94
+ type: String,
95
+ enum: ['bkash', 'bank_transfer', 'mobile_banking'],
96
+ default: 'bkash'
97
+ }, // "bkash" | "bank_transfer" | "mobile_banking"
98
+ accountNumber: {
99
+ type: String,
100
+ required: true
101
+ }, // Host's bKash number
102
+ accountName: {
103
+ type: String,
104
+ required: true
105
+ }, // Host's name
26
106
 
27
- processedAt: Date,
28
- completedAt: Date,
107
+ // Processing
108
+ initiatedAt: {
109
+ type: Date,
110
+ required: true
111
+ }, // When payout started
112
+ completedAt: {
113
+ type: Date,
114
+ required: true
115
+ }, // When money sent
116
+ failedAt: {
117
+ type: Date,
118
+ required: true
119
+ },
120
+ transactionId: {
121
+ type: String,
122
+ required: true
123
+ }, // bKash transaction ID
29
124
 
30
- transactionId: String, // bKash transaction ID
125
+ // Notes
126
+ adminNotes: {
127
+ type: String,
128
+ required: true
129
+ }, // Internal notes
130
+ hostNotes: {
131
+ type: String,
132
+ required: true
133
+ }, // Host can add context
31
134
 
32
- notes: String, // Admin notes
135
+ // Audit
136
+ createdAt: Date,
137
+ updatedAt: Date,
33
138
 
34
- createdAt: Date
139
+ // Flags
140
+ requiresReview: {
141
+ type: Boolean,
142
+ default: false
143
+ }, // Suspicious activity
144
+ reviewReason: {
145
+ type: String,
146
+ required: true
147
+ }, // Why flagged
148
+ onHold: {
149
+ type: Boolean,
150
+ default: false
151
+ }, // Admin hold
152
+ holdReason: {
153
+ type: String,
154
+ required: true
155
+ }
35
156
  }, { timestamps: true });
36
157
 
37
158
  export default payoutSchema;