@mac777/project-pinecone-schema 1.0.0

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 (107) hide show
  1. package/dist/auth/auth.constants.d.ts +8 -0
  2. package/dist/auth/auth.constants.js +12 -0
  3. package/dist/auth/auth.schema.d.ts +100 -0
  4. package/dist/auth/auth.schema.js +53 -0
  5. package/dist/auth/auth.type.d.ts +31 -0
  6. package/dist/auth/auth.type.js +2 -0
  7. package/dist/auth/index.d.ts +3 -0
  8. package/dist/auth/index.js +19 -0
  9. package/dist/auth/utils/password.schema.d.ts +4 -0
  10. package/dist/auth/utils/password.schema.js +18 -0
  11. package/dist/auth.d.ts +1 -0
  12. package/dist/auth.js +18 -0
  13. package/dist/events/admin.schema.d.ts +208 -0
  14. package/dist/events/admin.schema.js +70 -0
  15. package/dist/events/age.restriction.schema.d.ts +2 -0
  16. package/dist/events/age.restriction.schema.js +5 -0
  17. package/dist/events/document.schema.d.ts +17 -0
  18. package/dist/events/document.schema.js +10 -0
  19. package/dist/events/event.schema.d.ts +0 -0
  20. package/dist/events/event.schema.js +1 -0
  21. package/dist/events/event.type.schema.d.ts +2 -0
  22. package/dist/events/event.type.schema.js +5 -0
  23. package/dist/events/events.constant.d.ts +9 -0
  24. package/dist/events/events.constant.js +12 -0
  25. package/dist/events/events.constants.d.ts +69 -0
  26. package/dist/events/events.constants.js +147 -0
  27. package/dist/events/events.d.ts +3 -0
  28. package/dist/events/events.js +19 -0
  29. package/dist/events/events.schema.d.ts +4605 -0
  30. package/dist/events/events.schema.js +145 -0
  31. package/dist/events/events.type.d.ts +47 -0
  32. package/dist/events/events.type.js +2 -0
  33. package/dist/events/events.utils.schema.d.ts +5 -0
  34. package/dist/events/events.utils.schema.js +21 -0
  35. package/dist/events/index.d.ts +4 -0
  36. package/dist/events/index.js +20 -0
  37. package/dist/events/media.schema.d.ts +77 -0
  38. package/dist/events/media.schema.js +36 -0
  39. package/dist/events/organizer.schema.d.ts +55 -0
  40. package/dist/events/organizer.schema.js +15 -0
  41. package/dist/events/schedule.schema.d.ts +20 -0
  42. package/dist/events/schedule.schema.js +11 -0
  43. package/dist/events/step.schema.d.ts +0 -0
  44. package/dist/events/step.schema.js +1 -0
  45. package/dist/events/ticket.schema.d.ts +113 -0
  46. package/dist/events/ticket.schema.js +29 -0
  47. package/dist/events/utils/admin.schema.d.ts +208 -0
  48. package/dist/events/utils/admin.schema.js +70 -0
  49. package/dist/events/utils/age.restriction.schema.d.ts +2 -0
  50. package/dist/events/utils/age.restriction.schema.js +5 -0
  51. package/dist/events/utils/document.schema.d.ts +17 -0
  52. package/dist/events/utils/document.schema.js +10 -0
  53. package/dist/events/utils/event.type.schema.d.ts +2 -0
  54. package/dist/events/utils/event.type.schema.js +5 -0
  55. package/dist/events/utils/media.schema.d.ts +77 -0
  56. package/dist/events/utils/media.schema.js +36 -0
  57. package/dist/events/utils/organizer.schema.d.ts +55 -0
  58. package/dist/events/utils/organizer.schema.js +15 -0
  59. package/dist/events/utils/schedule.schema.d.ts +20 -0
  60. package/dist/events/utils/schedule.schema.js +11 -0
  61. package/dist/events/utils/ticket.schema.d.ts +119 -0
  62. package/dist/events/utils/ticket.schema.js +31 -0
  63. package/dist/events/utils/venue.schema.d.ts +75 -0
  64. package/dist/events/utils/venue.schema.js +22 -0
  65. package/dist/events/utils.schema.d.ts +6 -0
  66. package/dist/events/utils.schema.js +22 -0
  67. package/dist/events/venue.schema.d.ts +75 -0
  68. package/dist/events/venue.schema.js +22 -0
  69. package/dist/events.constant.d.ts +9 -0
  70. package/dist/events.constant.js +12 -0
  71. package/dist/events.constants.d.ts +9 -0
  72. package/dist/events.constants.js +12 -0
  73. package/dist/events.d.ts +39 -0
  74. package/dist/events.js +2 -0
  75. package/dist/events.schema.d.ts +229 -0
  76. package/dist/events.schema.js +95 -0
  77. package/dist/events.type.d.ts +42 -0
  78. package/dist/events.type.js +2 -0
  79. package/dist/events.utils.schema.d.ts +6 -0
  80. package/dist/events.utils.schema.js +22 -0
  81. package/dist/index.d.ts +4 -0
  82. package/dist/index.js +20 -0
  83. package/dist/media/index.d.ts +2 -0
  84. package/dist/media/index.js +18 -0
  85. package/dist/media/media.schema.d.ts +57 -0
  86. package/dist/media/media.schema.js +37 -0
  87. package/dist/media/media.type.d.ts +8 -0
  88. package/dist/media/media.type.js +2 -0
  89. package/dist/media/utils/backblaze.schema.d.ts +14 -0
  90. package/dist/media/utils/backblaze.schema.js +10 -0
  91. package/dist/media/utils/imagekit.schema.d.ts +34 -0
  92. package/dist/media/utils/imagekit.schema.js +20 -0
  93. package/dist/orders/index.d.ts +6 -0
  94. package/dist/orders/index.js +22 -0
  95. package/dist/orders/orders.schema.d.ts +600 -0
  96. package/dist/orders/orders.schema.js +89 -0
  97. package/dist/orders/orders.type.d.ts +56 -0
  98. package/dist/orders/orders.type.js +2 -0
  99. package/dist/orders/payments.schema.d.ts +215 -0
  100. package/dist/orders/payments.schema.js +67 -0
  101. package/dist/orders/payments.type.d.ts +58 -0
  102. package/dist/orders/payments.type.js +2 -0
  103. package/dist/orders/ticket.schema.d.ts +265 -0
  104. package/dist/orders/ticket.schema.js +65 -0
  105. package/dist/orders/ticket.type.d.ts +71 -0
  106. package/dist/orders/ticket.type.js +2 -0
  107. package/package.json +21 -0
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ticketsListResponseSchema = exports.ticketResponseSchema = exports.transferTicketSchema = exports.checkInTicketSchema = exports.updateTicketStatusSchema = exports.createTicketSchema = exports.ticketSchema = exports.checkInStatusSchema = exports.ticketStatusSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ // Ticket status enum
6
+ exports.ticketStatusSchema = zod_1.z.enum(['valid', 'used', 'cancelled', 'refunded', 'transferred']);
7
+ // Check-in status enum
8
+ exports.checkInStatusSchema = zod_1.z.enum(['not_checked_in', 'checked_in']);
9
+ // Main ticket schema
10
+ exports.ticketSchema = zod_1.z.object({
11
+ _id: zod_1.z.string().optional(), // MongoDB ObjectId
12
+ ticketNumber: zod_1.z.string().regex(/^TKT-[A-Z0-9]{6}-[A-Z0-9]{4}-\d{2}$/), // TKT-EVT123-A3K9-01
13
+ // BELONGS TO
14
+ orderId: zod_1.z.string(), // Parent order
15
+ eventId: zod_1.z.string(), // Which event
16
+ userId: zod_1.z.string(), // Owner
17
+ ticketVariantId: zod_1.z.string(), // Which type (VIP, GA, etc)
18
+ // DETAILS (denormalized for speed)
19
+ eventTitle: zod_1.z.string(),
20
+ eventDate: zod_1.z.date(),
21
+ eventVenue: zod_1.z.string(),
22
+ ticketType: zod_1.z.string(), // "VIP Pass"
23
+ price: zod_1.z.number().min(0),
24
+ // QR CODE
25
+ qrCode: zod_1.z.string(), // SHA256 hash
26
+ qrCodeUrl: zod_1.z.string(), // ImageKit/S3 URL
27
+ // STATUS
28
+ status: exports.ticketStatusSchema,
29
+ // CHECK-IN
30
+ checkInStatus: exports.checkInStatusSchema,
31
+ checkedInAt: zod_1.z.date().optional(),
32
+ checkedInBy: zod_1.z.string().optional(), // Staff user ID
33
+ // TRANSFER
34
+ transferredTo: zod_1.z.string().optional(), // New owner user ID
35
+ transferredAt: zod_1.z.date().optional(),
36
+ // LIFECYCLE
37
+ issuedAt: zod_1.z.date().default(() => new Date()),
38
+ validUntil: zod_1.z.date(), // Event end date
39
+ // SECURITY
40
+ secretHash: zod_1.z.string(), // Internal validation hash
41
+ });
42
+ // API request/response schemas
43
+ exports.createTicketSchema = zod_1.z.object({
44
+ orderId: zod_1.z.string(),
45
+ eventId: zod_1.z.string(),
46
+ userId: zod_1.z.string(),
47
+ ticketVariantId: zod_1.z.string(),
48
+ eventTitle: zod_1.z.string(),
49
+ eventDate: zod_1.z.date(),
50
+ eventVenue: zod_1.z.string(),
51
+ ticketType: zod_1.z.string(),
52
+ price: zod_1.z.number().min(0),
53
+ });
54
+ exports.updateTicketStatusSchema = zod_1.z.object({
55
+ status: exports.ticketStatusSchema,
56
+ });
57
+ exports.checkInTicketSchema = zod_1.z.object({
58
+ staffUserId: zod_1.z.string(),
59
+ });
60
+ exports.transferTicketSchema = zod_1.z.object({
61
+ newOwnerId: zod_1.z.string(),
62
+ });
63
+ // Response schemas
64
+ exports.ticketResponseSchema = exports.ticketSchema;
65
+ exports.ticketsListResponseSchema = zod_1.z.array(exports.ticketResponseSchema);
@@ -0,0 +1,71 @@
1
+ import { z } from 'zod';
2
+ import { ticketSchema, ticketStatusSchema, checkInStatusSchema, createTicketSchema, updateTicketStatusSchema, checkInTicketSchema, transferTicketSchema, ticketResponseSchema, ticketsListResponseSchema } from './ticket.schema';
3
+ export type TicketStatus = z.infer<typeof ticketStatusSchema>;
4
+ export type CheckInStatus = z.infer<typeof checkInStatusSchema>;
5
+ export type Ticket = z.infer<typeof ticketSchema>;
6
+ export type CreateTicketRequest = z.infer<typeof createTicketSchema>;
7
+ export type UpdateTicketStatusRequest = z.infer<typeof updateTicketStatusSchema>;
8
+ export type CheckInTicketRequest = z.infer<typeof checkInTicketSchema>;
9
+ export type TransferTicketRequest = z.infer<typeof transferTicketSchema>;
10
+ export type TicketResponse = z.infer<typeof ticketResponseSchema>;
11
+ export type TicketsListResponse = z.infer<typeof ticketsListResponseSchema>;
12
+ export interface CreateTicketData {
13
+ orderId: string;
14
+ eventId: string;
15
+ userId: string;
16
+ ticketVariantId: string;
17
+ eventTitle: string;
18
+ eventDate: Date;
19
+ eventVenue: string;
20
+ ticketType: string;
21
+ price: number;
22
+ quantity: number;
23
+ }
24
+ export interface UpdateTicketData {
25
+ ticketId: string;
26
+ status: TicketStatus;
27
+ }
28
+ export interface CheckInTicketData {
29
+ ticketId: string;
30
+ staffUserId: string;
31
+ }
32
+ export interface TransferTicketData {
33
+ ticketId: string;
34
+ newOwnerId: string;
35
+ }
36
+ export interface TicketWithOrder extends Omit<Ticket, 'orderId'> {
37
+ orderId: {
38
+ _id: string;
39
+ orderNumber: string;
40
+ status: string;
41
+ createdAt: string;
42
+ };
43
+ }
44
+ export interface TicketWithEvent extends Omit<Ticket, 'eventId'> {
45
+ eventId: {
46
+ _id: string;
47
+ title: string;
48
+ schedule: {
49
+ startDate: string;
50
+ venue: {
51
+ name: string;
52
+ };
53
+ };
54
+ };
55
+ }
56
+ export interface TicketSummary {
57
+ totalTickets: number;
58
+ validTickets: number;
59
+ usedTickets: number;
60
+ checkedInTickets: number;
61
+ cancelledTickets: number;
62
+ refundedTickets: number;
63
+ }
64
+ export interface QRCodeData {
65
+ ticketId: string;
66
+ ticketNumber: string;
67
+ eventTitle: string;
68
+ eventDate: string;
69
+ userId: string;
70
+ secretHash: string;
71
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
package/package.json ADDED
@@ -0,0 +1,21 @@
1
+ {
2
+ "name": "@mac777/project-pinecone-schema",
3
+ "version": "1.0.0",
4
+ "main": "dist/index.js",
5
+ "types": "dist/index.d.ts",
6
+ "scripts": {
7
+ "build": "tsc",
8
+ "dev": "tsc -w"
9
+ },
10
+ "dependencies": {
11
+ "zod": "^3.22.4",
12
+ "zxcvbn": "^4.4.2"
13
+ },
14
+ "files": ["dist"],
15
+ "publishConfig": {
16
+ "access": "public"
17
+ },
18
+ "devDependencies": {
19
+ "typescript": "^5.0.0"
20
+ }
21
+ }