@rjromeoent/ein-supabase 0.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.
@@ -0,0 +1,578 @@
1
+ export const Constants = {
2
+ artemis: {
3
+ Enums: {},
4
+ },
5
+ atlas: {
6
+ Enums: {
7
+ agent_portal_status: ["PENDING", "APPROVED", "SUSPENDED", "REVOKED"],
8
+ badge_rarity: ["BRONZE", "SILVER", "GOLD", "PLATINUM"],
9
+ badge_rarity_tier: ["BRONZE", "SILVER", "GOLD", "PLATINUM"],
10
+ badge_time_window: [
11
+ "EVENT_EDITION_YEAR",
12
+ "CALENDAR_WEEK",
13
+ "CALENDAR_MONTH",
14
+ "CALENDAR_QUARTER",
15
+ "ROLLING_12_MONTH",
16
+ "PERMANENT",
17
+ ],
18
+ badge_time_window_type: [
19
+ "EVENT_EDITION_YEAR",
20
+ "CALENDAR_WEEK",
21
+ "CALENDAR_MONTH",
22
+ "CALENDAR_QUARTER",
23
+ "ROLLING_12_MONTH",
24
+ "PERMANENT",
25
+ ],
26
+ badge_type: [
27
+ "FIRST_BLOOD",
28
+ "HAT_TRICK",
29
+ "MILLENNIUM_CLUB",
30
+ "IRON_STREAK",
31
+ "PIPELINE_NINJA",
32
+ "PIPELINE_BUILDER",
33
+ "CLOSER",
34
+ "ROAD_WARRIOR",
35
+ "CLIENT_WHISPERER",
36
+ "SPEED_DEMON",
37
+ "SWEEP",
38
+ "RECORD_QUARTER",
39
+ ],
40
+ churn_reason: [
41
+ "COMPETITOR_POACHING",
42
+ "REP_DEPARTURE",
43
+ "BUDGET_CONSTRAINTS",
44
+ "EVENT_DISCONTINUED",
45
+ "ONE_OFF_EVENT",
46
+ "ORG_CHANGE",
47
+ "CLIENT_DECEASED",
48
+ "UNKNOWN",
49
+ "OTHER",
50
+ ],
51
+ client_churn_reason: [
52
+ "COMPETITOR_POACHING",
53
+ "REP_DEPARTURE",
54
+ "BUDGET_CONSTRAINTS",
55
+ "EVENT_DISCONTINUED",
56
+ "ONE_OFF_EVENT",
57
+ "ORG_CHANGE",
58
+ "CLIENT_DECEASED",
59
+ "UNKNOWN",
60
+ "OTHER",
61
+ ],
62
+ client_contact_role: [
63
+ "MAIN",
64
+ "SECONDARY",
65
+ "PRODUCTION",
66
+ "SOUND",
67
+ "LIGHTING",
68
+ "STAGING",
69
+ "STAGE_MANAGER",
70
+ "TICKET_AGENCY",
71
+ "CATERING",
72
+ "SECURITY",
73
+ "HOTEL",
74
+ "MARKETING",
75
+ "VENUE_MANAGER",
76
+ "BACKLINE",
77
+ "VENUE_MERCH",
78
+ "FINANCE",
79
+ "GEM_MARKETING",
80
+ "SIGNATORY",
81
+ ],
82
+ client_document_type: [
83
+ "SERVICE_AGREEMENT",
84
+ "COI",
85
+ "WELCOME_LETTER",
86
+ "DECLINATION_LETTER",
87
+ "INTAKE_FORM",
88
+ "ADVANCE_SHEET",
89
+ "OTHER",
90
+ ],
91
+ client_lifecycle_event_type: [
92
+ "STATUS_CHANGE",
93
+ "REP_CHANGE",
94
+ "SA_EXECUTED",
95
+ "SA_EXPIRED",
96
+ "SA_TERMINATED",
97
+ "BOOKING_LOCKED",
98
+ "BOOKING_UNLOCKED",
99
+ "WIN_BACK_ALERT_FIRED",
100
+ ],
101
+ client_note_type: [
102
+ "CALL",
103
+ "EMAIL",
104
+ "MEETING",
105
+ "INTERNAL",
106
+ "ISSUE",
107
+ "VPS_ESCALATION",
108
+ "REASSIGNMENT",
109
+ "MIGRATED",
110
+ ],
111
+ client_rep_assignment_role: [
112
+ "TBEP",
113
+ "EC",
114
+ "ACCOUNT_REP",
115
+ "MARKETING_REP",
116
+ "SERVICE_REP",
117
+ "ACCOUNT_SERVICE_REP",
118
+ "PRODUCTION_REP",
119
+ ],
120
+ client_rfp_status: [
121
+ "AWARENESS",
122
+ "PREPARING",
123
+ "SUBMITTED",
124
+ "UNDER_REVIEW",
125
+ "WON",
126
+ "LOST",
127
+ "NO_BID",
128
+ ],
129
+ contact_source_platform: [
130
+ "ATLAS",
131
+ "BOOKING_ENGINE",
132
+ "FESTIVAL_OS",
133
+ "RAD",
134
+ "MANUAL",
135
+ ],
136
+ doc_type: [
137
+ "SERVICE_AGREEMENT",
138
+ "COI",
139
+ "WELCOME_LETTER",
140
+ "DECLINATION_LETTER",
141
+ "INTAKE_FORM",
142
+ "ADVANCE_SHEET",
143
+ "OTHER",
144
+ ],
145
+ event_frequency: ["ANNUAL", "BIANNUAL", "ONE_OFF", "SERIES", "OTHER"],
146
+ fee_structure_profit_disposition: ["FEE_OFFSET", "CO_PRO_SPLIT"],
147
+ fee_structure_type: [
148
+ "FLAT",
149
+ "COMMISSION_PCT",
150
+ "HYBRID",
151
+ "GROSS_PROFIT_SHARE",
152
+ "OTHER",
153
+ ],
154
+ fee_type: [
155
+ "FLAT",
156
+ "COMMISSION_PCT",
157
+ "HYBRID",
158
+ "GROSS_PROFIT_SHARE",
159
+ "OTHER",
160
+ ],
161
+ funding_verification_status: ["VERIFIED", "PENDING", "UNVERIFIED"],
162
+ lead_approval_decision: [
163
+ "APPROVED",
164
+ "DECLINED",
165
+ "COUNTER_PROPOSED",
166
+ "MORE_INFO_REQUESTED",
167
+ ],
168
+ lead_event_frequency: [
169
+ "ANNUAL",
170
+ "BIANNUAL",
171
+ "ONE_OFF",
172
+ "SERIES",
173
+ "OTHER",
174
+ ],
175
+ lead_event_type: [
176
+ "Fair",
177
+ "Festival",
178
+ "Concert",
179
+ "Concert Series",
180
+ "Private",
181
+ "Rodeo",
182
+ "Casino",
183
+ "Club",
184
+ "Benefit",
185
+ "Theater/PAC",
186
+ "Amphitheater",
187
+ "Stadium",
188
+ "Cruise",
189
+ "Winery",
190
+ "Semi-Private",
191
+ "Various",
192
+ ],
193
+ lead_funding_verification_status: ["VERIFIED", "PENDING", "UNVERIFIED"],
194
+ lead_lifecycle_status: [
195
+ "LEAD",
196
+ "WIN_BACK",
197
+ "VETTING",
198
+ "VPS_REVIEW",
199
+ "SA_SENT",
200
+ "SA_NEGOTIATING",
201
+ "CONVERTED",
202
+ "DECLINED",
203
+ "REFERRED_OUT",
204
+ ],
205
+ lead_source: [
206
+ "TBEP_DIRECT",
207
+ "WEBSITE",
208
+ "CLIENT_REFERRAL",
209
+ "WIN_BACK_AUTOMATION",
210
+ ],
211
+ lead_source_type: [
212
+ "TBEP_DIRECT",
213
+ "WEBSITE",
214
+ "CLIENT_REFERRAL",
215
+ "WIN_BACK_AUTOMATION",
216
+ ],
217
+ leaderboard_scope: [
218
+ "EVENT_EDITION_YEAR",
219
+ "ROLLING_30_DAYS",
220
+ "ROLLING_90_DAYS",
221
+ "ALL_TIME",
222
+ ],
223
+ lifecycle_event_type: [
224
+ "STATUS_CHANGE",
225
+ "REP_CHANGE",
226
+ "SA_EXECUTED",
227
+ "SA_EXPIRED",
228
+ "SA_TERMINATED",
229
+ "BOOKING_LOCKED",
230
+ "BOOKING_UNLOCKED",
231
+ "WIN_BACK_ALERT_FIRED",
232
+ ],
233
+ note_type: [
234
+ "CALL",
235
+ "EMAIL",
236
+ "MEETING",
237
+ "INTERNAL",
238
+ "ISSUE",
239
+ "VPS_ESCALATION",
240
+ "REASSIGNMENT",
241
+ "MIGRATED",
242
+ ],
243
+ portal_status: ["PENDING", "APPROVED", "SUSPENDED", "REVOKED"],
244
+ promoter_profit_disposition: ["FEE_OFFSET", "CO_PRO_SPLIT"],
245
+ rep_role: [
246
+ "TBEP",
247
+ "EC",
248
+ "ACCOUNT_REP",
249
+ "MARKETING_REP",
250
+ "SERVICE_REP",
251
+ "ACCOUNT_SERVICE_REP",
252
+ "PRODUCTION_REP",
253
+ ],
254
+ rfp_status: [
255
+ "AWARENESS",
256
+ "PREPARING",
257
+ "SUBMITTED",
258
+ "UNDER_REVIEW",
259
+ "WON",
260
+ "LOST",
261
+ "NO_BID",
262
+ ],
263
+ sa_agreement_type: [
264
+ "FULL_SERVICE",
265
+ "TALENT_ONLY",
266
+ "PRODUCTION_ONLY",
267
+ "CONSULTING",
268
+ ],
269
+ sa_contract_source: [
270
+ "REG_STANDARD",
271
+ "CLIENT_GOVERNMENT",
272
+ "CLIENT_CUSTOM",
273
+ "OTHER",
274
+ ],
275
+ sa_status_v13: [
276
+ "DRAFT",
277
+ "SENT",
278
+ "NEGOTIATING",
279
+ "EXECUTED",
280
+ "EXPIRED",
281
+ "TERMINATED",
282
+ ],
283
+ service_agreement_contract_source: [
284
+ "REG_STANDARD",
285
+ "CLIENT_GOVERNMENT",
286
+ "CLIENT_CUSTOM",
287
+ "OTHER",
288
+ ],
289
+ service_agreement_renewal_alert_type: [
290
+ "STANDARD_90_DAY",
291
+ "STANDARD_60_DAY",
292
+ "STANDARD_30_DAY",
293
+ "GOVERNMENT_180_DAY",
294
+ "GOVERNMENT_90_DAY",
295
+ "EXPIRED",
296
+ ],
297
+ service_agreement_status: [
298
+ "DRAFT",
299
+ "SENT",
300
+ "NEGOTIATING",
301
+ "EXECUTED",
302
+ "EXPIRED",
303
+ "TERMINATED",
304
+ ],
305
+ service_agreement_type: [
306
+ "FULL_SERVICE",
307
+ "TALENT_ONLY",
308
+ "PRODUCTION_ONLY",
309
+ "CONSULTING",
310
+ ],
311
+ vps_decision: [
312
+ "APPROVED",
313
+ "DECLINED",
314
+ "COUNTER_PROPOSED",
315
+ "MORE_INFO_REQUESTED",
316
+ ],
317
+ },
318
+ },
319
+ booking_engine: {
320
+ Enums: {
321
+ client_approval_method: ["PORTAL", "REP_CERTIFIED", "SKIPPED"],
322
+ deal_type: [
323
+ "FLAT",
324
+ "NBOR_PERCENT",
325
+ "VS_DEAL",
326
+ "PACKAGE",
327
+ "HEADLINER_FUNDED",
328
+ "CO_PRO",
329
+ "PROMOTED",
330
+ "BUYSELL",
331
+ ],
332
+ hold_level: ["H1", "H2", "H3", "H4"],
333
+ offer_status: [
334
+ "AVAILS_CONFIRMED",
335
+ "UNDER_REVIEW",
336
+ "SENT_TO_CLIENT",
337
+ "CLIENT_APPROVED",
338
+ "HOLD",
339
+ "SUBMITTED",
340
+ "NEGOTIATING",
341
+ "VERBAL",
342
+ "CONFIRMED",
343
+ "DEAD",
344
+ "CANCELLED",
345
+ ],
346
+ offer_transition_trigger_type: [
347
+ "MANUAL",
348
+ "SYSTEM_EXPIRY",
349
+ "SYSTEM_CONFIRMED",
350
+ "SYSTEM_HOLD_PROMOTE",
351
+ "API_WEBHOOK",
352
+ "RAD_PROMOTE",
353
+ ],
354
+ promoter_profit_disposition: ["FEE_OFFSET", "CO_PRO_SPLIT"],
355
+ },
356
+ },
357
+ command: {
358
+ Enums: {},
359
+ },
360
+ core: {
361
+ Enums: {
362
+ artist_genre: [
363
+ "hip_hop",
364
+ "rb_blues",
365
+ "rock",
366
+ "country",
367
+ "pop",
368
+ "latin_hispanic",
369
+ "edm",
370
+ "reggae_reggaeton",
371
+ "americana_folk",
372
+ "alternative",
373
+ "comedy",
374
+ "tributes",
375
+ "grounds_attraction",
376
+ "other",
377
+ "christian",
378
+ ],
379
+ artist_tier: [
380
+ "headliner",
381
+ "co_headliner",
382
+ "support",
383
+ "opener",
384
+ "emerging",
385
+ ],
386
+ client_lifecycle_status: [
387
+ "ACTIVE",
388
+ "INACTIVE",
389
+ "AT_RISK",
390
+ "WIN_BACK",
391
+ "TERMINATED",
392
+ ],
393
+ client_tier: ["A", "B", "C"],
394
+ event_edition_lifecycle_status: [
395
+ "PLANNING",
396
+ "BOOKING_OPEN",
397
+ "BOOKING_LOCKED",
398
+ "LINEUP_CONFIRMED",
399
+ "EVENT_LIVE",
400
+ "POST_EVENT",
401
+ "ARCHIVED",
402
+ ],
403
+ event_series_status: ["ACTIVE", "DORMANT", "RETIRED"],
404
+ event_status: ["ACTIVE", "PAUSED", "DISCONTINUED"],
405
+ event_type: [
406
+ "Fair",
407
+ "Festival",
408
+ "Concert",
409
+ "Concert Series",
410
+ "Private",
411
+ "Rodeo",
412
+ "Casino",
413
+ "Club",
414
+ "Benefit",
415
+ "Theater/PAC",
416
+ "Amphitheater",
417
+ "Stadium",
418
+ "Cruise",
419
+ "Winery",
420
+ "Semi-Private",
421
+ "Various",
422
+ ],
423
+ org_role: ["owner", "admin", "member", "viewer"],
424
+ org_status: ["active", "inactive", "suspended"],
425
+ payment_method_preference: ["ach", "wire", "check"],
426
+ person_role_enum: [
427
+ "tour_manager",
428
+ "production_manager",
429
+ "merchandise",
430
+ "road_manager",
431
+ "marketing",
432
+ "pr",
433
+ "management",
434
+ "agency_contact",
435
+ "internal_rep",
436
+ "vendor",
437
+ "runner",
438
+ "hospitality",
439
+ "other",
440
+ "agent",
441
+ "vendor_lead",
442
+ "vendor_billing",
443
+ "venue_contact",
444
+ "venue_booker",
445
+ "venue_production",
446
+ "record_label_contact",
447
+ ],
448
+ primary_genre: [
449
+ "Pop",
450
+ "Rock",
451
+ "HH/R&B",
452
+ "Latin",
453
+ "Comedy",
454
+ "Christian",
455
+ "Country",
456
+ "Multi-Genre",
457
+ "Other",
458
+ ],
459
+ representation_type: [
460
+ "booking",
461
+ "management",
462
+ "publicity",
463
+ "legal",
464
+ "other",
465
+ ],
466
+ user_status: ["active", "inactive", "archived"],
467
+ vendor_assignment_subject: [
468
+ "event_edition",
469
+ "venue",
470
+ "advance_sheet",
471
+ "event_day",
472
+ ],
473
+ vendor_category: [
474
+ "production",
475
+ "sound",
476
+ "lighting",
477
+ "staging",
478
+ "video",
479
+ "catering",
480
+ "ticketing",
481
+ "security",
482
+ "rigging",
483
+ "transportation",
484
+ "merchandise",
485
+ "lodging",
486
+ "other",
487
+ ],
488
+ vendor_service_role: [
489
+ "lead",
490
+ "sound",
491
+ "lighting",
492
+ "staging",
493
+ "video",
494
+ "catering",
495
+ "ticketing",
496
+ "security",
497
+ "rigging",
498
+ "transportation",
499
+ "merchandise",
500
+ "lodging",
501
+ "other",
502
+ ],
503
+ venue_indoor_outdoor: ["indoor", "outdoor", "hybrid"],
504
+ venue_type_enum: [
505
+ "festival_grounds",
506
+ "amphitheater",
507
+ "arena",
508
+ "stadium",
509
+ "club",
510
+ "theater",
511
+ "other",
512
+ "fair_grounds",
513
+ "outdoor",
514
+ ],
515
+ w9_status: [
516
+ "not_requested",
517
+ "requested",
518
+ "received",
519
+ "verified",
520
+ "expired",
521
+ ],
522
+ },
523
+ },
524
+ external_sync: {
525
+ Enums: {},
526
+ },
527
+ festival: {
528
+ Enums: {},
529
+ },
530
+ intelligence: {
531
+ Enums: {},
532
+ },
533
+ launchpad: {
534
+ Enums: {},
535
+ },
536
+ ops: {
537
+ Enums: {},
538
+ },
539
+ public: {
540
+ Enums: {},
541
+ },
542
+ rad: {
543
+ Enums: {
544
+ assignment_state: [
545
+ "discovered",
546
+ "shortlisted",
547
+ "client_interested",
548
+ "approved_for_offer",
549
+ "offer_created",
550
+ "passed",
551
+ "removed",
552
+ "overridden",
553
+ ],
554
+ assignment_status: ["active", "removed", "superseded"],
555
+ availability_status: [
556
+ "available",
557
+ "hold",
558
+ "offer",
559
+ "confirmed",
560
+ "blocked",
561
+ "wishlist",
562
+ "inferred",
563
+ ],
564
+ decision_actor_type: ["buyer", "client", "system", "tbep"],
565
+ decision_type: [
566
+ "shortlisted",
567
+ "passed",
568
+ "client_interested",
569
+ "approved_for_offer",
570
+ "removed",
571
+ "overridden",
572
+ "reopened",
573
+ "offer_created",
574
+ ],
575
+ offer_link_status: ["linked", "revoked"],
576
+ },
577
+ },
578
+ };
@@ -0,0 +1,4 @@
1
+ export * from "./app-context.js";
2
+ export * from "./auth.js";
3
+ export * from "./schema-client.js";
4
+ export type { Constants, Database, Enums, Json, Tables, TablesInsert, TablesUpdate, } from "./generated/database.types.js";
package/dist/index.js ADDED
@@ -0,0 +1,3 @@
1
+ export * from "./app-context.js";
2
+ export * from "./auth.js";
3
+ export * from "./schema-client.js";
@@ -0,0 +1,56 @@
1
+ import type { SupabaseClient } from "@supabase/supabase-js";
2
+ import type { Database } from "./generated/database.types.js";
3
+ type DatabaseWithoutInternals = Omit<Database, "__InternalSupabase">;
4
+ export type EinSchemaName = Extract<keyof DatabaseWithoutInternals, string>;
5
+ export type EinTableRow<SchemaName extends EinSchemaName, TableName extends keyof DatabaseWithoutInternals[SchemaName]["Tables"]> = DatabaseWithoutInternals[SchemaName]["Tables"][TableName] extends {
6
+ Row: infer Row;
7
+ } ? Row : never;
8
+ export declare function schemaClient<SchemaName extends EinSchemaName>(supabase: SupabaseClient<Database>, schema: SchemaName): import("@supabase/postgrest-js").PostgrestClient<Database, {
9
+ PostgrestVersion: "14.4";
10
+ }, SchemaName, Database[SchemaName] extends {
11
+ Tables: Record<string, {
12
+ Row: Record<string, unknown>;
13
+ Insert: Record<string, unknown>;
14
+ Update: Record<string, unknown>;
15
+ Relationships: {
16
+ foreignKeyName: string;
17
+ columns: string[];
18
+ isOneToOne?: boolean;
19
+ referencedRelation: string;
20
+ referencedColumns: string[];
21
+ }[];
22
+ }>;
23
+ Views: Record<string, {
24
+ Row: Record<string, unknown>;
25
+ Insert: Record<string, unknown>;
26
+ Update: Record<string, unknown>;
27
+ Relationships: {
28
+ foreignKeyName: string;
29
+ columns: string[];
30
+ isOneToOne?: boolean;
31
+ referencedRelation: string;
32
+ referencedColumns: string[];
33
+ }[];
34
+ } | {
35
+ Row: Record<string, unknown>;
36
+ Relationships: {
37
+ foreignKeyName: string;
38
+ columns: string[];
39
+ isOneToOne?: boolean;
40
+ referencedRelation: string;
41
+ referencedColumns: string[];
42
+ }[];
43
+ }>;
44
+ Functions: Record<string, {
45
+ Args: Record<string, unknown> | never;
46
+ Returns: unknown;
47
+ SetofOptions?: {
48
+ isSetofReturn?: boolean | undefined;
49
+ isOneToOne?: boolean | undefined;
50
+ isNotNullable?: boolean | undefined;
51
+ to: string;
52
+ from: string;
53
+ };
54
+ }>;
55
+ } ? Database[SchemaName] : any>;
56
+ export {};
@@ -0,0 +1,3 @@
1
+ export function schemaClient(supabase, schema) {
2
+ return supabase.schema(schema);
3
+ }
package/package.json ADDED
@@ -0,0 +1,39 @@
1
+ {
2
+ "name": "@rjromeoent/ein-supabase",
3
+ "version": "0.1.0",
4
+ "description": "Shared Supabase types, app context, and contract helpers for EIN-connected apps.",
5
+ "type": "module",
6
+ "sideEffects": false,
7
+ "main": "./dist/index.js",
8
+ "module": "./dist/index.js",
9
+ "types": "./dist/index.d.ts",
10
+ "exports": {
11
+ ".": {
12
+ "types": "./dist/index.d.ts",
13
+ "import": "./dist/index.js"
14
+ },
15
+ "./generated/database.types": {
16
+ "types": "./dist/generated/database.types.d.ts",
17
+ "import": "./dist/generated/database.types.js"
18
+ },
19
+ "./package.json": {
20
+ "default": "./package.json"
21
+ }
22
+ },
23
+ "files": [
24
+ "dist",
25
+ "README.md",
26
+ "package.json"
27
+ ],
28
+ "scripts": {
29
+ "clean": "rm -rf dist tsconfig.tsbuildinfo",
30
+ "build": "tsc -p tsconfig.build.json",
31
+ "prepublishOnly": "npm run clean && npm run build"
32
+ },
33
+ "publishConfig": {
34
+ "access": "public"
35
+ },
36
+ "peerDependencies": {
37
+ "@supabase/supabase-js": "^2.100.0"
38
+ }
39
+ }