@estopia/shared 1.0.5 → 1.0.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.
@@ -5,9 +5,20 @@
5
5
  import type { ColumnType } from "kysely";
6
6
  export type AppType = "medAndroid" | "medIOS" | "web";
7
7
  export type DoseStatus = "missed" | "scheduled" | "skipped" | "taken";
8
+ export type EventStatus = "approved" | "cancelled" | "completed" | "pending" | "rejected";
8
9
  export type FactorAuthType = "email" | "whatsapp";
9
10
  export type Generated<T> = T extends ColumnType<infer S, infer I, infer U> ? ColumnType<S, I | undefined, U> : ColumnType<T, T | undefined, T>;
10
11
  export type Int8 = ColumnType<string, bigint | number | string, bigint | number | string>;
12
+ export type InvoiceStatus = "overdue" | "paid" | "partial" | "unpaid";
13
+ export type Json = JsonValue;
14
+ export type JsonArray = JsonValue[];
15
+ export type JsonObject = {
16
+ [x: string]: JsonValue | undefined;
17
+ };
18
+ export type JsonPrimitive = boolean | number | string | null;
19
+ export type JsonValue = JsonArray | JsonObject | JsonPrimitive;
20
+ export type Numeric = ColumnType<string, number | string, number | string>;
21
+ export type QuoteStatus = "accepted" | "declined" | "draft" | "sent";
11
22
  export type Timestamp = ColumnType<Date, Date | string, Date | string>;
12
23
  export type VerificationType = "email" | "password_reset" | "phone";
13
24
  export interface AuthApps {
@@ -16,6 +27,39 @@ export interface AuthApps {
16
27
  secret: string;
17
28
  user_id: string;
18
29
  }
30
+ export interface Clients {
31
+ company_address: string | null;
32
+ company_email: string | null;
33
+ company_number: string | null;
34
+ company_website: string | null;
35
+ contact_email: string | null;
36
+ contact_name: string;
37
+ contact_number: string | null;
38
+ email: string;
39
+ id: Generated<string>;
40
+ name: string;
41
+ organization_id: string;
42
+ phone: string | null;
43
+ preferred_invoice_email: string | null;
44
+ preferred_invoice_name: string | null;
45
+ preferred_invoice_number: string | null;
46
+ }
47
+ export interface EventDays {
48
+ day_date: Timestamp;
49
+ end_time: string;
50
+ equipment: Generated<Json>;
51
+ event_id: string;
52
+ id: Generated<string>;
53
+ staffing: Generated<Json>;
54
+ start_time: string;
55
+ }
56
+ export interface Events {
57
+ description: string | null;
58
+ id: Generated<string>;
59
+ location: string;
60
+ name: string;
61
+ status: Generated<EventStatus>;
62
+ }
19
63
  export interface FactorAuthentication {
20
64
  code: string;
21
65
  data: string;
@@ -25,6 +69,21 @@ export interface FactorAuthentication {
25
69
  type: FactorAuthType;
26
70
  user_id: string;
27
71
  }
72
+ export interface InvoiceEvents {
73
+ event_id: string;
74
+ id: Generated<string>;
75
+ invoice_id: string;
76
+ }
77
+ export interface Invoices {
78
+ client_id: string;
79
+ created_at: Generated<Timestamp>;
80
+ discount: Generated<Numeric | null>;
81
+ due_date: Timestamp;
82
+ id: Generated<string>;
83
+ organization_id: string;
84
+ status: Generated<InvoiceStatus>;
85
+ tax: Generated<Numeric | null>;
86
+ }
28
87
  export interface MedicationRefills {
29
88
  amount: Int8;
30
89
  date: Timestamp;
@@ -33,13 +92,13 @@ export interface MedicationRefills {
33
92
  }
34
93
  export interface Medications {
35
94
  created_at: Generated<Timestamp>;
36
- dosage: string | null;
37
- end_date: Timestamp | null;
95
+ dosage: string;
96
+ end_date: Timestamp;
38
97
  id: Generated<string>;
39
98
  name: string;
40
99
  notes: string | null;
41
100
  quantity: Int8 | null;
42
- start_date: Timestamp | null;
101
+ start_date: Timestamp;
43
102
  user_id: string;
44
103
  }
45
104
  export interface MedicationTimes {
@@ -59,6 +118,18 @@ export interface NotificationSettings {
59
118
  server_reply: Generated<boolean | null>;
60
119
  user_id: string;
61
120
  }
121
+ export interface OrganizationMembers {
122
+ id: Generated<string>;
123
+ joined_at: Generated<Timestamp>;
124
+ organization_id: string;
125
+ real_name: string;
126
+ role: string;
127
+ user_id: string;
128
+ }
129
+ export interface Organizations {
130
+ id: Generated<string>;
131
+ name: string;
132
+ }
62
133
  export interface Passkeys {
63
134
  counter: Int8;
64
135
  id: Generated<string>;
@@ -73,6 +144,20 @@ export interface Pgmigrations {
73
144
  name: string;
74
145
  run_on: Timestamp;
75
146
  }
147
+ export interface QuoteEvents {
148
+ event_id: string;
149
+ id: Generated<string>;
150
+ quote_id: string;
151
+ }
152
+ export interface Quotes {
153
+ client_id: string;
154
+ created_at: Generated<Timestamp>;
155
+ discount: Generated<Numeric | null>;
156
+ id: Generated<string>;
157
+ organization_id: string;
158
+ status: Generated<QuoteStatus>;
159
+ tax: Generated<Numeric | null>;
160
+ }
76
161
  export interface SecureTokens {
77
162
  created_at: Generated<Timestamp>;
78
163
  expiry_at: Timestamp;
@@ -120,13 +205,22 @@ export interface UserVerifications {
120
205
  }
121
206
  export interface DB {
122
207
  auth_apps: AuthApps;
208
+ clients: Clients;
209
+ event_days: EventDays;
210
+ events: Events;
123
211
  factor_authentication: FactorAuthentication;
212
+ invoice_events: InvoiceEvents;
213
+ invoices: Invoices;
124
214
  medication_refills: MedicationRefills;
125
215
  medication_times: MedicationTimes;
126
216
  medications: Medications;
127
217
  notification_settings: NotificationSettings;
218
+ organization_members: OrganizationMembers;
219
+ organizations: Organizations;
128
220
  passkeys: Passkeys;
129
221
  pgmigrations: Pgmigrations;
222
+ quote_events: QuoteEvents;
223
+ quotes: Quotes;
130
224
  secure_tokens: SecureTokens;
131
225
  taken_doses: TakenDoses;
132
226
  tokens: Tokens;
@@ -1 +1 @@
1
- {"version":3,"file":"dataTypes.d.ts","sourceRoot":"","sources":["../../src/database/dataTypes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dataTypes.d.ts","sourceRoot":"","sources":["../../src/database/dataTypes.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEzC,MAAM,MAAM,OAAO,GAAG,YAAY,GAAG,QAAQ,GAAG,KAAK,CAAC;AAEtD,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,WAAW,GAAG,SAAS,GAAG,OAAO,CAAC;AAEtE,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,WAAW,GAAG,WAAW,GAAG,SAAS,GAAG,UAAU,CAAC;AAE1F,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,UAAU,CAAC;AAElD,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,CAAC,SAAS,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,GACtE,UAAU,CAAC,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,CAAC,GAC/B,UAAU,CAAC,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,CAAC,CAAC;AAEpC,MAAM,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC,CAAC;AAE1F,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAC;AAEtE,MAAM,MAAM,IAAI,GAAG,SAAS,CAAC;AAE7B,MAAM,MAAM,SAAS,GAAG,SAAS,EAAE,CAAC;AAEpC,MAAM,MAAM,UAAU,GAAG;IACvB,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;AAE7D,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,UAAU,GAAG,aAAa,CAAC;AAE/D,MAAM,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;AAE3E,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,UAAU,GAAG,OAAO,GAAG,MAAM,CAAC;AAErE,MAAM,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,EAAE,IAAI,GAAG,MAAM,CAAC,CAAC;AAEvE,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,gBAAgB,GAAG,OAAO,CAAC;AAEpE,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,OAAO;IACtB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,uBAAuB,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,wBAAwB,EAAE,MAAM,GAAG,IAAI,CAAC;CACzC;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,SAAS,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,EAAE,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IACtB,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,MAAM;IACrB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,EAAE,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,SAAS,CAAC;IACrB,EAAE,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IACtB,WAAW,EAAE,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IACvC,IAAI,EAAE,cAAc,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,EAAE,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,QAAQ;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACjC,QAAQ,EAAE,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IACpC,QAAQ,EAAE,SAAS,CAAC;IACpB,EAAE,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,SAAS,CAAC,aAAa,CAAC,CAAC;IACjC,GAAG,EAAE,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,IAAI,CAAC;IACb,IAAI,EAAE,SAAS,CAAC;IAChB,EAAE,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,SAAS,CAAC;IACpB,EAAE,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,EAAE,IAAI,GAAG,IAAI,CAAC;IACtB,UAAU,EAAE,SAAS,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IACvC,WAAW,EAAE,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IACvC,cAAc,EAAE,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IAC1C,gBAAgB,EAAE,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IAC5C,gBAAgB,EAAE,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IAC5C,EAAE,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IACtB,uBAAuB,EAAE,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IACnD,cAAc,EAAE,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IAC1C,YAAY,EAAE,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IACxC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IACtB,SAAS,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAChC,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,IAAI,CAAC;IACd,EAAE,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,SAAS,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,EAAE,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,MAAM;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACjC,QAAQ,EAAE,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IACpC,EAAE,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;IAC/B,GAAG,EAAE,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACjC,SAAS,EAAE,SAAS,CAAC;IACrB,EAAE,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACjC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,EAAE,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,SAAS,GAAG,IAAI,CAAC;IACjC,MAAM,EAAE,UAAU,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,SAAS,GAAG,IAAI,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,MAAM;IACrB,GAAG,EAAE,OAAO,GAAG,IAAI,CAAC;IACpB,UAAU,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACjC,SAAS,EAAE,SAAS,CAAC;IACrB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,EAAE,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,KAAK;IACpB,UAAU,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACjC,QAAQ,EAAE,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IACpC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,EAAE,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IACtB,QAAQ,EAAE,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IACpC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACjC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,SAAS,EAAE,SAAS,CAAC;IACrB,EAAE,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IACtB,WAAW,EAAE,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IACvC,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,gBAAgB,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,EAAE;IACjB,SAAS,EAAE,QAAQ,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,SAAS,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,qBAAqB,EAAE,oBAAoB,CAAC;IAC5C,cAAc,EAAE,aAAa,CAAC;IAC9B,QAAQ,EAAE,QAAQ,CAAC;IACnB,kBAAkB,EAAE,iBAAiB,CAAC;IACtC,gBAAgB,EAAE,eAAe,CAAC;IAClC,WAAW,EAAE,WAAW,CAAC;IACzB,qBAAqB,EAAE,oBAAoB,CAAC;IAC5C,oBAAoB,EAAE,mBAAmB,CAAC;IAC1C,aAAa,EAAE,aAAa,CAAC;IAC7B,QAAQ,EAAE,QAAQ,CAAC;IACnB,YAAY,EAAE,YAAY,CAAC;IAC3B,YAAY,EAAE,WAAW,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,YAAY,CAAC;IAC5B,WAAW,EAAE,UAAU,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB,EAAE,iBAAiB,CAAC;IACtC,KAAK,EAAE,KAAK,CAAC;CACd"}
@@ -1 +1 @@
1
- {"version":3,"file":"validateJWTToken.d.ts","sourceRoot":"","sources":["../../src/helpers/validateJWTToken.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAKD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,CAS1D;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAMpE;AAED,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"validateJWTToken.d.ts","sourceRoot":"","sources":["../../src/helpers/validateJWTToken.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,CAY1D;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAMpE;AAED,eAAe,gBAAgB,CAAC"}
@@ -6,8 +6,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.validateJWTToken = validateJWTToken;
7
7
  exports.tryValidateJWTToken = tryValidateJWTToken;
8
8
  const jsonwebtoken_1 = __importDefault(require("jsonwebtoken"));
9
- // Keep verification options minimal to allow tokens signed without an explicit issuer in tests.
10
- const jwtVerifyOptions = {};
11
9
  /**
12
10
  * Verify a JWT and return the decoded payload. Throws on invalid/expired token.
13
11
  */
@@ -15,7 +13,10 @@ function validateJWTToken(token) {
15
13
  const secret = process.env.JWT_SECRET;
16
14
  if (!secret)
17
15
  throw new Error('JWT secret not configured');
18
- const payload = jsonwebtoken_1.default.verify(token, secret, jwtVerifyOptions);
16
+ const payload = jsonwebtoken_1.default.verify(token, secret, {
17
+ algorithms: ['HS256'],
18
+ issuer: 'estopia-auth',
19
+ });
19
20
  const userId = payload?.sub ?? payload?.userId ?? payload?.id ?? null;
20
21
  if (!userId)
21
22
  throw new Error('token missing subject');
@@ -1 +1 @@
1
- {"version":3,"file":"validateJWTToken.js","sourceRoot":"","sources":["../../src/helpers/validateJWTToken.ts"],"names":[],"mappings":";;;;;AAeA,4CASC;AAKD,kDAMC;AAnCD,gEAA+B;AAS/B,gGAAgG;AAChG,MAAM,gBAAgB,GAAG,EAAE,CAAC;AAE5B;;GAEG;AACH,SAAgB,gBAAgB,CAAC,KAAa;IAC5C,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;IACtC,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAE1D,MAAM,OAAO,GAAG,sBAAG,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,gBAAgB,CAAQ,CAAC;IACnE,MAAM,MAAM,GAAG,OAAO,EAAE,GAAG,IAAI,OAAO,EAAE,MAAM,IAAI,OAAO,EAAE,EAAE,IAAI,IAAI,CAAC;IACtE,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;IAEtD,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,IAAI,SAAS,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAgB,CAAC;AACpH,CAAC;AAED;;GAEG;AACH,SAAgB,mBAAmB,CAAC,KAAa;IAC/C,IAAI,CAAC;QACH,OAAO,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,kBAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"validateJWTToken.js","sourceRoot":"","sources":["../../src/helpers/validateJWTToken.ts"],"names":[],"mappings":";;;;;AAYA,4CAYC;AAKD,kDAMC;AAnCD,gEAA+B;AAS/B;;GAEG;AACH,SAAgB,gBAAgB,CAAC,KAAa;IAC5C,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;IACtC,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAE1D,MAAM,OAAO,GAAG,sBAAG,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE;QACxC,UAAU,EAAE,CAAC,OAAO,CAAC;QACrB,MAAM,EAAE,cAAc;KACvB,CAAmB,CAAC;IACrB,MAAM,MAAM,GAAG,OAAO,EAAE,GAAG,IAAI,OAAO,EAAE,MAAM,IAAI,OAAO,EAAE,EAAE,IAAI,IAAI,CAAC;IACtE,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;IAEtD,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,IAAI,SAAS,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAgB,CAAC;AACpH,CAAC;AAED;;GAEG;AACH,SAAgB,mBAAmB,CAAC,KAAa;IAC/C,IAAI,CAAC;QACH,OAAO,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,kBAAe,gBAAgB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@estopia/shared",
3
- "version": "1.0.5",
3
+ "version": "1.0.6",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "description": "",
@@ -9,6 +9,8 @@ export type AppType = "medAndroid" | "medIOS" | "web";
9
9
 
10
10
  export type DoseStatus = "missed" | "scheduled" | "skipped" | "taken";
11
11
 
12
+ export type EventStatus = "approved" | "cancelled" | "completed" | "pending" | "rejected";
13
+
12
14
  export type FactorAuthType = "email" | "whatsapp";
13
15
 
14
16
  export type Generated<T> = T extends ColumnType<infer S, infer I, infer U>
@@ -17,6 +19,24 @@ export type Generated<T> = T extends ColumnType<infer S, infer I, infer U>
17
19
 
18
20
  export type Int8 = ColumnType<string, bigint | number | string, bigint | number | string>;
19
21
 
22
+ export type InvoiceStatus = "overdue" | "paid" | "partial" | "unpaid";
23
+
24
+ export type Json = JsonValue;
25
+
26
+ export type JsonArray = JsonValue[];
27
+
28
+ export type JsonObject = {
29
+ [x: string]: JsonValue | undefined;
30
+ };
31
+
32
+ export type JsonPrimitive = boolean | number | string | null;
33
+
34
+ export type JsonValue = JsonArray | JsonObject | JsonPrimitive;
35
+
36
+ export type Numeric = ColumnType<string, number | string, number | string>;
37
+
38
+ export type QuoteStatus = "accepted" | "declined" | "draft" | "sent";
39
+
20
40
  export type Timestamp = ColumnType<Date, Date | string, Date | string>;
21
41
 
22
42
  export type VerificationType = "email" | "password_reset" | "phone";
@@ -28,6 +48,42 @@ export interface AuthApps {
28
48
  user_id: string;
29
49
  }
30
50
 
51
+ export interface Clients {
52
+ company_address: string | null;
53
+ company_email: string | null;
54
+ company_number: string | null;
55
+ company_website: string | null;
56
+ contact_email: string | null;
57
+ contact_name: string;
58
+ contact_number: string | null;
59
+ email: string;
60
+ id: Generated<string>;
61
+ name: string;
62
+ organization_id: string;
63
+ phone: string | null;
64
+ preferred_invoice_email: string | null;
65
+ preferred_invoice_name: string | null;
66
+ preferred_invoice_number: string | null;
67
+ }
68
+
69
+ export interface EventDays {
70
+ day_date: Timestamp;
71
+ end_time: string;
72
+ equipment: Generated<Json>;
73
+ event_id: string;
74
+ id: Generated<string>;
75
+ staffing: Generated<Json>;
76
+ start_time: string;
77
+ }
78
+
79
+ export interface Events {
80
+ description: string | null;
81
+ id: Generated<string>;
82
+ location: string;
83
+ name: string;
84
+ status: Generated<EventStatus>;
85
+ }
86
+
31
87
  export interface FactorAuthentication {
32
88
  code: string;
33
89
  data: string;
@@ -38,6 +94,23 @@ export interface FactorAuthentication {
38
94
  user_id: string;
39
95
  }
40
96
 
97
+ export interface InvoiceEvents {
98
+ event_id: string;
99
+ id: Generated<string>;
100
+ invoice_id: string;
101
+ }
102
+
103
+ export interface Invoices {
104
+ client_id: string;
105
+ created_at: Generated<Timestamp>;
106
+ discount: Generated<Numeric | null>;
107
+ due_date: Timestamp;
108
+ id: Generated<string>;
109
+ organization_id: string;
110
+ status: Generated<InvoiceStatus>;
111
+ tax: Generated<Numeric | null>;
112
+ }
113
+
41
114
  export interface MedicationRefills {
42
115
  amount: Int8;
43
116
  date: Timestamp;
@@ -47,13 +120,13 @@ export interface MedicationRefills {
47
120
 
48
121
  export interface Medications {
49
122
  created_at: Generated<Timestamp>;
50
- dosage: string | null;
51
- end_date: Timestamp | null;
123
+ dosage: string;
124
+ end_date: Timestamp;
52
125
  id: Generated<string>;
53
126
  name: string;
54
127
  notes: string | null;
55
128
  quantity: Int8 | null;
56
- start_date: Timestamp | null;
129
+ start_date: Timestamp;
57
130
  user_id: string;
58
131
  }
59
132
 
@@ -76,6 +149,20 @@ export interface NotificationSettings {
76
149
  user_id: string;
77
150
  }
78
151
 
152
+ export interface OrganizationMembers {
153
+ id: Generated<string>;
154
+ joined_at: Generated<Timestamp>;
155
+ organization_id: string;
156
+ real_name: string;
157
+ role: string;
158
+ user_id: string;
159
+ }
160
+
161
+ export interface Organizations {
162
+ id: Generated<string>;
163
+ name: string;
164
+ }
165
+
79
166
  export interface Passkeys {
80
167
  counter: Int8;
81
168
  id: Generated<string>;
@@ -92,6 +179,22 @@ export interface Pgmigrations {
92
179
  run_on: Timestamp;
93
180
  }
94
181
 
182
+ export interface QuoteEvents {
183
+ event_id: string;
184
+ id: Generated<string>;
185
+ quote_id: string;
186
+ }
187
+
188
+ export interface Quotes {
189
+ client_id: string;
190
+ created_at: Generated<Timestamp>;
191
+ discount: Generated<Numeric | null>;
192
+ id: Generated<string>;
193
+ organization_id: string;
194
+ status: Generated<QuoteStatus>;
195
+ tax: Generated<Numeric | null>;
196
+ }
197
+
95
198
  export interface SecureTokens {
96
199
  created_at: Generated<Timestamp>;
97
200
  expiry_at: Timestamp;
@@ -144,13 +247,22 @@ export interface UserVerifications {
144
247
 
145
248
  export interface DB {
146
249
  auth_apps: AuthApps;
250
+ clients: Clients;
251
+ event_days: EventDays;
252
+ events: Events;
147
253
  factor_authentication: FactorAuthentication;
254
+ invoice_events: InvoiceEvents;
255
+ invoices: Invoices;
148
256
  medication_refills: MedicationRefills;
149
257
  medication_times: MedicationTimes;
150
258
  medications: Medications;
151
259
  notification_settings: NotificationSettings;
260
+ organization_members: OrganizationMembers;
261
+ organizations: Organizations;
152
262
  passkeys: Passkeys;
153
263
  pgmigrations: Pgmigrations;
264
+ quote_events: QuoteEvents;
265
+ quotes: Quotes;
154
266
  secure_tokens: SecureTokens;
155
267
  taken_doses: TakenDoses;
156
268
  tokens: Tokens;