@bash-app/bash-common 15.1.2 → 15.3.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.
- package/package.json +1 -1
- package/prisma/schema.prisma +1 -0
- package/src/definitions.ts +3 -3
- package/src/extendedSchemas.ts +45 -30
- package/src/utils/apiUtils.ts +2 -2
package/package.json
CHANGED
package/prisma/schema.prisma
CHANGED
package/src/definitions.ts
CHANGED
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
User,
|
|
12
12
|
YearsOfExperience
|
|
13
13
|
} from "@prisma/client";
|
|
14
|
-
import { CheckoutExt } from "./extendedSchemas";
|
|
14
|
+
import { CheckoutExt, PublicUser } from "./extendedSchemas";
|
|
15
15
|
|
|
16
16
|
export const PASSWORD_MIN_LENGTH = 10 as const;
|
|
17
17
|
export const PASSWORD_REQUIREMENTS_REGEX = new RegExp(String.raw`^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{${PASSWORD_MIN_LENGTH},}$`);
|
|
@@ -87,7 +87,7 @@ export const ASSET_MAX_MD5_BYTE_LENGTH = 1024 * 100; // 100kb
|
|
|
87
87
|
|
|
88
88
|
export type DateTimeArgType = Date | string | undefined | null;
|
|
89
89
|
export type RequiredStripeInfoMissingErrorDataType = { [k in keyof User]?: { type: string, label: string } };
|
|
90
|
-
export type ContactOrUser = Contact |
|
|
90
|
+
export type ContactOrUser = Contact | PublicUser;
|
|
91
91
|
|
|
92
92
|
export type FilterFields = {
|
|
93
93
|
price: string[];
|
|
@@ -110,7 +110,7 @@ export interface DeletedAndHiddenTiers {
|
|
|
110
110
|
}
|
|
111
111
|
|
|
112
112
|
export interface AttendeeOfBashEvent {
|
|
113
|
-
user:
|
|
113
|
+
user: PublicUser;
|
|
114
114
|
tickets: Ticket[];
|
|
115
115
|
}
|
|
116
116
|
|
package/src/extendedSchemas.ts
CHANGED
|
@@ -40,7 +40,7 @@ export interface BashEventExt extends BashEvent {
|
|
|
40
40
|
targetAudience?: TargetAudience;
|
|
41
41
|
amountOfGuests?: AmountOfGuests;
|
|
42
42
|
recurrence?: Recurrence;
|
|
43
|
-
creator?:
|
|
43
|
+
creator?: PublicUser;
|
|
44
44
|
ticketTiers: TicketTierExt[];
|
|
45
45
|
media: Media[];
|
|
46
46
|
eventTasks: EventTask[];
|
|
@@ -49,17 +49,14 @@ export interface BashEventExt extends BashEvent {
|
|
|
49
49
|
invitations: InvitationExt[];
|
|
50
50
|
}
|
|
51
51
|
|
|
52
|
-
export const BASH_EVENT_DATA_TO_SELECT = {
|
|
53
|
-
creator: {
|
|
54
|
-
select: FRONT_END_USER_DATA_TO_SELECT
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
|
|
58
52
|
export const TICKET_TIER_DATA_TO_INCLUDE = {
|
|
59
53
|
promoCodes: true,
|
|
60
54
|
}
|
|
61
55
|
|
|
62
56
|
export const BASH_EVENT_DATA_TO_INCLUDE = {
|
|
57
|
+
creator: {
|
|
58
|
+
select: FRONT_END_USER_DATA_TO_SELECT
|
|
59
|
+
},
|
|
63
60
|
targetAudience: true,
|
|
64
61
|
amountOfGuests: true,
|
|
65
62
|
recurrence: true,
|
|
@@ -80,7 +77,7 @@ export const BASH_EVENT_DATA_TO_CLONE = [
|
|
|
80
77
|
] as const;
|
|
81
78
|
|
|
82
79
|
export interface BashNotificationExt extends BashNotification {
|
|
83
|
-
creator?:
|
|
80
|
+
creator?: PublicUser;
|
|
84
81
|
bashEvent?: BashEvent;
|
|
85
82
|
eventTask?: EventTask;
|
|
86
83
|
invitation?: Invitation;
|
|
@@ -88,19 +85,33 @@ export interface BashNotificationExt extends BashNotification {
|
|
|
88
85
|
}
|
|
89
86
|
|
|
90
87
|
export const BASH_NOTIFICATION_DATA_TO_INCLUDE = {
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
},
|
|
88
|
+
bashEvent: {
|
|
89
|
+
select: {
|
|
90
|
+
coverPhoto: true,
|
|
95
91
|
},
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
92
|
+
},
|
|
93
|
+
creator: {
|
|
94
|
+
select: {
|
|
95
|
+
image: true,
|
|
100
96
|
},
|
|
97
|
+
},
|
|
101
98
|
|
|
102
99
|
}
|
|
103
100
|
|
|
101
|
+
export interface EventTaskExt extends EventTask {
|
|
102
|
+
creator: PublicUser;
|
|
103
|
+
assignedTo?: PublicUser | null;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
export const EVENT_TASK_DATA_TO_INCLUDE = {
|
|
107
|
+
creator: {
|
|
108
|
+
select: FRONT_END_USER_DATA_TO_SELECT
|
|
109
|
+
},
|
|
110
|
+
assignedTo: {
|
|
111
|
+
select: FRONT_END_USER_DATA_TO_SELECT
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
|
|
104
115
|
type RemoveCommonProperties<T, U> = keyof (Omit<T, keyof U> & Omit<U, keyof T>);
|
|
105
116
|
type UnionFromArray<T extends ReadonlyArray<any>> = T[number];
|
|
106
117
|
type BashEventExtMinusDataToCloneType = Omit<BashEventExt, UnionFromArray<typeof BASH_EVENT_DATA_TO_CLONE>>;
|
|
@@ -122,7 +133,7 @@ export const VENUE_DATA_TO_INCLUDE = {
|
|
|
122
133
|
}
|
|
123
134
|
|
|
124
135
|
export interface ServiceExt extends Service {
|
|
125
|
-
owner:
|
|
136
|
+
owner: PublicUser;
|
|
126
137
|
media: Media[];
|
|
127
138
|
crowdSize: ServiceRange;
|
|
128
139
|
serviceRange: ServiceRange;
|
|
@@ -155,15 +166,19 @@ export const SERVICE_DATA_TO_INCLUDE = {
|
|
|
155
166
|
}
|
|
156
167
|
|
|
157
168
|
export interface InvitationExt extends Invitation {
|
|
158
|
-
creator:
|
|
159
|
-
sentTo:
|
|
169
|
+
creator: PublicUser;
|
|
170
|
+
sentTo: PublicUser;
|
|
160
171
|
tickets: Ticket[];
|
|
161
172
|
associatedBash?: AssociatedBash | null;
|
|
162
173
|
}
|
|
163
174
|
|
|
164
175
|
export const INVITATION_DATA_TO_INCLUDE = {
|
|
165
|
-
creator:
|
|
166
|
-
|
|
176
|
+
creator: {
|
|
177
|
+
select: FRONT_END_USER_DATA_TO_SELECT
|
|
178
|
+
},
|
|
179
|
+
sentTo: {
|
|
180
|
+
select: FRONT_END_USER_DATA_TO_SELECT
|
|
181
|
+
},
|
|
167
182
|
tickets: true,
|
|
168
183
|
}
|
|
169
184
|
|
|
@@ -193,13 +208,13 @@ export interface TicketTierExt extends TicketTier {
|
|
|
193
208
|
}
|
|
194
209
|
|
|
195
210
|
export interface TicketExt extends Ticket {
|
|
196
|
-
owner:
|
|
197
|
-
forUser:
|
|
211
|
+
owner: PublicUser;
|
|
212
|
+
forUser: PublicUser;
|
|
198
213
|
checkout?: Checkout;
|
|
199
214
|
}
|
|
200
215
|
|
|
201
216
|
export interface CheckoutExt extends Checkout {
|
|
202
|
-
owner:
|
|
217
|
+
owner: PublicUser;
|
|
203
218
|
tickets: Ticket[]
|
|
204
219
|
}
|
|
205
220
|
|
|
@@ -232,13 +247,13 @@ export interface UserExtraData extends User {
|
|
|
232
247
|
}
|
|
233
248
|
|
|
234
249
|
export interface UserExt extends User {
|
|
235
|
-
services?: Service[];
|
|
250
|
+
services?: Service[] | null;
|
|
236
251
|
|
|
237
252
|
// Do not include in fetch as there could be thousands of these
|
|
238
|
-
associatedBashes?: AssociatedBash[]
|
|
239
|
-
reviews?: ReviewExt[];
|
|
240
|
-
contacts?: Contact[];
|
|
241
|
-
ticketsIOwn?: TicketExt[];
|
|
253
|
+
associatedBashes?: AssociatedBash[] | null;
|
|
254
|
+
reviews?: ReviewExt[] | null;
|
|
255
|
+
contacts?: Contact[] | null;
|
|
256
|
+
ticketsIOwn?: TicketExt[] | null;
|
|
242
257
|
}
|
|
243
258
|
|
|
244
259
|
export const USER_DATA_SELECT_REVIEWS_COMMENTS = {
|
|
@@ -250,5 +265,5 @@ export const USER_DATA_SELECT_REVIEWS_COMMENTS = {
|
|
|
250
265
|
}
|
|
251
266
|
|
|
252
267
|
|
|
253
|
-
export type
|
|
268
|
+
export type PublicUser = Pick<UserExt, keyof typeof FRONT_END_USER_DATA_TO_SELECT>
|
|
254
269
|
& Partial<Pick<UserExt, keyof typeof USER_DATA_SELECT_REVIEWS_COMMENTS>>;
|
package/src/utils/apiUtils.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import {BashEvent, Contact, User } from "@prisma/client";
|
|
2
2
|
import {ContactOrUser} from "../definitions";
|
|
3
|
-
import {
|
|
3
|
+
import {PublicUser} from "../extendedSchemas";
|
|
4
4
|
|
|
5
|
-
type CombinedUser = User |
|
|
5
|
+
type CombinedUser = User | PublicUser;
|
|
6
6
|
type CombinedUserOrContact = CombinedUser | Contact;
|
|
7
7
|
|
|
8
8
|
export function isContactAndNotUser(contactOrUser: Partial<ContactOrUser>): contactOrUser is Contact {
|