@natch-the-storage/heathershaw-platform-types 1.0.1 → 1.1.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/README.md CHANGED
@@ -1,32 +1,37 @@
1
1
  # @natch-the-storage/heathershaw-platform-types
2
2
 
3
- Validation schemas and enums exported from `validators.js` for frontend use.
3
+ TypeScript interfaces, enum value arrays, and union types for frontend use.
4
4
 
5
5
  ## Install
6
6
 
7
- Install the package and peer dependency:
8
-
9
7
  ```bash
10
- npm install @natch-the-storage/heathershaw-platform-types zod
8
+ npm install @natch-the-storage/heathershaw-platform-types
11
9
  ```
12
10
 
13
11
  ## Usage
14
12
 
15
- ES module:
13
+ ### TypeScript types
14
+
15
+ ```ts
16
+ import type { CreateOrderBody, Address, ScriptSelect } from "@natch-the-storage/heathershaw-platform-types";
17
+ ```
16
18
 
17
- ```js
18
- import { createOrderBodySchema } from "@natch-the-storage/heathershaw-platform-types";
19
+ ### Enum value arrays
19
20
 
20
- // or import the built ESM file directly
21
- import { createOrderBodySchema } from "@natch-the-storage/heathershaw-platform-types/build/validators.es.js";
21
+ The raw value arrays are exported for use in UI components (e.g. populating a select):
22
+
23
+ ```ts
24
+ import { shippingTypeValues } from "@natch-the-storage/heathershaw-platform-types";
25
+ // ["STANDARD", "COLD_CHAIN"]
22
26
  ```
23
27
 
24
- CommonJS:
28
+ Each array also has a matching union type:
25
29
 
26
- ```js
27
- const {
28
- createOrderBodySchema,
29
- } = require("@natch-the-storage/heathershaw-platform-types");
30
+ ```ts
31
+ import type { ShippingType } from "@natch-the-storage/heathershaw-platform-types";
32
+ // "STANDARD" | "COLD_CHAIN"
30
33
  ```
31
34
 
32
- Note: `zod` is a peer dependency — you must install it in the consumer project.
35
+ ## Notes
36
+
37
+ - ESM only — requires a bundler (Vite, Next.js, webpack 5, etc.)
@@ -0,0 +1,330 @@
1
+ export declare const paperScriptReminderStatusValues: readonly ["PENDING", "RECEIVED", "ESCALATED"];
2
+ export declare const quoteStatusValues: readonly ["PENDING", "PROCESSING", "RESOLVED"];
3
+ export declare const paymentModeAtOrderValues: readonly ["INVOICE", "POS"];
4
+ export declare const paymentStatusValues: readonly ["AWAITING_PAYMENT", "PAID", "PENDING_INVOICE"];
5
+ export declare const productCategoryValues: readonly ["TODO1", "TODO2", "TODO3"];
6
+ export declare const repeatStorageValues: readonly ["HEATHERSHAWS", "PHARMACY", "PATIENT"];
7
+ export declare const scriptTypeValues: readonly ["eRx", "PAPER"];
8
+ export declare const shippingTypeValues: readonly ["STANDARD", "COLD_CHAIN"];
9
+ export declare const hazardTagsValues: readonly ["Hazardous", "Cytotoxic", "High-Risk"];
10
+ export type PaperScriptReminderStatus = (typeof paperScriptReminderStatusValues)[number];
11
+ export type QuoteStatus = (typeof quoteStatusValues)[number];
12
+ export type PaymentModeAtOrder = (typeof paymentModeAtOrderValues)[number];
13
+ export type PaymentStatus = (typeof paymentStatusValues)[number];
14
+ export type ProductCategory = (typeof productCategoryValues)[number];
15
+ export type RepeatStorage = (typeof repeatStorageValues)[number];
16
+ export type ScriptType = (typeof scriptTypeValues)[number];
17
+ export type ShippingType = (typeof shippingTypeValues)[number];
18
+ export type HazardTag = (typeof hazardTagsValues)[number];
19
+ export interface Address {
20
+ street: string;
21
+ suburb: string;
22
+ state: string;
23
+ postcode: string;
24
+ deliveryInstructions?: string;
25
+ }
26
+ export interface PrescriberSelect {
27
+ id: number;
28
+ name: string;
29
+ email: string;
30
+ phone: string;
31
+ }
32
+ export interface HealthInfo {
33
+ allergies: string | null;
34
+ conditions: string | null;
35
+ relevantHistory: string | null;
36
+ currentMedications: string | null;
37
+ prescriber: PrescriberSelect | null;
38
+ }
39
+ export interface ScriptSelect {
40
+ id: number;
41
+ prescriberId: number;
42
+ patientRecordId: number;
43
+ productId: number;
44
+ dateIssued: string;
45
+ processed: boolean;
46
+ repeatsRemaining: number;
47
+ daysSupply: number;
48
+ repeatStorage: RepeatStorage;
49
+ compoundDirectId: string | null;
50
+ imageKey: string | null;
51
+ }
52
+ export interface OrderSelect {
53
+ id: number;
54
+ partnerPharmacyProfileId: number | null;
55
+ patientRecordId: number | null;
56
+ completed: boolean;
57
+ paymentModeAtOrder: PaymentModeAtOrder;
58
+ paymentStatus: PaymentStatus;
59
+ scriptType: ScriptType;
60
+ paperScriptReceived: boolean;
61
+ shippingType: ShippingType;
62
+ shippingFee: string;
63
+ lineItems: unknown;
64
+ orderChangeNotes: string | null;
65
+ counsellingRequired: boolean;
66
+ confirmationSentAt: Date | null;
67
+ hubspotContactId: string | null;
68
+ createdByUserId: string | null;
69
+ }
70
+ export interface GetById {
71
+ id: number;
72
+ }
73
+ export interface GetAll {
74
+ page?: number;
75
+ limit?: number;
76
+ }
77
+ export interface DevEmail {
78
+ to: string;
79
+ name: string;
80
+ number: number;
81
+ }
82
+ export interface Sms {
83
+ body: string;
84
+ to: string;
85
+ from: string;
86
+ }
87
+ export interface CreateDirectUserProfileBody {
88
+ userId: string;
89
+ patientRecordId?: number | null;
90
+ compoundDirectId?: string | null;
91
+ remindersEnabled?: boolean;
92
+ scriptSubmissions: ScriptSelect[] | null;
93
+ }
94
+ export interface UpdateDirectUserProfileBody {
95
+ id: number;
96
+ userId?: string;
97
+ patientRecordId?: number | null;
98
+ compoundDirectId?: string | null;
99
+ remindersEnabled?: boolean;
100
+ scriptSubmissions?: ScriptSelect[] | null;
101
+ }
102
+ export interface CreateOrderBody {
103
+ partnerPharmacyProfileId?: number | null;
104
+ patientRecordId?: number | null;
105
+ completed?: boolean;
106
+ paymentModeAtOrder: PaymentModeAtOrder;
107
+ paymentStatus: PaymentStatus;
108
+ scriptType: ScriptType;
109
+ paperScriptReceived?: boolean;
110
+ shippingType: ShippingType;
111
+ shippingFee: string;
112
+ lineItems?: unknown;
113
+ orderChangeNotes?: string | null;
114
+ counsellingRequired?: boolean;
115
+ confirmationSentAt?: Date | null;
116
+ hubspotContactId?: string | null;
117
+ createdByUserId?: string | null;
118
+ }
119
+ export interface UpdateOrderBody {
120
+ id: number;
121
+ partnerPharmacyProfileId?: number | null;
122
+ patientRecordId?: number | null;
123
+ completed?: boolean;
124
+ paymentModeAtOrder?: PaymentModeAtOrder;
125
+ paymentStatus?: PaymentStatus;
126
+ scriptType?: ScriptType;
127
+ paperScriptReceived?: boolean;
128
+ shippingType?: ShippingType;
129
+ shippingFee?: string;
130
+ lineItems?: unknown;
131
+ orderChangeNotes?: string | null;
132
+ counsellingRequired?: boolean;
133
+ confirmationSentAt?: Date | null;
134
+ hubspotContactId?: string | null;
135
+ createdByUserId?: string | null;
136
+ }
137
+ export interface CreatePaperScriptReminderBody {
138
+ orderId: number;
139
+ partnerPharmacyProfileId: number;
140
+ status: PaperScriptReminderStatus;
141
+ remindersSent: number;
142
+ reminderIntervalDays?: number;
143
+ escalationEmail: string;
144
+ receivedMarked: boolean;
145
+ }
146
+ export interface UpdatePaperScriptReminderBody {
147
+ id: number;
148
+ orderId?: number;
149
+ partnerPharmacyProfileId?: number;
150
+ status?: PaperScriptReminderStatus;
151
+ remindersSent?: number;
152
+ reminderIntervalDays?: number;
153
+ escalationEmail?: string;
154
+ receivedMarked?: boolean;
155
+ }
156
+ export interface CreatePartnerPharmacyProfileBody {
157
+ userId: string;
158
+ abn: string;
159
+ contactName: string;
160
+ invoiceEmail: string;
161
+ phone: string;
162
+ discountTier: string;
163
+ paymentMode: PaymentModeAtOrder;
164
+ remindersEnabled?: boolean;
165
+ priceMatches?: unknown;
166
+ dispatchAddress: Address | null;
167
+ orders?: unknown;
168
+ xeroContactId?: string | null;
169
+ }
170
+ export interface UpdatePartnerPharmacyProfileBody {
171
+ id: number;
172
+ userId?: string;
173
+ abn?: string;
174
+ contactName?: string;
175
+ invoiceEmail?: string;
176
+ phone?: string;
177
+ discountTier?: string;
178
+ paymentMode?: PaymentModeAtOrder;
179
+ remindersEnabled?: boolean;
180
+ priceMatches?: unknown;
181
+ dispatchAddress?: Address | null;
182
+ orders?: unknown;
183
+ xeroContactId?: string | null;
184
+ }
185
+ export interface GetPatientRecordsQuery extends GetAll {
186
+ partner_pharmacy_profile_id?: number;
187
+ }
188
+ export interface CreatePatientRecordBody {
189
+ partnerPharmacyProfileId?: number | null;
190
+ userId?: string | null;
191
+ firstName: string;
192
+ lastName: string;
193
+ dateOfBirth: string;
194
+ medicareNumber?: string | null;
195
+ phone: string;
196
+ address: Address | null;
197
+ healthInfo: HealthInfo | null;
198
+ reminderEnabled?: boolean;
199
+ scripts: ScriptSelect[] | null;
200
+ orderHistory: OrderSelect[] | null;
201
+ }
202
+ export interface UpdatePatientRecordBody {
203
+ id: number;
204
+ partnerPharmacyProfileId?: number | null;
205
+ userId?: string | null;
206
+ firstName?: string;
207
+ lastName?: string;
208
+ dateOfBirth?: string;
209
+ medicareNumber?: string | null;
210
+ phone?: string;
211
+ address?: Address | null;
212
+ healthInfo?: HealthInfo | null;
213
+ reminderEnabled?: boolean;
214
+ scripts?: ScriptSelect[] | null;
215
+ orderHistory?: OrderSelect[] | null;
216
+ }
217
+ export interface CreatePrescriberBody {
218
+ name: string;
219
+ email: string;
220
+ phone: string;
221
+ }
222
+ export interface UpdatePrescriberBody {
223
+ id: number;
224
+ name?: string;
225
+ email?: string;
226
+ phone?: string;
227
+ }
228
+ export interface CreatePriceMatchBody {
229
+ partnerPharmacyProfileId: number;
230
+ productId: number;
231
+ overridePrice: string;
232
+ }
233
+ export interface UpdatePriceMatchBody {
234
+ id: number;
235
+ partnerPharmacyProfileId?: number;
236
+ productId?: number;
237
+ overridePrice?: string;
238
+ }
239
+ export interface CreateProductBody {
240
+ name: string;
241
+ imageKey?: string | null;
242
+ abbreviations?: string[] | null;
243
+ category: ProductCategory;
244
+ rrp: string;
245
+ hazardTags?: HazardTag[] | null;
246
+ compoundDirectId?: string | null;
247
+ requiresFridge?: boolean;
248
+ flavours?: string[] | null;
249
+ requiresS8Medicare?: boolean;
250
+ }
251
+ export interface UpdateProductBody {
252
+ id: number;
253
+ name?: string;
254
+ imageKey?: string | null;
255
+ abbreviations?: string[] | null;
256
+ category?: ProductCategory;
257
+ rrp?: string;
258
+ hazardTags?: HazardTag[] | null;
259
+ compoundDirectId?: string | null;
260
+ requiresFridge?: boolean;
261
+ flavours?: string[] | null;
262
+ requiresS8Medicare?: boolean;
263
+ }
264
+ export interface CreateQuoteBody {
265
+ status?: QuoteStatus;
266
+ partnerPharmacyProfileId: number;
267
+ name: string;
268
+ strength: string;
269
+ form: string;
270
+ quantity: number;
271
+ patientContext: string;
272
+ }
273
+ export interface UpdateQuoteBody {
274
+ id: number;
275
+ status?: QuoteStatus;
276
+ partnerPharmacyProfileId?: number;
277
+ name?: string;
278
+ strength?: string;
279
+ form?: string;
280
+ quantity?: number;
281
+ patientContext?: string;
282
+ }
283
+ export interface CreateRepeatReminderBody {
284
+ orderId: number;
285
+ patientRecordId: number;
286
+ daysSupply: number;
287
+ dispatchedAt: Date;
288
+ reminderDueAt: Date;
289
+ reminderOffsetDays?: number;
290
+ pharmacyReminderSent?: boolean;
291
+ patientSmsSent?: boolean;
292
+ enabled?: boolean;
293
+ }
294
+ export interface UpdateRepeatReminderBody {
295
+ id: number;
296
+ orderId?: number;
297
+ patientRecordId?: number;
298
+ daysSupply?: number;
299
+ dispatchedAt?: Date;
300
+ reminderDueAt?: Date;
301
+ reminderOffsetDays?: number;
302
+ pharmacyReminderSent?: boolean;
303
+ patientSmsSent?: boolean;
304
+ enabled?: boolean;
305
+ }
306
+ export interface CreateScriptBody {
307
+ prescriberId: number;
308
+ patientRecordId: number;
309
+ productId: number;
310
+ dateIssued: string;
311
+ processed?: boolean;
312
+ repeatsRemaining?: number;
313
+ daysSupply: number;
314
+ repeatStorage: RepeatStorage;
315
+ compoundDirectId?: string | null;
316
+ imageKey?: string | null;
317
+ }
318
+ export interface UpdateScriptBody {
319
+ id: number;
320
+ prescriberId?: number;
321
+ patientRecordId?: number;
322
+ productId?: number;
323
+ dateIssued?: string;
324
+ processed?: boolean;
325
+ repeatsRemaining?: number;
326
+ daysSupply?: number;
327
+ repeatStorage?: RepeatStorage;
328
+ compoundDirectId?: string | null;
329
+ imageKey?: string | null;
330
+ }
@@ -0,0 +1,22 @@
1
+ // ─── Enum value arrays ──────────────────────────────────────────────────────────
2
+ export const paperScriptReminderStatusValues = [
3
+ "PENDING",
4
+ "RECEIVED",
5
+ "ESCALATED",
6
+ ];
7
+ export const quoteStatusValues = ["PENDING", "PROCESSING", "RESOLVED"];
8
+ export const paymentModeAtOrderValues = ["INVOICE", "POS"];
9
+ export const paymentStatusValues = [
10
+ "AWAITING_PAYMENT",
11
+ "PAID",
12
+ "PENDING_INVOICE",
13
+ ];
14
+ export const productCategoryValues = ["TODO1", "TODO2", "TODO3"];
15
+ export const repeatStorageValues = [
16
+ "HEATHERSHAWS",
17
+ "PHARMACY",
18
+ "PATIENT",
19
+ ];
20
+ export const scriptTypeValues = ["eRx", "PAPER"];
21
+ export const shippingTypeValues = ["STANDARD", "COLD_CHAIN"];
22
+ export const hazardTagsValues = ["Hazardous", "Cytotoxic", "High-Risk"];
package/package.json CHANGED
@@ -1,29 +1,25 @@
1
1
  {
2
2
  "name": "@natch-the-storage/heathershaw-platform-types",
3
- "version": "1.0.1",
3
+ "version": "1.1.0",
4
4
  "description": "Validation and interfaces to use on the client",
5
5
  "license": "ISC",
6
6
  "author": "Natch Surana",
7
7
  "type": "module",
8
- "main": "build/validators.cjs.js",
9
- "module": "build/validators.es.js",
8
+ "module": "build/validators.js",
9
+ "types": "build/validators.d.ts",
10
10
  "exports": {
11
11
  ".": {
12
- "import": "./build/validators.es.js",
13
- "require": "./build/validators.cjs.js"
12
+ "types": "./build/validators.d.ts",
13
+ "import": "./build/validators.js"
14
14
  }
15
15
  },
16
- "peerDependencies": {
17
- "zod": "^4.4.3"
18
- },
19
16
  "files": [
20
17
  "build"
21
18
  ],
22
19
  "scripts": {
23
- "test": "exit 0",
24
- "build": "vite build"
20
+ "build": "tsc"
25
21
  },
26
- "dependencies": {
27
- "vite": "^8.0.16"
22
+ "devDependencies": {
23
+ "typescript": "^6.0.3"
28
24
  }
29
25
  }
@@ -1 +0,0 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});let e=require("zod");var t=[`PENDING`,`RECEIVED`,`ESCALATED`],n=[`PENDING`,`PROCESSING`,`RESOLVED`],r=[`INVOICE`,`POS`],i=[`AWAITING_PAYMENT`,`PAID`,`PENDING_INVOICE`],a=[`TODO1`,`TODO2`,`TODO3`],o=[`HEATHERSHAWS`,`PHARMACY`,`PATIENT`],s=[`eRx`,`PAPER`],c=[`STANDARD`,`COLD_CHAIN`],l=[`Hazardous`,`Cytotoxic`,`High-Risk`],u=e.z.object({street:e.z.string().min(1),suburb:e.z.string().min(1),state:e.z.string().min(1),postcode:e.z.string().min(1),deliveryInstructions:e.z.string().optional()}),d=e.z.object({id:e.z.number(),name:e.z.string(),email:e.z.string(),phone:e.z.string()}),f=e.z.object({allergies:e.z.string().nullable(),conditions:e.z.string().nullable(),relevantHistory:e.z.string().nullable(),currentMedications:e.z.string().nullable(),prescriber:d.nullable()}),p=e.z.object({id:e.z.number(),prescriberId:e.z.number(),patientRecordId:e.z.number(),productId:e.z.number(),dateIssued:e.z.string(),processed:e.z.boolean(),repeatsRemaining:e.z.number(),daysSupply:e.z.number(),repeatStorage:e.z.enum(o),compoundDirectId:e.z.string().nullable(),imageKey:e.z.string().nullable()}),m=e.z.object({id:e.z.number(),partnerPharmacyProfileId:e.z.number().nullable(),patientRecordId:e.z.number().nullable(),completed:e.z.boolean(),paymentModeAtOrder:e.z.enum(r),paymentStatus:e.z.enum(i),scriptType:e.z.enum(s),paperScriptReceived:e.z.boolean(),shippingType:e.z.enum(c),shippingFee:e.z.string(),lineItems:e.z.unknown(),orderChangeNotes:e.z.string().nullable(),counsellingRequired:e.z.boolean(),confirmationSentAt:e.z.date().nullable(),hubspotContactId:e.z.string().nullable(),createdByUserId:e.z.string().nullable()}),h=e.z.object({id:e.z.preprocess(e=>typeof e==`string`&&e!==``?Number(e):e,e.z.number().int().min(1))}),g=e.z.object({page:e.z.preprocess(e=>{if(typeof e==`string`&&e!==``)return Number(e)},e.z.number().int().min(1).optional()),limit:e.z.preprocess(e=>{if(typeof e==`string`&&e!==``)return Number(e)},e.z.number().int().min(1).max(100).optional())}),_=e.z.object({to:e.z.string(),name:e.z.string(),number:e.z.number()}),v=e.z.object({body:e.z.string(),to:e.z.string(),from:e.z.string()}),y=e.z.object({userId:e.z.string(),patientRecordId:e.z.number().int().nullable().optional(),compoundDirectId:e.z.string().nullable().optional(),remindersEnabled:e.z.boolean().optional(),scriptSubmissions:e.z.array(p).nullable()}),b=e.z.object({id:e.z.number().int().min(1),userId:e.z.string().optional(),patientRecordId:e.z.number().int().nullable().optional(),compoundDirectId:e.z.string().nullable().optional(),remindersEnabled:e.z.boolean().optional(),scriptSubmissions:e.z.array(p).nullable().optional()}),x=e.z.object({partnerPharmacyProfileId:e.z.number().int().nullable().optional(),patientRecordId:e.z.number().int().nullable().optional(),completed:e.z.boolean().optional(),paymentModeAtOrder:e.z.enum(r),paymentStatus:e.z.enum(i),scriptType:e.z.enum(s),paperScriptReceived:e.z.boolean().optional(),shippingType:e.z.enum(c),shippingFee:e.z.string(),lineItems:e.z.unknown().optional(),orderChangeNotes:e.z.string().nullable().optional(),counsellingRequired:e.z.boolean().optional(),confirmationSentAt:e.z.coerce.date().nullable().optional(),hubspotContactId:e.z.string().nullable().optional(),createdByUserId:e.z.string().nullable().optional()}),S=e.z.object({id:e.z.number().int().min(1),partnerPharmacyProfileId:e.z.number().int().nullable().optional(),patientRecordId:e.z.number().int().nullable().optional(),completed:e.z.boolean().optional(),paymentModeAtOrder:e.z.enum(r).optional(),paymentStatus:e.z.enum(i).optional(),scriptType:e.z.enum(s).optional(),paperScriptReceived:e.z.boolean().optional(),shippingType:e.z.enum(c).optional(),shippingFee:e.z.string().optional(),lineItems:e.z.unknown().optional(),orderChangeNotes:e.z.string().nullable().optional(),counsellingRequired:e.z.boolean().optional(),confirmationSentAt:e.z.coerce.date().nullable().optional(),hubspotContactId:e.z.string().nullable().optional(),createdByUserId:e.z.string().nullable().optional()}),C=e.z.object({orderId:e.z.number().int(),partnerPharmacyProfileId:e.z.number().int(),status:e.z.enum(t),remindersSent:e.z.number().int(),reminderIntervalDays:e.z.number().int().optional(),escalationEmail:e.z.string(),receivedMarked:e.z.boolean()}),w=e.z.object({id:e.z.number().int().min(1),orderId:e.z.number().int().optional(),partnerPharmacyProfileId:e.z.number().int().optional(),status:e.z.enum(t).optional(),remindersSent:e.z.number().int().optional(),reminderIntervalDays:e.z.number().int().optional(),escalationEmail:e.z.string().optional(),receivedMarked:e.z.boolean().optional()}),T=e.z.object({userId:e.z.string(),abn:e.z.string(),contactName:e.z.string(),invoiceEmail:e.z.string(),phone:e.z.string(),discountTier:e.z.string(),paymentMode:e.z.enum(r),remindersEnabled:e.z.boolean().optional(),priceMatches:e.z.unknown().optional(),dispatchAddress:u.nullable(),orders:e.z.unknown().optional(),xeroContactId:e.z.string().nullable().optional()}),E=e.z.object({id:e.z.number().int().min(1),userId:e.z.string().optional(),abn:e.z.string().optional(),contactName:e.z.string().optional(),invoiceEmail:e.z.string().optional(),phone:e.z.string().optional(),discountTier:e.z.string().optional(),paymentMode:e.z.enum(r).optional(),remindersEnabled:e.z.boolean().optional(),priceMatches:e.z.unknown().optional(),dispatchAddress:u.nullable().optional(),orders:e.z.unknown().optional(),xeroContactId:e.z.string().nullable().optional()}),D=g.extend({partner_pharmacy_profile_id:e.z.preprocess(e=>{if(typeof e==`string`&&e!==``)return Number(e)},e.z.number().int().min(1).optional())}),O=e.z.object({partnerPharmacyProfileId:e.z.number().int().nullable().optional(),userId:e.z.string().nullable().optional(),firstName:e.z.string(),lastName:e.z.string(),dateOfBirth:e.z.string(),medicareNumber:e.z.string().nullable().optional(),phone:e.z.string(),address:u.nullable(),healthInfo:f.nullable(),reminderEnabled:e.z.boolean().optional(),scripts:e.z.array(p).nullable(),orderHistory:e.z.array(m).nullable()}),k=e.z.object({id:e.z.number().int().min(1),partnerPharmacyProfileId:e.z.number().int().nullable().optional(),userId:e.z.string().nullable().optional(),firstName:e.z.string().optional(),lastName:e.z.string().optional(),dateOfBirth:e.z.string().optional(),medicareNumber:e.z.string().nullable().optional(),phone:e.z.string().optional(),address:u.nullable().optional(),healthInfo:f.nullable().optional(),reminderEnabled:e.z.boolean().optional(),scripts:e.z.array(p).nullable().optional(),orderHistory:e.z.array(m).nullable().optional()}),A=e.z.object({name:e.z.string(),email:e.z.string(),phone:e.z.string()}),j=e.z.object({id:e.z.number().int().min(1),name:e.z.string().optional(),email:e.z.string().optional(),phone:e.z.string().optional()}),M=e.z.object({partnerPharmacyProfileId:e.z.number().int(),productId:e.z.number().int(),overridePrice:e.z.string()}),N=e.z.object({id:e.z.number().int().min(1),partnerPharmacyProfileId:e.z.number().int().optional(),productId:e.z.number().int().optional(),overridePrice:e.z.string().optional()}),P=e.z.object({name:e.z.string(),imageKey:e.z.string().nullable().optional(),abbreviations:e.z.array(e.z.string()).nullable().optional(),category:e.z.enum(a),rrp:e.z.string(),hazardTags:e.z.array(e.z.enum(l)).nullable().optional(),compoundDirectId:e.z.string().nullable().optional(),requiresFridge:e.z.boolean().optional(),flavours:e.z.array(e.z.string()).nullable().optional(),requiresS8Medicare:e.z.boolean().optional()}),F=e.z.object({id:e.z.number().int().min(1),name:e.z.string().optional(),imageKey:e.z.string().nullable().optional(),abbreviations:e.z.array(e.z.string()).nullable().optional(),category:e.z.enum(a).optional(),rrp:e.z.string().optional(),hazardTags:e.z.array(e.z.enum(l)).nullable().optional(),compoundDirectId:e.z.string().nullable().optional(),requiresFridge:e.z.boolean().optional(),flavours:e.z.array(e.z.string()).nullable().optional(),requiresS8Medicare:e.z.boolean().optional()}),I=e.z.object({status:e.z.enum(n).optional(),partnerPharmacyProfileId:e.z.number().int(),name:e.z.string(),strength:e.z.string(),form:e.z.string(),quantity:e.z.number().int(),patientContext:e.z.string()}),L=e.z.object({id:e.z.number().int().min(1),status:e.z.enum(n).optional(),partnerPharmacyProfileId:e.z.number().int().optional(),name:e.z.string().optional(),strength:e.z.string().optional(),form:e.z.string().optional(),quantity:e.z.number().int().optional(),patientContext:e.z.string().optional()}),R=e.z.object({orderId:e.z.number().int(),patientRecordId:e.z.number().int(),daysSupply:e.z.number().int(),dispatchedAt:e.z.coerce.date(),reminderDueAt:e.z.coerce.date(),reminderOffsetDays:e.z.number().int().optional(),pharmacyReminderSent:e.z.boolean().optional(),patientSmsSent:e.z.boolean().optional(),enabled:e.z.boolean().optional()}),z=e.z.object({id:e.z.number().int().min(1),orderId:e.z.number().int().optional(),patientRecordId:e.z.number().int().optional(),daysSupply:e.z.number().int().optional(),dispatchedAt:e.z.coerce.date().optional(),reminderDueAt:e.z.coerce.date().optional(),reminderOffsetDays:e.z.number().int().optional(),pharmacyReminderSent:e.z.boolean().optional(),patientSmsSent:e.z.boolean().optional(),enabled:e.z.boolean().optional()}),B=e.z.object({prescriberId:e.z.number().int(),patientRecordId:e.z.number().int(),productId:e.z.number().int(),dateIssued:e.z.string(),processed:e.z.boolean().optional(),repeatsRemaining:e.z.number().int().optional(),daysSupply:e.z.number().int(),repeatStorage:e.z.enum(o),compoundDirectId:e.z.string().nullable().optional(),imageKey:e.z.string().nullable().optional()}),V=e.z.object({id:e.z.number().int().min(1),prescriberId:e.z.number().int().optional(),patientRecordId:e.z.number().int().optional(),productId:e.z.number().int().optional(),dateIssued:e.z.string().optional(),processed:e.z.boolean().optional(),repeatsRemaining:e.z.number().int().optional(),daysSupply:e.z.number().int().optional(),repeatStorage:e.z.enum(o).optional(),compoundDirectId:e.z.string().nullable().optional(),imageKey:e.z.string().nullable().optional()});exports.addressSchema=u,exports.createDirectUserProfileBodySchema=y,exports.createOrderBodySchema=x,exports.createPaperScriptReminderBodySchema=C,exports.createPartnerPharmacyProfileBodySchema=T,exports.createPatientRecordBodySchema=O,exports.createPrescriberBodySchema=A,exports.createPriceMatchBodySchema=M,exports.createProductBodySchema=P,exports.createQuoteBodySchema=I,exports.createRepeatReminderBodySchema=R,exports.createScriptBodySchema=B,exports.devEmailSchema=_,exports.getAllSchema=g,exports.getByIdSchema=h,exports.getPatientRecordsQuerySchema=D,exports.hazardTagsValues=l,exports.healthInfoSchema=f,exports.orderSelectSchema=m,exports.paperScriptReminderStatusValues=t,exports.paymentModeAtOrderValues=r,exports.paymentStatusValues=i,exports.prescriberSelectSchema=d,exports.productCategoryValues=a,exports.quoteStatusValues=n,exports.repeatStorageValues=o,exports.scriptSelectSchema=p,exports.scriptTypeValues=s,exports.shippingTypeValues=c,exports.smsSchema=v,exports.updateDirectUserProfileBodySchema=b,exports.updateOrderBodySchema=S,exports.updatePaperScriptReminderBodySchema=w,exports.updatePartnerPharmacyProfileBodySchema=E,exports.updatePatientRecordBodySchema=k,exports.updatePrescriberBodySchema=j,exports.updatePriceMatchBodySchema=N,exports.updateProductBodySchema=F,exports.updateQuoteBodySchema=L,exports.updateRepeatReminderBodySchema=z,exports.updateScriptBodySchema=V;
@@ -1,311 +0,0 @@
1
- import { z as e } from "zod";
2
- //#region validators.js
3
- var t = [
4
- "PENDING",
5
- "RECEIVED",
6
- "ESCALATED"
7
- ], n = [
8
- "PENDING",
9
- "PROCESSING",
10
- "RESOLVED"
11
- ], r = ["INVOICE", "POS"], i = [
12
- "AWAITING_PAYMENT",
13
- "PAID",
14
- "PENDING_INVOICE"
15
- ], a = [
16
- "TODO1",
17
- "TODO2",
18
- "TODO3"
19
- ], o = [
20
- "HEATHERSHAWS",
21
- "PHARMACY",
22
- "PATIENT"
23
- ], s = ["eRx", "PAPER"], c = ["STANDARD", "COLD_CHAIN"], l = [
24
- "Hazardous",
25
- "Cytotoxic",
26
- "High-Risk"
27
- ], u = e.object({
28
- street: e.string().min(1),
29
- suburb: e.string().min(1),
30
- state: e.string().min(1),
31
- postcode: e.string().min(1),
32
- deliveryInstructions: e.string().optional()
33
- }), d = e.object({
34
- id: e.number(),
35
- name: e.string(),
36
- email: e.string(),
37
- phone: e.string()
38
- }), f = e.object({
39
- allergies: e.string().nullable(),
40
- conditions: e.string().nullable(),
41
- relevantHistory: e.string().nullable(),
42
- currentMedications: e.string().nullable(),
43
- prescriber: d.nullable()
44
- }), p = e.object({
45
- id: e.number(),
46
- prescriberId: e.number(),
47
- patientRecordId: e.number(),
48
- productId: e.number(),
49
- dateIssued: e.string(),
50
- processed: e.boolean(),
51
- repeatsRemaining: e.number(),
52
- daysSupply: e.number(),
53
- repeatStorage: e.enum(o),
54
- compoundDirectId: e.string().nullable(),
55
- imageKey: e.string().nullable()
56
- }), m = e.object({
57
- id: e.number(),
58
- partnerPharmacyProfileId: e.number().nullable(),
59
- patientRecordId: e.number().nullable(),
60
- completed: e.boolean(),
61
- paymentModeAtOrder: e.enum(r),
62
- paymentStatus: e.enum(i),
63
- scriptType: e.enum(s),
64
- paperScriptReceived: e.boolean(),
65
- shippingType: e.enum(c),
66
- shippingFee: e.string(),
67
- lineItems: e.unknown(),
68
- orderChangeNotes: e.string().nullable(),
69
- counsellingRequired: e.boolean(),
70
- confirmationSentAt: e.date().nullable(),
71
- hubspotContactId: e.string().nullable(),
72
- createdByUserId: e.string().nullable()
73
- }), h = e.object({ id: e.preprocess((e) => typeof e == "string" && e !== "" ? Number(e) : e, e.number().int().min(1)) }), g = e.object({
74
- page: e.preprocess((e) => {
75
- if (typeof e == "string" && e !== "") return Number(e);
76
- }, e.number().int().min(1).optional()),
77
- limit: e.preprocess((e) => {
78
- if (typeof e == "string" && e !== "") return Number(e);
79
- }, e.number().int().min(1).max(100).optional())
80
- }), _ = e.object({
81
- to: e.string(),
82
- name: e.string(),
83
- number: e.number()
84
- }), v = e.object({
85
- body: e.string(),
86
- to: e.string(),
87
- from: e.string()
88
- }), y = e.object({
89
- userId: e.string(),
90
- patientRecordId: e.number().int().nullable().optional(),
91
- compoundDirectId: e.string().nullable().optional(),
92
- remindersEnabled: e.boolean().optional(),
93
- scriptSubmissions: e.array(p).nullable()
94
- }), b = e.object({
95
- id: e.number().int().min(1),
96
- userId: e.string().optional(),
97
- patientRecordId: e.number().int().nullable().optional(),
98
- compoundDirectId: e.string().nullable().optional(),
99
- remindersEnabled: e.boolean().optional(),
100
- scriptSubmissions: e.array(p).nullable().optional()
101
- }), x = e.object({
102
- partnerPharmacyProfileId: e.number().int().nullable().optional(),
103
- patientRecordId: e.number().int().nullable().optional(),
104
- completed: e.boolean().optional(),
105
- paymentModeAtOrder: e.enum(r),
106
- paymentStatus: e.enum(i),
107
- scriptType: e.enum(s),
108
- paperScriptReceived: e.boolean().optional(),
109
- shippingType: e.enum(c),
110
- shippingFee: e.string(),
111
- lineItems: e.unknown().optional(),
112
- orderChangeNotes: e.string().nullable().optional(),
113
- counsellingRequired: e.boolean().optional(),
114
- confirmationSentAt: e.coerce.date().nullable().optional(),
115
- hubspotContactId: e.string().nullable().optional(),
116
- createdByUserId: e.string().nullable().optional()
117
- }), S = e.object({
118
- id: e.number().int().min(1),
119
- partnerPharmacyProfileId: e.number().int().nullable().optional(),
120
- patientRecordId: e.number().int().nullable().optional(),
121
- completed: e.boolean().optional(),
122
- paymentModeAtOrder: e.enum(r).optional(),
123
- paymentStatus: e.enum(i).optional(),
124
- scriptType: e.enum(s).optional(),
125
- paperScriptReceived: e.boolean().optional(),
126
- shippingType: e.enum(c).optional(),
127
- shippingFee: e.string().optional(),
128
- lineItems: e.unknown().optional(),
129
- orderChangeNotes: e.string().nullable().optional(),
130
- counsellingRequired: e.boolean().optional(),
131
- confirmationSentAt: e.coerce.date().nullable().optional(),
132
- hubspotContactId: e.string().nullable().optional(),
133
- createdByUserId: e.string().nullable().optional()
134
- }), C = e.object({
135
- orderId: e.number().int(),
136
- partnerPharmacyProfileId: e.number().int(),
137
- status: e.enum(t),
138
- remindersSent: e.number().int(),
139
- reminderIntervalDays: e.number().int().optional(),
140
- escalationEmail: e.string(),
141
- receivedMarked: e.boolean()
142
- }), w = e.object({
143
- id: e.number().int().min(1),
144
- orderId: e.number().int().optional(),
145
- partnerPharmacyProfileId: e.number().int().optional(),
146
- status: e.enum(t).optional(),
147
- remindersSent: e.number().int().optional(),
148
- reminderIntervalDays: e.number().int().optional(),
149
- escalationEmail: e.string().optional(),
150
- receivedMarked: e.boolean().optional()
151
- }), T = e.object({
152
- userId: e.string(),
153
- abn: e.string(),
154
- contactName: e.string(),
155
- invoiceEmail: e.string(),
156
- phone: e.string(),
157
- discountTier: e.string(),
158
- paymentMode: e.enum(r),
159
- remindersEnabled: e.boolean().optional(),
160
- priceMatches: e.unknown().optional(),
161
- dispatchAddress: u.nullable(),
162
- orders: e.unknown().optional(),
163
- xeroContactId: e.string().nullable().optional()
164
- }), E = e.object({
165
- id: e.number().int().min(1),
166
- userId: e.string().optional(),
167
- abn: e.string().optional(),
168
- contactName: e.string().optional(),
169
- invoiceEmail: e.string().optional(),
170
- phone: e.string().optional(),
171
- discountTier: e.string().optional(),
172
- paymentMode: e.enum(r).optional(),
173
- remindersEnabled: e.boolean().optional(),
174
- priceMatches: e.unknown().optional(),
175
- dispatchAddress: u.nullable().optional(),
176
- orders: e.unknown().optional(),
177
- xeroContactId: e.string().nullable().optional()
178
- }), D = g.extend({ partner_pharmacy_profile_id: e.preprocess((e) => {
179
- if (typeof e == "string" && e !== "") return Number(e);
180
- }, e.number().int().min(1).optional()) }), O = e.object({
181
- partnerPharmacyProfileId: e.number().int().nullable().optional(),
182
- userId: e.string().nullable().optional(),
183
- firstName: e.string(),
184
- lastName: e.string(),
185
- dateOfBirth: e.string(),
186
- medicareNumber: e.string().nullable().optional(),
187
- phone: e.string(),
188
- address: u.nullable(),
189
- healthInfo: f.nullable(),
190
- reminderEnabled: e.boolean().optional(),
191
- scripts: e.array(p).nullable(),
192
- orderHistory: e.array(m).nullable()
193
- }), k = e.object({
194
- id: e.number().int().min(1),
195
- partnerPharmacyProfileId: e.number().int().nullable().optional(),
196
- userId: e.string().nullable().optional(),
197
- firstName: e.string().optional(),
198
- lastName: e.string().optional(),
199
- dateOfBirth: e.string().optional(),
200
- medicareNumber: e.string().nullable().optional(),
201
- phone: e.string().optional(),
202
- address: u.nullable().optional(),
203
- healthInfo: f.nullable().optional(),
204
- reminderEnabled: e.boolean().optional(),
205
- scripts: e.array(p).nullable().optional(),
206
- orderHistory: e.array(m).nullable().optional()
207
- }), A = e.object({
208
- name: e.string(),
209
- email: e.string(),
210
- phone: e.string()
211
- }), j = e.object({
212
- id: e.number().int().min(1),
213
- name: e.string().optional(),
214
- email: e.string().optional(),
215
- phone: e.string().optional()
216
- }), M = e.object({
217
- partnerPharmacyProfileId: e.number().int(),
218
- productId: e.number().int(),
219
- overridePrice: e.string()
220
- }), N = e.object({
221
- id: e.number().int().min(1),
222
- partnerPharmacyProfileId: e.number().int().optional(),
223
- productId: e.number().int().optional(),
224
- overridePrice: e.string().optional()
225
- }), P = e.object({
226
- name: e.string(),
227
- imageKey: e.string().nullable().optional(),
228
- abbreviations: e.array(e.string()).nullable().optional(),
229
- category: e.enum(a),
230
- rrp: e.string(),
231
- hazardTags: e.array(e.enum(l)).nullable().optional(),
232
- compoundDirectId: e.string().nullable().optional(),
233
- requiresFridge: e.boolean().optional(),
234
- flavours: e.array(e.string()).nullable().optional(),
235
- requiresS8Medicare: e.boolean().optional()
236
- }), F = e.object({
237
- id: e.number().int().min(1),
238
- name: e.string().optional(),
239
- imageKey: e.string().nullable().optional(),
240
- abbreviations: e.array(e.string()).nullable().optional(),
241
- category: e.enum(a).optional(),
242
- rrp: e.string().optional(),
243
- hazardTags: e.array(e.enum(l)).nullable().optional(),
244
- compoundDirectId: e.string().nullable().optional(),
245
- requiresFridge: e.boolean().optional(),
246
- flavours: e.array(e.string()).nullable().optional(),
247
- requiresS8Medicare: e.boolean().optional()
248
- }), I = e.object({
249
- status: e.enum(n).optional(),
250
- partnerPharmacyProfileId: e.number().int(),
251
- name: e.string(),
252
- strength: e.string(),
253
- form: e.string(),
254
- quantity: e.number().int(),
255
- patientContext: e.string()
256
- }), L = e.object({
257
- id: e.number().int().min(1),
258
- status: e.enum(n).optional(),
259
- partnerPharmacyProfileId: e.number().int().optional(),
260
- name: e.string().optional(),
261
- strength: e.string().optional(),
262
- form: e.string().optional(),
263
- quantity: e.number().int().optional(),
264
- patientContext: e.string().optional()
265
- }), R = e.object({
266
- orderId: e.number().int(),
267
- patientRecordId: e.number().int(),
268
- daysSupply: e.number().int(),
269
- dispatchedAt: e.coerce.date(),
270
- reminderDueAt: e.coerce.date(),
271
- reminderOffsetDays: e.number().int().optional(),
272
- pharmacyReminderSent: e.boolean().optional(),
273
- patientSmsSent: e.boolean().optional(),
274
- enabled: e.boolean().optional()
275
- }), z = e.object({
276
- id: e.number().int().min(1),
277
- orderId: e.number().int().optional(),
278
- patientRecordId: e.number().int().optional(),
279
- daysSupply: e.number().int().optional(),
280
- dispatchedAt: e.coerce.date().optional(),
281
- reminderDueAt: e.coerce.date().optional(),
282
- reminderOffsetDays: e.number().int().optional(),
283
- pharmacyReminderSent: e.boolean().optional(),
284
- patientSmsSent: e.boolean().optional(),
285
- enabled: e.boolean().optional()
286
- }), B = e.object({
287
- prescriberId: e.number().int(),
288
- patientRecordId: e.number().int(),
289
- productId: e.number().int(),
290
- dateIssued: e.string(),
291
- processed: e.boolean().optional(),
292
- repeatsRemaining: e.number().int().optional(),
293
- daysSupply: e.number().int(),
294
- repeatStorage: e.enum(o),
295
- compoundDirectId: e.string().nullable().optional(),
296
- imageKey: e.string().nullable().optional()
297
- }), V = e.object({
298
- id: e.number().int().min(1),
299
- prescriberId: e.number().int().optional(),
300
- patientRecordId: e.number().int().optional(),
301
- productId: e.number().int().optional(),
302
- dateIssued: e.string().optional(),
303
- processed: e.boolean().optional(),
304
- repeatsRemaining: e.number().int().optional(),
305
- daysSupply: e.number().int().optional(),
306
- repeatStorage: e.enum(o).optional(),
307
- compoundDirectId: e.string().nullable().optional(),
308
- imageKey: e.string().nullable().optional()
309
- });
310
- //#endregion
311
- export { u as addressSchema, y as createDirectUserProfileBodySchema, x as createOrderBodySchema, C as createPaperScriptReminderBodySchema, T as createPartnerPharmacyProfileBodySchema, O as createPatientRecordBodySchema, A as createPrescriberBodySchema, M as createPriceMatchBodySchema, P as createProductBodySchema, I as createQuoteBodySchema, R as createRepeatReminderBodySchema, B as createScriptBodySchema, _ as devEmailSchema, g as getAllSchema, h as getByIdSchema, D as getPatientRecordsQuerySchema, l as hazardTagsValues, f as healthInfoSchema, m as orderSelectSchema, t as paperScriptReminderStatusValues, r as paymentModeAtOrderValues, i as paymentStatusValues, d as prescriberSelectSchema, a as productCategoryValues, n as quoteStatusValues, o as repeatStorageValues, p as scriptSelectSchema, s as scriptTypeValues, c as shippingTypeValues, v as smsSchema, b as updateDirectUserProfileBodySchema, S as updateOrderBodySchema, w as updatePaperScriptReminderBodySchema, E as updatePartnerPharmacyProfileBodySchema, k as updatePatientRecordBodySchema, j as updatePrescriberBodySchema, N as updatePriceMatchBodySchema, F as updateProductBodySchema, L as updateQuoteBodySchema, z as updateRepeatReminderBodySchema, V as updateScriptBodySchema };