@env-hopper/backend-core 2.0.1-alpha.6 → 2.0.1-alpha.8

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/dist/index.d.ts CHANGED
@@ -1,13 +1,14 @@
1
- import * as _trpc_server0 from "@trpc/server";
2
- import { TRPCRootObject } from "@trpc/server";
3
1
  import * as _prisma_client0 from "@prisma/client";
4
2
  import { Prisma, PrismaClient } from "@prisma/client";
3
+ import * as _trpc_server0 from "@trpc/server";
4
+ import { TRPCRootObject } from "@trpc/server";
5
5
  import * as better_auth0 from "better-auth";
6
6
  import { BetterAuthOptions, BetterAuthPlugin } from "better-auth";
7
7
  import { LanguageModel, Tool, tool } from "ai";
8
8
  import { Express, Request, Response, Router } from "express";
9
- import * as _prisma_client_runtime_library0 from "@prisma/client/runtime/library";
10
9
  import { DefaultWithOverridesAndTemplate } from "@env-hopper/shared-core";
10
+ import { User as User$1 } from "better-auth/types";
11
+ import * as _prisma_client_runtime_library0 from "@prisma/client/runtime/library";
11
12
 
12
13
  //#region src/types/common/sharedTypes.d.ts
13
14
  interface EhMetaDictionary {
@@ -223,14 +224,53 @@ interface User {
223
224
  displayName: string;
224
225
  }
225
226
  //#endregion
226
- //#region src/types/common/appCatalogTypes.d.ts
227
+ //#region src/types/common/approvalMethodTypes.d.ts
227
228
  /**
228
- * App Catalog Types - Universal Software Access Request Catalog
229
+ * Approval Method Types
229
230
  *
230
- * These types define a standardized catalog of software applications and their
231
- * access methods. The typing system is designed to be universal across companies,
232
- * abstracting away specific tools (Jira, Slack, etc.) into generic categories.
231
+ * Global approval method templates that apps can link to.
232
+ * Each method has a type (service, personTeam, custom) with type-specific config.
233
+ */
234
+ type ApprovalMethodType = 'service' | 'personTeam' | 'custom';
235
+ /**
236
+ * Contact for reaching out (not necessarily the approver)
237
+ */
238
+ interface ReachOutContact {
239
+ displayName: string;
240
+ contact: string;
241
+ }
242
+ /**
243
+ * Service type config - for bots, ticketing systems, self-service portals
233
244
  */
245
+ interface ServiceConfig {
246
+ url?: string;
247
+ icon?: string;
248
+ }
249
+ /**
250
+ * Person/Team type config - for human approvers
251
+ */
252
+ interface PersonTeamConfig {
253
+ reachOutContacts?: Array<ReachOutContact>;
254
+ }
255
+ /**
256
+ * Custom type config - generic, no additional fields
257
+ */
258
+ interface CustomConfig {}
259
+ /**
260
+ * Union of all config types
261
+ */
262
+ type ApprovalMethodConfig = ServiceConfig | PersonTeamConfig | CustomConfig;
263
+ /**
264
+ * Approval Method - stored in DbApprovalMethod
265
+ */
266
+ interface ApprovalMethod {
267
+ id: string;
268
+ type: ApprovalMethodType;
269
+ displayName: string;
270
+ config?: ApprovalMethodConfig;
271
+ createdAt?: Date;
272
+ updatedAt?: Date;
273
+ }
234
274
  /**
235
275
  * Role that can be requested for an app
236
276
  */
@@ -238,6 +278,46 @@ interface AppRole {
238
278
  name: string;
239
279
  description?: string;
240
280
  }
281
+ /**
282
+ * Approver contact (person who approves, may differ from reach-out contact)
283
+ */
284
+ interface ApproverContact {
285
+ displayName: string;
286
+ contact?: string;
287
+ }
288
+ /**
289
+ * URL link with optional label
290
+ */
291
+ interface ApprovalUrl {
292
+ label?: string;
293
+ url: string;
294
+ }
295
+ /**
296
+ * Per-app approval details - stored as JSON in DbAppForCatalog
297
+ */
298
+ interface AppApprovalDetails {
299
+ approvalMethodId: string;
300
+ comments?: string;
301
+ requestPrompt?: string;
302
+ postApprovalInstructions?: string;
303
+ roles?: Array<AppRole>;
304
+ approvers?: Array<ApproverContact>;
305
+ urls?: Array<ApprovalUrl>;
306
+ whoToReachOut?: string;
307
+ }
308
+ interface CreateApprovalMethodInput {
309
+ type: ApprovalMethodType;
310
+ displayName: string;
311
+ config?: ApprovalMethodConfig;
312
+ }
313
+ interface UpdateApprovalMethodInput {
314
+ id: string;
315
+ type?: ApprovalMethodType;
316
+ displayName?: string;
317
+ config?: ApprovalMethodConfig;
318
+ }
319
+ //#endregion
320
+ //#region src/types/common/appCatalogTypes.d.ts
241
321
  /**
242
322
  * Common fields for all approver types
243
323
  */
@@ -346,7 +426,7 @@ interface AppForCatalog {
346
426
  description?: string;
347
427
  access?: AccessMethod;
348
428
  teams?: Array<string>;
349
- approver?: Approver;
429
+ approvalDetails?: AppApprovalDetails;
350
430
  notes?: string;
351
431
  tags?: Array<string>;
352
432
  appUrl?: string;
@@ -427,6 +507,20 @@ interface EhBackendDeployment {
427
507
  version: EhBackendDataVersion;
428
508
  }
429
509
  //#endregion
510
+ //#region src/server/ehTrpcContext.d.ts
511
+ interface EhTrpcContext {
512
+ companySpecificBackend: EhBackendCompanySpecificBackend;
513
+ user: User$1 | null;
514
+ }
515
+ interface EhTrpcContextOptions {
516
+ companySpecificBackend: EhBackendCompanySpecificBackend;
517
+ user?: User$1 | null;
518
+ }
519
+ declare function createEhTrpcContext({
520
+ companySpecificBackend,
521
+ user
522
+ }: EhTrpcContextOptions): EhTrpcContext;
523
+ //#endregion
430
524
  //#region src/modules/auth/auth.d.ts
431
525
  interface AuthConfig {
432
526
  appName?: string;
@@ -464,17 +558,6 @@ declare function createAuth(config: AuthConfig): better_auth0.Auth<{
464
558
  }>;
465
559
  type BetterAuth = ReturnType<typeof createAuth>;
466
560
  //#endregion
467
- //#region src/server/ehTrpcContext.d.ts
468
- interface EhTrpcContext {
469
- companySpecificBackend: EhBackendCompanySpecificBackend;
470
- }
471
- interface EhTrpcContextOptions {
472
- companySpecificBackend: EhBackendCompanySpecificBackend;
473
- }
474
- declare function createEhTrpcContext({
475
- companySpecificBackend
476
- }: EhTrpcContextOptions): EhTrpcContext;
477
- //#endregion
478
561
  //#region src/server/controller.d.ts
479
562
  /**
480
563
  * Create the main tRPC router with optional auth instance
@@ -482,19 +565,19 @@ declare function createEhTrpcContext({
482
565
  */
483
566
  declare function createTrpcRouter(auth?: BetterAuth): _trpc_server0.TRPCBuiltRouter<{
484
567
  ctx: EhTrpcContext;
485
- meta: {};
568
+ meta: object;
486
569
  errorShape: _trpc_server0.TRPCDefaultErrorShape;
487
570
  transformer: false;
488
571
  }, _trpc_server0.TRPCDecorateCreateRouterOptions<{
489
572
  bootstrap: _trpc_server0.TRPCQueryProcedure<{
490
573
  input: void;
491
574
  output: BootstrapConfigData;
492
- meta: {};
575
+ meta: object;
493
576
  }>;
494
577
  availabilityMatrix: _trpc_server0.TRPCQueryProcedure<{
495
578
  input: void;
496
579
  output: AvailabilityMatrixData;
497
- meta: {};
580
+ meta: object;
498
581
  }>;
499
582
  tryFindRenameRule: _trpc_server0.TRPCQueryProcedure<{
500
583
  input: {
@@ -502,17 +585,17 @@ declare function createTrpcRouter(auth?: BetterAuth): _trpc_server0.TRPCBuiltRou
502
585
  resourceSlug?: string | undefined;
503
586
  };
504
587
  output: false | RenameRule;
505
- meta: {};
588
+ meta: object;
506
589
  }>;
507
590
  resourceJumps: _trpc_server0.TRPCQueryProcedure<{
508
591
  input: void;
509
592
  output: ResourceJumpsData;
510
- meta: {};
593
+ meta: object;
511
594
  }>;
512
595
  resourceJumpsExtended: _trpc_server0.TRPCQueryProcedure<{
513
596
  input: void;
514
597
  output: ResourceJumpsExtendedData;
515
- meta: {};
598
+ meta: object;
516
599
  }>;
517
600
  resourceJumpBySlugAndEnv: _trpc_server0.TRPCQueryProcedure<{
518
601
  input: {
@@ -520,16 +603,16 @@ declare function createTrpcRouter(auth?: BetterAuth): _trpc_server0.TRPCBuiltRou
520
603
  envSlug: string;
521
604
  };
522
605
  output: ResourceJumpsData;
523
- meta: {};
606
+ meta: object;
524
607
  }>;
525
608
  appCatalog: _trpc_server0.TRPCQueryProcedure<{
526
609
  input: void;
527
610
  output: AppCatalogData;
528
- meta: {};
611
+ meta: object;
529
612
  }>;
530
613
  icon: _trpc_server0.TRPCBuiltRouter<{
531
614
  ctx: EhTrpcContext;
532
- meta: {};
615
+ meta: object;
533
616
  errorShape: _trpc_server0.TRPCDefaultErrorShape;
534
617
  transformer: false;
535
618
  }, _trpc_server0.TRPCDecorateCreateRouterOptions<{
@@ -537,13 +620,13 @@ declare function createTrpcRouter(auth?: BetterAuth): _trpc_server0.TRPCBuiltRou
537
620
  input: void;
538
621
  output: {
539
622
  id: string;
623
+ createdAt: Date;
624
+ updatedAt: Date;
540
625
  name: string;
541
626
  mimeType: string;
542
627
  fileSize: number;
543
- createdAt: Date;
544
- updatedAt: Date;
545
628
  }[];
546
- meta: {};
629
+ meta: object;
547
630
  }>;
548
631
  getOne: _trpc_server0.TRPCQueryProcedure<{
549
632
  input: {
@@ -551,13 +634,13 @@ declare function createTrpcRouter(auth?: BetterAuth): _trpc_server0.TRPCBuiltRou
551
634
  };
552
635
  output: {
553
636
  id: string;
637
+ createdAt: Date;
638
+ updatedAt: Date;
554
639
  name: string;
555
640
  mimeType: string;
556
641
  fileSize: number;
557
- createdAt: Date;
558
- updatedAt: Date;
559
642
  } | null;
560
- meta: {};
643
+ meta: object;
561
644
  }>;
562
645
  create: _trpc_server0.TRPCMutationProcedure<{
563
646
  input: {
@@ -568,6 +651,8 @@ declare function createTrpcRouter(auth?: BetterAuth): _trpc_server0.TRPCBuiltRou
568
651
  };
569
652
  output: {
570
653
  id: string;
654
+ createdAt: Date;
655
+ updatedAt: Date;
571
656
  name: string;
572
657
  content: _prisma_client_runtime_library0.Bytes;
573
658
  mimeType: string;
@@ -576,10 +661,8 @@ declare function createTrpcRouter(auth?: BetterAuth): _trpc_server0.TRPCBuiltRou
576
661
  checksum: string;
577
662
  width: number | null;
578
663
  height: number | null;
579
- createdAt: Date;
580
- updatedAt: Date;
581
664
  };
582
- meta: {};
665
+ meta: object;
583
666
  }>;
584
667
  update: _trpc_server0.TRPCMutationProcedure<{
585
668
  input: {
@@ -591,6 +674,8 @@ declare function createTrpcRouter(auth?: BetterAuth): _trpc_server0.TRPCBuiltRou
591
674
  };
592
675
  output: {
593
676
  id: string;
677
+ createdAt: Date;
678
+ updatedAt: Date;
594
679
  name: string;
595
680
  content: _prisma_client_runtime_library0.Bytes;
596
681
  mimeType: string;
@@ -599,10 +684,8 @@ declare function createTrpcRouter(auth?: BetterAuth): _trpc_server0.TRPCBuiltRou
599
684
  checksum: string;
600
685
  width: number | null;
601
686
  height: number | null;
602
- createdAt: Date;
603
- updatedAt: Date;
604
687
  };
605
- meta: {};
688
+ meta: object;
606
689
  }>;
607
690
  delete: _trpc_server0.TRPCMutationProcedure<{
608
691
  input: {
@@ -610,6 +693,8 @@ declare function createTrpcRouter(auth?: BetterAuth): _trpc_server0.TRPCBuiltRou
610
693
  };
611
694
  output: {
612
695
  id: string;
696
+ createdAt: Date;
697
+ updatedAt: Date;
613
698
  name: string;
614
699
  content: _prisma_client_runtime_library0.Bytes;
615
700
  mimeType: string;
@@ -618,17 +703,15 @@ declare function createTrpcRouter(auth?: BetterAuth): _trpc_server0.TRPCBuiltRou
618
703
  checksum: string;
619
704
  width: number | null;
620
705
  height: number | null;
621
- createdAt: Date;
622
- updatedAt: Date;
623
706
  };
624
- meta: {};
707
+ meta: object;
625
708
  }>;
626
709
  deleteMany: _trpc_server0.TRPCMutationProcedure<{
627
710
  input: {
628
711
  ids: string[];
629
712
  };
630
713
  output: _prisma_client0.Prisma.BatchPayload;
631
- meta: {};
714
+ meta: object;
632
715
  }>;
633
716
  getContent: _trpc_server0.TRPCQueryProcedure<{
634
717
  input: {
@@ -639,12 +722,12 @@ declare function createTrpcRouter(auth?: BetterAuth): _trpc_server0.TRPCBuiltRou
639
722
  mimeType: string;
640
723
  name: string;
641
724
  };
642
- meta: {};
725
+ meta: object;
643
726
  }>;
644
727
  }>>;
645
728
  screenshot: _trpc_server0.TRPCBuiltRouter<{
646
729
  ctx: EhTrpcContext;
647
- meta: {};
730
+ meta: object;
648
731
  errorShape: _trpc_server0.TRPCDefaultErrorShape;
649
732
  transformer: false;
650
733
  }, _trpc_server0.TRPCDecorateCreateRouterOptions<{
@@ -652,15 +735,15 @@ declare function createTrpcRouter(auth?: BetterAuth): _trpc_server0.TRPCBuiltRou
652
735
  input: void;
653
736
  output: {
654
737
  id: string;
738
+ createdAt: Date;
739
+ updatedAt: Date;
655
740
  name: string;
656
741
  mimeType: string;
657
742
  fileSize: number;
658
743
  width: number | null;
659
744
  height: number | null;
660
- createdAt: Date;
661
- updatedAt: Date;
662
745
  }[];
663
- meta: {};
746
+ meta: object;
664
747
  }>;
665
748
  getOne: _trpc_server0.TRPCQueryProcedure<{
666
749
  input: {
@@ -668,15 +751,15 @@ declare function createTrpcRouter(auth?: BetterAuth): _trpc_server0.TRPCBuiltRou
668
751
  };
669
752
  output: {
670
753
  id: string;
754
+ createdAt: Date;
755
+ updatedAt: Date;
671
756
  name: string;
672
757
  mimeType: string;
673
758
  fileSize: number;
674
759
  width: number | null;
675
760
  height: number | null;
676
- createdAt: Date;
677
- updatedAt: Date;
678
761
  } | null;
679
- meta: {};
762
+ meta: object;
680
763
  }>;
681
764
  getByAppSlug: _trpc_server0.TRPCQueryProcedure<{
682
765
  input: {
@@ -684,15 +767,15 @@ declare function createTrpcRouter(auth?: BetterAuth): _trpc_server0.TRPCBuiltRou
684
767
  };
685
768
  output: {
686
769
  id: string;
770
+ createdAt: Date;
771
+ updatedAt: Date;
687
772
  name: string;
688
773
  mimeType: string;
689
774
  fileSize: number;
690
775
  width: number | null;
691
776
  height: number | null;
692
- createdAt: Date;
693
- updatedAt: Date;
694
777
  }[];
695
- meta: {};
778
+ meta: object;
696
779
  }>;
697
780
  getFirstByAppSlug: _trpc_server0.TRPCQueryProcedure<{
698
781
  input: {
@@ -700,20 +783,20 @@ declare function createTrpcRouter(auth?: BetterAuth): _trpc_server0.TRPCBuiltRou
700
783
  };
701
784
  output: {
702
785
  id: string;
786
+ createdAt: Date;
787
+ updatedAt: Date;
703
788
  name: string;
704
789
  mimeType: string;
705
790
  fileSize: number;
706
791
  width: number | null;
707
792
  height: number | null;
708
- createdAt: Date;
709
- updatedAt: Date;
710
793
  } | null;
711
- meta: {};
794
+ meta: object;
712
795
  }>;
713
796
  }>>;
714
797
  appCatalogAdmin: _trpc_server0.TRPCBuiltRouter<{
715
798
  ctx: EhTrpcContext;
716
- meta: {};
799
+ meta: object;
717
800
  errorShape: _trpc_server0.TRPCDefaultErrorShape;
718
801
  transformer: false;
719
802
  }, _trpc_server0.TRPCDecorateCreateRouterOptions<{
@@ -728,7 +811,7 @@ declare function createTrpcRouter(auth?: BetterAuth): _trpc_server0.TRPCBuiltRou
728
811
  displayName: string;
729
812
  access: PrismaJson.AccessMethod | null;
730
813
  teams: string[];
731
- approver: PrismaJson.Approver | null;
814
+ approvalDetails: PrismaJson.AppApprovalDetails | null;
732
815
  notes: string | null;
733
816
  tags: string[];
734
817
  appUrl: string | null;
@@ -736,7 +819,7 @@ declare function createTrpcRouter(auth?: BetterAuth): _trpc_server0.TRPCBuiltRou
736
819
  iconName: string | null;
737
820
  screenshotIds: string[];
738
821
  }[];
739
- meta: {};
822
+ meta: object;
740
823
  }>;
741
824
  getById: _trpc_server0.TRPCQueryProcedure<{
742
825
  input: {
@@ -751,7 +834,7 @@ declare function createTrpcRouter(auth?: BetterAuth): _trpc_server0.TRPCBuiltRou
751
834
  displayName: string;
752
835
  access: PrismaJson.AccessMethod | null;
753
836
  teams: string[];
754
- approver: PrismaJson.Approver | null;
837
+ approvalDetails: PrismaJson.AppApprovalDetails | null;
755
838
  notes: string | null;
756
839
  tags: string[];
757
840
  appUrl: string | null;
@@ -759,7 +842,30 @@ declare function createTrpcRouter(auth?: BetterAuth): _trpc_server0.TRPCBuiltRou
759
842
  iconName: string | null;
760
843
  screenshotIds: string[];
761
844
  } | null;
762
- meta: {};
845
+ meta: object;
846
+ }>;
847
+ getBySlug: _trpc_server0.TRPCQueryProcedure<{
848
+ input: {
849
+ slug: string;
850
+ };
851
+ output: {
852
+ id: string;
853
+ createdAt: Date;
854
+ updatedAt: Date;
855
+ description: string;
856
+ slug: string;
857
+ displayName: string;
858
+ access: PrismaJson.AccessMethod | null;
859
+ teams: string[];
860
+ approvalDetails: PrismaJson.AppApprovalDetails | null;
861
+ notes: string | null;
862
+ tags: string[];
863
+ appUrl: string | null;
864
+ links: PrismaJson.AppLink[] | null;
865
+ iconName: string | null;
866
+ screenshotIds: string[];
867
+ } | null;
868
+ meta: object;
763
869
  }>;
764
870
  create: _trpc_server0.TRPCMutationProcedure<{
765
871
  input: {
@@ -768,46 +874,27 @@ declare function createTrpcRouter(auth?: BetterAuth): _trpc_server0.TRPCBuiltRou
768
874
  description: string;
769
875
  access?: {
770
876
  [x: string]: unknown;
771
- type: "bot" | "ticketing" | "email" | "self-service" | "documentation" | "manual";
877
+ type: "email" | "bot" | "ticketing" | "self-service" | "documentation" | "manual";
772
878
  } | undefined;
773
879
  teams?: string[] | undefined;
774
- approver?: {
775
- type: "bot";
776
- comment?: string | undefined;
777
- roles?: {
778
- name: string;
779
- description?: string | undefined;
780
- }[] | undefined;
781
- approvalPolicy?: string | undefined;
880
+ approvalDetails?: {
881
+ approvalMethodId: string;
882
+ comments?: string | undefined;
883
+ requestPrompt?: string | undefined;
782
884
  postApprovalInstructions?: string | undefined;
783
- seeMoreUrls?: string[] | undefined;
784
- url?: string | undefined;
785
- prompt?: string | undefined;
786
- } | {
787
- type: "ticket";
788
- comment?: string | undefined;
789
885
  roles?: {
790
886
  name: string;
791
887
  description?: string | undefined;
792
888
  }[] | undefined;
793
- approvalPolicy?: string | undefined;
794
- postApprovalInstructions?: string | undefined;
795
- seeMoreUrls?: string[] | undefined;
796
- url?: string | undefined;
797
- requestFormTemplate?: string | undefined;
798
- } | {
799
- type: "person";
800
- comment?: string | undefined;
801
- roles?: {
802
- name: string;
803
- description?: string | undefined;
889
+ approvers?: {
890
+ displayName: string;
891
+ contact?: string | undefined;
804
892
  }[] | undefined;
805
- approvalPolicy?: string | undefined;
806
- postApprovalInstructions?: string | undefined;
807
- seeMoreUrls?: string[] | undefined;
808
- email?: string | undefined;
809
- url?: string | undefined;
810
- description?: string | undefined;
893
+ urls?: {
894
+ url: string;
895
+ label?: string | undefined;
896
+ }[] | undefined;
897
+ whoToReachOut?: string | undefined;
811
898
  } | undefined;
812
899
  notes?: string | undefined;
813
900
  tags?: string[] | undefined;
@@ -828,7 +915,7 @@ declare function createTrpcRouter(auth?: BetterAuth): _trpc_server0.TRPCBuiltRou
828
915
  displayName: string;
829
916
  access: PrismaJson.AccessMethod | null;
830
917
  teams: string[];
831
- approver: PrismaJson.Approver | null;
918
+ approvalDetails: PrismaJson.AppApprovalDetails | null;
832
919
  notes: string | null;
833
920
  tags: string[];
834
921
  appUrl: string | null;
@@ -836,7 +923,7 @@ declare function createTrpcRouter(auth?: BetterAuth): _trpc_server0.TRPCBuiltRou
836
923
  iconName: string | null;
837
924
  screenshotIds: string[];
838
925
  };
839
- meta: {};
926
+ meta: object;
840
927
  }>;
841
928
  update: _trpc_server0.TRPCMutationProcedure<{
842
929
  input: {
@@ -846,46 +933,27 @@ declare function createTrpcRouter(auth?: BetterAuth): _trpc_server0.TRPCBuiltRou
846
933
  description?: string | undefined;
847
934
  access?: {
848
935
  [x: string]: unknown;
849
- type: "bot" | "ticketing" | "email" | "self-service" | "documentation" | "manual";
936
+ type: "email" | "bot" | "ticketing" | "self-service" | "documentation" | "manual";
850
937
  } | undefined;
851
938
  teams?: string[] | undefined;
852
- approver?: {
853
- type: "bot";
854
- comment?: string | undefined;
855
- roles?: {
856
- name: string;
857
- description?: string | undefined;
858
- }[] | undefined;
859
- approvalPolicy?: string | undefined;
939
+ approvalDetails?: {
940
+ approvalMethodId: string;
941
+ comments?: string | undefined;
942
+ requestPrompt?: string | undefined;
860
943
  postApprovalInstructions?: string | undefined;
861
- seeMoreUrls?: string[] | undefined;
862
- url?: string | undefined;
863
- prompt?: string | undefined;
864
- } | {
865
- type: "ticket";
866
- comment?: string | undefined;
867
944
  roles?: {
868
945
  name: string;
869
946
  description?: string | undefined;
870
947
  }[] | undefined;
871
- approvalPolicy?: string | undefined;
872
- postApprovalInstructions?: string | undefined;
873
- seeMoreUrls?: string[] | undefined;
874
- url?: string | undefined;
875
- requestFormTemplate?: string | undefined;
876
- } | {
877
- type: "person";
878
- comment?: string | undefined;
879
- roles?: {
880
- name: string;
881
- description?: string | undefined;
948
+ approvers?: {
949
+ displayName: string;
950
+ contact?: string | undefined;
882
951
  }[] | undefined;
883
- approvalPolicy?: string | undefined;
884
- postApprovalInstructions?: string | undefined;
885
- seeMoreUrls?: string[] | undefined;
886
- email?: string | undefined;
887
- url?: string | undefined;
888
- description?: string | undefined;
952
+ urls?: {
953
+ url: string;
954
+ label?: string | undefined;
955
+ }[] | undefined;
956
+ whoToReachOut?: string | undefined;
889
957
  } | undefined;
890
958
  notes?: string | undefined;
891
959
  tags?: string[] | undefined;
@@ -906,7 +974,7 @@ declare function createTrpcRouter(auth?: BetterAuth): _trpc_server0.TRPCBuiltRou
906
974
  displayName: string;
907
975
  access: PrismaJson.AccessMethod | null;
908
976
  teams: string[];
909
- approver: PrismaJson.Approver | null;
977
+ approvalDetails: PrismaJson.AppApprovalDetails | null;
910
978
  notes: string | null;
911
979
  tags: string[];
912
980
  appUrl: string | null;
@@ -914,7 +982,31 @@ declare function createTrpcRouter(auth?: BetterAuth): _trpc_server0.TRPCBuiltRou
914
982
  iconName: string | null;
915
983
  screenshotIds: string[];
916
984
  };
917
- meta: {};
985
+ meta: object;
986
+ }>;
987
+ updateScreenshots: _trpc_server0.TRPCMutationProcedure<{
988
+ input: {
989
+ id: string;
990
+ screenshotIds: string[];
991
+ };
992
+ output: {
993
+ id: string;
994
+ createdAt: Date;
995
+ updatedAt: Date;
996
+ description: string;
997
+ slug: string;
998
+ displayName: string;
999
+ access: PrismaJson.AccessMethod | null;
1000
+ teams: string[];
1001
+ approvalDetails: PrismaJson.AppApprovalDetails | null;
1002
+ notes: string | null;
1003
+ tags: string[];
1004
+ appUrl: string | null;
1005
+ links: PrismaJson.AppLink[] | null;
1006
+ iconName: string | null;
1007
+ screenshotIds: string[];
1008
+ };
1009
+ meta: object;
918
1010
  }>;
919
1011
  delete: _trpc_server0.TRPCMutationProcedure<{
920
1012
  input: {
@@ -929,7 +1021,7 @@ declare function createTrpcRouter(auth?: BetterAuth): _trpc_server0.TRPCBuiltRou
929
1021
  displayName: string;
930
1022
  access: PrismaJson.AccessMethod | null;
931
1023
  teams: string[];
932
- approver: PrismaJson.Approver | null;
1024
+ approvalDetails: PrismaJson.AppApprovalDetails | null;
933
1025
  notes: string | null;
934
1026
  tags: string[];
935
1027
  appUrl: string | null;
@@ -937,7 +1029,75 @@ declare function createTrpcRouter(auth?: BetterAuth): _trpc_server0.TRPCBuiltRou
937
1029
  iconName: string | null;
938
1030
  screenshotIds: string[];
939
1031
  };
940
- meta: {};
1032
+ meta: object;
1033
+ }>;
1034
+ }>>;
1035
+ approvalMethod: _trpc_server0.TRPCBuiltRouter<{
1036
+ ctx: EhTrpcContext;
1037
+ meta: object;
1038
+ errorShape: _trpc_server0.TRPCDefaultErrorShape;
1039
+ transformer: false;
1040
+ }, _trpc_server0.TRPCDecorateCreateRouterOptions<{
1041
+ list: _trpc_server0.TRPCQueryProcedure<{
1042
+ input: void;
1043
+ output: ApprovalMethod[];
1044
+ meta: object;
1045
+ }>;
1046
+ getById: _trpc_server0.TRPCQueryProcedure<{
1047
+ input: {
1048
+ id: string;
1049
+ };
1050
+ output: ApprovalMethod | null;
1051
+ meta: object;
1052
+ }>;
1053
+ create: _trpc_server0.TRPCMutationProcedure<{
1054
+ input: {
1055
+ type: "custom" | "service" | "personTeam";
1056
+ displayName: string;
1057
+ config?: Record<string, never> | {
1058
+ url?: string | undefined;
1059
+ icon?: string | undefined;
1060
+ } | {
1061
+ reachOutContacts?: {
1062
+ displayName: string;
1063
+ contact: string;
1064
+ }[] | undefined;
1065
+ } | undefined;
1066
+ };
1067
+ output: ApprovalMethod;
1068
+ meta: object;
1069
+ }>;
1070
+ update: _trpc_server0.TRPCMutationProcedure<{
1071
+ input: {
1072
+ id: string;
1073
+ type?: "custom" | "service" | "personTeam" | undefined;
1074
+ displayName?: string | undefined;
1075
+ config?: Record<string, never> | {
1076
+ url?: string | undefined;
1077
+ icon?: string | undefined;
1078
+ } | {
1079
+ reachOutContacts?: {
1080
+ displayName: string;
1081
+ contact: string;
1082
+ }[] | undefined;
1083
+ } | undefined;
1084
+ };
1085
+ output: ApprovalMethod;
1086
+ meta: object;
1087
+ }>;
1088
+ delete: _trpc_server0.TRPCMutationProcedure<{
1089
+ input: {
1090
+ id: string;
1091
+ };
1092
+ output: ApprovalMethod;
1093
+ meta: object;
1094
+ }>;
1095
+ listByType: _trpc_server0.TRPCQueryProcedure<{
1096
+ input: {
1097
+ type: "custom" | "service" | "personTeam";
1098
+ };
1099
+ output: ApprovalMethod[];
1100
+ meta: object;
941
1101
  }>;
942
1102
  }>>;
943
1103
  auth: _trpc_server0.TRPCBuiltRouter<{
@@ -949,7 +1109,15 @@ declare function createTrpcRouter(auth?: BetterAuth): _trpc_server0.TRPCBuiltRou
949
1109
  getSession: _trpc_server0.TRPCQueryProcedure<{
950
1110
  input: void;
951
1111
  output: {
952
- user: {} | null;
1112
+ user: {
1113
+ id: string;
1114
+ createdAt: Date;
1115
+ updatedAt: Date;
1116
+ email: string;
1117
+ emailVerified: boolean;
1118
+ name: string;
1119
+ image?: string | null | undefined;
1120
+ } | null;
953
1121
  isAuthenticated: boolean;
954
1122
  };
955
1123
  meta: {};
@@ -1004,7 +1172,15 @@ declare function createAuthRouter(t: TRPCRootObject<EhTrpcContext, {}, {}>, auth
1004
1172
  getSession: _trpc_server0.TRPCQueryProcedure<{
1005
1173
  input: void;
1006
1174
  output: {
1007
- user: {} | null;
1175
+ user: {
1176
+ id: string;
1177
+ createdAt: Date;
1178
+ updatedAt: Date;
1179
+ email: string;
1180
+ emailVerified: boolean;
1181
+ name: string;
1182
+ image?: string | null | undefined;
1183
+ } | null;
1008
1184
  isAuthenticated: boolean;
1009
1185
  };
1010
1186
  meta: {};
@@ -1217,6 +1393,8 @@ interface UpsertIconInput {
1217
1393
  */
1218
1394
  declare function upsertIcon(input: UpsertIconInput): Promise<{
1219
1395
  id: string;
1396
+ createdAt: Date;
1397
+ updatedAt: Date;
1220
1398
  name: string;
1221
1399
  content: _prisma_client_runtime_library0.Bytes;
1222
1400
  mimeType: string;
@@ -1225,8 +1403,6 @@ declare function upsertIcon(input: UpsertIconInput): Promise<{
1225
1403
  checksum: string;
1226
1404
  width: number | null;
1227
1405
  height: number | null;
1228
- createdAt: Date;
1229
- updatedAt: Date;
1230
1406
  }>;
1231
1407
  /**
1232
1408
  * Upsert multiple icons to the database.
@@ -1234,6 +1410,8 @@ declare function upsertIcon(input: UpsertIconInput): Promise<{
1234
1410
  */
1235
1411
  declare function upsertIcons(icons: Array<UpsertIconInput>): Promise<{
1236
1412
  id: string;
1413
+ createdAt: Date;
1414
+ updatedAt: Date;
1237
1415
  name: string;
1238
1416
  content: _prisma_client_runtime_library0.Bytes;
1239
1417
  mimeType: string;
@@ -1242,8 +1420,6 @@ declare function upsertIcons(icons: Array<UpsertIconInput>): Promise<{
1242
1420
  checksum: string;
1243
1421
  width: number | null;
1244
1422
  height: number | null;
1245
- createdAt: Date;
1246
- updatedAt: Date;
1247
1423
  }[]>;
1248
1424
  /**
1249
1425
  * Get an asset (icon or screenshot) by name from the database.
@@ -1291,9 +1467,9 @@ interface ScreenshotRestControllerConfig {
1291
1467
  declare function registerScreenshotRestController(router: Router, config: ScreenshotRestControllerConfig): void;
1292
1468
  //#endregion
1293
1469
  //#region src/modules/assets/screenshotRouter.d.ts
1294
- declare function createScreenshotRouter(t: TRPCRootObject<EhTrpcContext, {}, {}>): _trpc_server0.TRPCBuiltRouter<{
1470
+ declare function createScreenshotRouter(): _trpc_server0.TRPCBuiltRouter<{
1295
1471
  ctx: EhTrpcContext;
1296
- meta: {};
1472
+ meta: object;
1297
1473
  errorShape: _trpc_server0.TRPCDefaultErrorShape;
1298
1474
  transformer: false;
1299
1475
  }, _trpc_server0.TRPCDecorateCreateRouterOptions<{
@@ -1301,15 +1477,15 @@ declare function createScreenshotRouter(t: TRPCRootObject<EhTrpcContext, {}, {}>
1301
1477
  input: void;
1302
1478
  output: {
1303
1479
  id: string;
1480
+ createdAt: Date;
1481
+ updatedAt: Date;
1304
1482
  name: string;
1305
1483
  mimeType: string;
1306
1484
  fileSize: number;
1307
1485
  width: number | null;
1308
1486
  height: number | null;
1309
- createdAt: Date;
1310
- updatedAt: Date;
1311
1487
  }[];
1312
- meta: {};
1488
+ meta: object;
1313
1489
  }>;
1314
1490
  getOne: _trpc_server0.TRPCQueryProcedure<{
1315
1491
  input: {
@@ -1317,15 +1493,15 @@ declare function createScreenshotRouter(t: TRPCRootObject<EhTrpcContext, {}, {}>
1317
1493
  };
1318
1494
  output: {
1319
1495
  id: string;
1496
+ createdAt: Date;
1497
+ updatedAt: Date;
1320
1498
  name: string;
1321
1499
  mimeType: string;
1322
1500
  fileSize: number;
1323
1501
  width: number | null;
1324
1502
  height: number | null;
1325
- createdAt: Date;
1326
- updatedAt: Date;
1327
1503
  } | null;
1328
- meta: {};
1504
+ meta: object;
1329
1505
  }>;
1330
1506
  getByAppSlug: _trpc_server0.TRPCQueryProcedure<{
1331
1507
  input: {
@@ -1333,15 +1509,15 @@ declare function createScreenshotRouter(t: TRPCRootObject<EhTrpcContext, {}, {}>
1333
1509
  };
1334
1510
  output: {
1335
1511
  id: string;
1512
+ createdAt: Date;
1513
+ updatedAt: Date;
1336
1514
  name: string;
1337
1515
  mimeType: string;
1338
1516
  fileSize: number;
1339
1517
  width: number | null;
1340
1518
  height: number | null;
1341
- createdAt: Date;
1342
- updatedAt: Date;
1343
1519
  }[];
1344
- meta: {};
1520
+ meta: object;
1345
1521
  }>;
1346
1522
  getFirstByAppSlug: _trpc_server0.TRPCQueryProcedure<{
1347
1523
  input: {
@@ -1349,15 +1525,15 @@ declare function createScreenshotRouter(t: TRPCRootObject<EhTrpcContext, {}, {}>
1349
1525
  };
1350
1526
  output: {
1351
1527
  id: string;
1528
+ createdAt: Date;
1529
+ updatedAt: Date;
1352
1530
  name: string;
1353
1531
  mimeType: string;
1354
1532
  fileSize: number;
1355
1533
  width: number | null;
1356
1534
  height: number | null;
1357
- createdAt: Date;
1358
- updatedAt: Date;
1359
1535
  } | null;
1360
- meta: {};
1536
+ meta: object;
1361
1537
  }>;
1362
1538
  }>>;
1363
1539
  //#endregion
@@ -1388,9 +1564,9 @@ declare function syncAssets(config: SyncAssetsConfig): Promise<{
1388
1564
  }>;
1389
1565
  //#endregion
1390
1566
  //#region src/modules/appCatalogAdmin/appCatalogAdminRouter.d.ts
1391
- declare function createAppCatalogAdminRouter(t: TRPCRootObject<EhTrpcContext, {}, {}>): _trpc_server0.TRPCBuiltRouter<{
1567
+ declare function createAppCatalogAdminRouter(): _trpc_server0.TRPCBuiltRouter<{
1392
1568
  ctx: EhTrpcContext;
1393
- meta: {};
1569
+ meta: object;
1394
1570
  errorShape: _trpc_server0.TRPCDefaultErrorShape;
1395
1571
  transformer: false;
1396
1572
  }, _trpc_server0.TRPCDecorateCreateRouterOptions<{
@@ -1405,7 +1581,7 @@ declare function createAppCatalogAdminRouter(t: TRPCRootObject<EhTrpcContext, {}
1405
1581
  displayName: string;
1406
1582
  access: PrismaJson.AccessMethod | null;
1407
1583
  teams: string[];
1408
- approver: PrismaJson.Approver | null;
1584
+ approvalDetails: PrismaJson.AppApprovalDetails | null;
1409
1585
  notes: string | null;
1410
1586
  tags: string[];
1411
1587
  appUrl: string | null;
@@ -1413,7 +1589,7 @@ declare function createAppCatalogAdminRouter(t: TRPCRootObject<EhTrpcContext, {}
1413
1589
  iconName: string | null;
1414
1590
  screenshotIds: string[];
1415
1591
  }[];
1416
- meta: {};
1592
+ meta: object;
1417
1593
  }>;
1418
1594
  getById: _trpc_server0.TRPCQueryProcedure<{
1419
1595
  input: {
@@ -1428,7 +1604,7 @@ declare function createAppCatalogAdminRouter(t: TRPCRootObject<EhTrpcContext, {}
1428
1604
  displayName: string;
1429
1605
  access: PrismaJson.AccessMethod | null;
1430
1606
  teams: string[];
1431
- approver: PrismaJson.Approver | null;
1607
+ approvalDetails: PrismaJson.AppApprovalDetails | null;
1432
1608
  notes: string | null;
1433
1609
  tags: string[];
1434
1610
  appUrl: string | null;
@@ -1436,7 +1612,30 @@ declare function createAppCatalogAdminRouter(t: TRPCRootObject<EhTrpcContext, {}
1436
1612
  iconName: string | null;
1437
1613
  screenshotIds: string[];
1438
1614
  } | null;
1439
- meta: {};
1615
+ meta: object;
1616
+ }>;
1617
+ getBySlug: _trpc_server0.TRPCQueryProcedure<{
1618
+ input: {
1619
+ slug: string;
1620
+ };
1621
+ output: {
1622
+ id: string;
1623
+ createdAt: Date;
1624
+ updatedAt: Date;
1625
+ description: string;
1626
+ slug: string;
1627
+ displayName: string;
1628
+ access: PrismaJson.AccessMethod | null;
1629
+ teams: string[];
1630
+ approvalDetails: PrismaJson.AppApprovalDetails | null;
1631
+ notes: string | null;
1632
+ tags: string[];
1633
+ appUrl: string | null;
1634
+ links: PrismaJson.AppLink[] | null;
1635
+ iconName: string | null;
1636
+ screenshotIds: string[];
1637
+ } | null;
1638
+ meta: object;
1440
1639
  }>;
1441
1640
  create: _trpc_server0.TRPCMutationProcedure<{
1442
1641
  input: {
@@ -1445,46 +1644,27 @@ declare function createAppCatalogAdminRouter(t: TRPCRootObject<EhTrpcContext, {}
1445
1644
  description: string;
1446
1645
  access?: {
1447
1646
  [x: string]: unknown;
1448
- type: "bot" | "ticketing" | "email" | "self-service" | "documentation" | "manual";
1647
+ type: "email" | "bot" | "ticketing" | "self-service" | "documentation" | "manual";
1449
1648
  } | undefined;
1450
1649
  teams?: string[] | undefined;
1451
- approver?: {
1452
- type: "bot";
1453
- comment?: string | undefined;
1454
- roles?: {
1455
- name: string;
1456
- description?: string | undefined;
1457
- }[] | undefined;
1458
- approvalPolicy?: string | undefined;
1650
+ approvalDetails?: {
1651
+ approvalMethodId: string;
1652
+ comments?: string | undefined;
1653
+ requestPrompt?: string | undefined;
1459
1654
  postApprovalInstructions?: string | undefined;
1460
- seeMoreUrls?: string[] | undefined;
1461
- url?: string | undefined;
1462
- prompt?: string | undefined;
1463
- } | {
1464
- type: "ticket";
1465
- comment?: string | undefined;
1466
1655
  roles?: {
1467
1656
  name: string;
1468
1657
  description?: string | undefined;
1469
1658
  }[] | undefined;
1470
- approvalPolicy?: string | undefined;
1471
- postApprovalInstructions?: string | undefined;
1472
- seeMoreUrls?: string[] | undefined;
1473
- url?: string | undefined;
1474
- requestFormTemplate?: string | undefined;
1475
- } | {
1476
- type: "person";
1477
- comment?: string | undefined;
1478
- roles?: {
1479
- name: string;
1480
- description?: string | undefined;
1659
+ approvers?: {
1660
+ displayName: string;
1661
+ contact?: string | undefined;
1481
1662
  }[] | undefined;
1482
- approvalPolicy?: string | undefined;
1483
- postApprovalInstructions?: string | undefined;
1484
- seeMoreUrls?: string[] | undefined;
1485
- email?: string | undefined;
1486
- url?: string | undefined;
1487
- description?: string | undefined;
1663
+ urls?: {
1664
+ url: string;
1665
+ label?: string | undefined;
1666
+ }[] | undefined;
1667
+ whoToReachOut?: string | undefined;
1488
1668
  } | undefined;
1489
1669
  notes?: string | undefined;
1490
1670
  tags?: string[] | undefined;
@@ -1505,7 +1685,7 @@ declare function createAppCatalogAdminRouter(t: TRPCRootObject<EhTrpcContext, {}
1505
1685
  displayName: string;
1506
1686
  access: PrismaJson.AccessMethod | null;
1507
1687
  teams: string[];
1508
- approver: PrismaJson.Approver | null;
1688
+ approvalDetails: PrismaJson.AppApprovalDetails | null;
1509
1689
  notes: string | null;
1510
1690
  tags: string[];
1511
1691
  appUrl: string | null;
@@ -1513,7 +1693,7 @@ declare function createAppCatalogAdminRouter(t: TRPCRootObject<EhTrpcContext, {}
1513
1693
  iconName: string | null;
1514
1694
  screenshotIds: string[];
1515
1695
  };
1516
- meta: {};
1696
+ meta: object;
1517
1697
  }>;
1518
1698
  update: _trpc_server0.TRPCMutationProcedure<{
1519
1699
  input: {
@@ -1523,46 +1703,27 @@ declare function createAppCatalogAdminRouter(t: TRPCRootObject<EhTrpcContext, {}
1523
1703
  description?: string | undefined;
1524
1704
  access?: {
1525
1705
  [x: string]: unknown;
1526
- type: "bot" | "ticketing" | "email" | "self-service" | "documentation" | "manual";
1706
+ type: "email" | "bot" | "ticketing" | "self-service" | "documentation" | "manual";
1527
1707
  } | undefined;
1528
1708
  teams?: string[] | undefined;
1529
- approver?: {
1530
- type: "bot";
1531
- comment?: string | undefined;
1532
- roles?: {
1533
- name: string;
1534
- description?: string | undefined;
1535
- }[] | undefined;
1536
- approvalPolicy?: string | undefined;
1709
+ approvalDetails?: {
1710
+ approvalMethodId: string;
1711
+ comments?: string | undefined;
1712
+ requestPrompt?: string | undefined;
1537
1713
  postApprovalInstructions?: string | undefined;
1538
- seeMoreUrls?: string[] | undefined;
1539
- url?: string | undefined;
1540
- prompt?: string | undefined;
1541
- } | {
1542
- type: "ticket";
1543
- comment?: string | undefined;
1544
1714
  roles?: {
1545
1715
  name: string;
1546
1716
  description?: string | undefined;
1547
1717
  }[] | undefined;
1548
- approvalPolicy?: string | undefined;
1549
- postApprovalInstructions?: string | undefined;
1550
- seeMoreUrls?: string[] | undefined;
1551
- url?: string | undefined;
1552
- requestFormTemplate?: string | undefined;
1553
- } | {
1554
- type: "person";
1555
- comment?: string | undefined;
1556
- roles?: {
1557
- name: string;
1558
- description?: string | undefined;
1718
+ approvers?: {
1719
+ displayName: string;
1720
+ contact?: string | undefined;
1559
1721
  }[] | undefined;
1560
- approvalPolicy?: string | undefined;
1561
- postApprovalInstructions?: string | undefined;
1562
- seeMoreUrls?: string[] | undefined;
1563
- email?: string | undefined;
1564
- url?: string | undefined;
1565
- description?: string | undefined;
1722
+ urls?: {
1723
+ url: string;
1724
+ label?: string | undefined;
1725
+ }[] | undefined;
1726
+ whoToReachOut?: string | undefined;
1566
1727
  } | undefined;
1567
1728
  notes?: string | undefined;
1568
1729
  tags?: string[] | undefined;
@@ -1583,7 +1744,7 @@ declare function createAppCatalogAdminRouter(t: TRPCRootObject<EhTrpcContext, {}
1583
1744
  displayName: string;
1584
1745
  access: PrismaJson.AccessMethod | null;
1585
1746
  teams: string[];
1586
- approver: PrismaJson.Approver | null;
1747
+ approvalDetails: PrismaJson.AppApprovalDetails | null;
1587
1748
  notes: string | null;
1588
1749
  tags: string[];
1589
1750
  appUrl: string | null;
@@ -1591,7 +1752,31 @@ declare function createAppCatalogAdminRouter(t: TRPCRootObject<EhTrpcContext, {}
1591
1752
  iconName: string | null;
1592
1753
  screenshotIds: string[];
1593
1754
  };
1594
- meta: {};
1755
+ meta: object;
1756
+ }>;
1757
+ updateScreenshots: _trpc_server0.TRPCMutationProcedure<{
1758
+ input: {
1759
+ id: string;
1760
+ screenshotIds: string[];
1761
+ };
1762
+ output: {
1763
+ id: string;
1764
+ createdAt: Date;
1765
+ updatedAt: Date;
1766
+ description: string;
1767
+ slug: string;
1768
+ displayName: string;
1769
+ access: PrismaJson.AccessMethod | null;
1770
+ teams: string[];
1771
+ approvalDetails: PrismaJson.AppApprovalDetails | null;
1772
+ notes: string | null;
1773
+ tags: string[];
1774
+ appUrl: string | null;
1775
+ links: PrismaJson.AppLink[] | null;
1776
+ iconName: string | null;
1777
+ screenshotIds: string[];
1778
+ };
1779
+ meta: object;
1595
1780
  }>;
1596
1781
  delete: _trpc_server0.TRPCMutationProcedure<{
1597
1782
  input: {
@@ -1606,7 +1791,7 @@ declare function createAppCatalogAdminRouter(t: TRPCRootObject<EhTrpcContext, {}
1606
1791
  displayName: string;
1607
1792
  access: PrismaJson.AccessMethod | null;
1608
1793
  teams: string[];
1609
- approver: PrismaJson.Approver | null;
1794
+ approvalDetails: PrismaJson.AppApprovalDetails | null;
1610
1795
  notes: string | null;
1611
1796
  tags: string[];
1612
1797
  appUrl: string | null;
@@ -1614,10 +1799,94 @@ declare function createAppCatalogAdminRouter(t: TRPCRootObject<EhTrpcContext, {}
1614
1799
  iconName: string | null;
1615
1800
  screenshotIds: string[];
1616
1801
  };
1617
- meta: {};
1802
+ meta: object;
1618
1803
  }>;
1619
1804
  }>>;
1620
1805
  //#endregion
1806
+ //#region src/modules/approvalMethod/approvalMethodRouter.d.ts
1807
+ declare function createApprovalMethodRouter(): _trpc_server0.TRPCBuiltRouter<{
1808
+ ctx: EhTrpcContext;
1809
+ meta: object;
1810
+ errorShape: _trpc_server0.TRPCDefaultErrorShape;
1811
+ transformer: false;
1812
+ }, _trpc_server0.TRPCDecorateCreateRouterOptions<{
1813
+ list: _trpc_server0.TRPCQueryProcedure<{
1814
+ input: void;
1815
+ output: ApprovalMethod[];
1816
+ meta: object;
1817
+ }>;
1818
+ getById: _trpc_server0.TRPCQueryProcedure<{
1819
+ input: {
1820
+ id: string;
1821
+ };
1822
+ output: ApprovalMethod | null;
1823
+ meta: object;
1824
+ }>;
1825
+ create: _trpc_server0.TRPCMutationProcedure<{
1826
+ input: {
1827
+ type: "custom" | "service" | "personTeam";
1828
+ displayName: string;
1829
+ config?: Record<string, never> | {
1830
+ url?: string | undefined;
1831
+ icon?: string | undefined;
1832
+ } | {
1833
+ reachOutContacts?: {
1834
+ displayName: string;
1835
+ contact: string;
1836
+ }[] | undefined;
1837
+ } | undefined;
1838
+ };
1839
+ output: ApprovalMethod;
1840
+ meta: object;
1841
+ }>;
1842
+ update: _trpc_server0.TRPCMutationProcedure<{
1843
+ input: {
1844
+ id: string;
1845
+ type?: "custom" | "service" | "personTeam" | undefined;
1846
+ displayName?: string | undefined;
1847
+ config?: Record<string, never> | {
1848
+ url?: string | undefined;
1849
+ icon?: string | undefined;
1850
+ } | {
1851
+ reachOutContacts?: {
1852
+ displayName: string;
1853
+ contact: string;
1854
+ }[] | undefined;
1855
+ } | undefined;
1856
+ };
1857
+ output: ApprovalMethod;
1858
+ meta: object;
1859
+ }>;
1860
+ delete: _trpc_server0.TRPCMutationProcedure<{
1861
+ input: {
1862
+ id: string;
1863
+ };
1864
+ output: ApprovalMethod;
1865
+ meta: object;
1866
+ }>;
1867
+ listByType: _trpc_server0.TRPCQueryProcedure<{
1868
+ input: {
1869
+ type: "custom" | "service" | "personTeam";
1870
+ };
1871
+ output: ApprovalMethod[];
1872
+ meta: object;
1873
+ }>;
1874
+ }>>;
1875
+ //#endregion
1876
+ //#region src/modules/approvalMethod/syncApprovalMethods.d.ts
1877
+ interface ApprovalMethodSyncInput {
1878
+ type: 'service' | 'personTeam' | 'custom';
1879
+ displayName: string;
1880
+ config?: Record<string, unknown>;
1881
+ }
1882
+ /**
1883
+ * Syncs approval methods to the database using upsert logic based on type + displayName.
1884
+ *
1885
+ * @param prisma - The PrismaClient instance from the backend-core database
1886
+ * @param methods - Array of approval methods to sync
1887
+ */
1888
+ declare function syncApprovalMethods(prisma: PrismaClient, methods: Array<ApprovalMethodSyncInput>): Promise<void>;
1889
+ //#endregion
1621
1890
  //#region src/db/client.d.ts
1622
1891
  /**
1623
1892
  * Gets the internal Prisma client instance.
@@ -1701,6 +1970,20 @@ type EhDatabaseConfig = {
1701
1970
  password: string;
1702
1971
  schema?: string;
1703
1972
  };
1973
+ /**
1974
+ * Mock user configuration for development/testing.
1975
+ * When provided, bypasses authentication and injects this user into all requests.
1976
+ */
1977
+ interface EhDevMockUser {
1978
+ /** User ID */
1979
+ id: string;
1980
+ /** User email */
1981
+ email: string;
1982
+ /** User display name */
1983
+ name: string;
1984
+ /** User groups (for authorization) */
1985
+ groups: Array<string>;
1986
+ }
1704
1987
  /**
1705
1988
  * Auth configuration for Better Auth integration.
1706
1989
  */
@@ -1719,6 +2002,8 @@ interface EhAuthConfig {
1719
2002
  sessionUpdateAge?: number;
1720
2003
  /** Application name shown in auth UI */
1721
2004
  appName?: string;
2005
+ /** Development mock user - bypasses auth when provided */
2006
+ devMockUser?: EhDevMockUser;
1722
2007
  }
1723
2008
  /**
1724
2009
  * Admin chat (AI) configuration.
@@ -1844,6 +2129,7 @@ interface MiddlewareContext {
1844
2129
  createContext: () => Promise<{
1845
2130
  companySpecificBackend: EhBackendCompanySpecificBackend;
1846
2131
  }>;
2132
+ authConfig: EhAuthConfig;
1847
2133
  }
1848
2134
  //#endregion
1849
2135
  //#region src/middleware/createEhMiddleware.d.ts
@@ -1867,5 +2153,5 @@ declare class EhDatabaseManager {
1867
2153
  disconnect(): Promise<void>;
1868
2154
  }
1869
2155
  //#endregion
1870
- export { AccessMethod, type AdminChatHandlerOptions, AppCatalogData, AppCategory, type AppForCatalog, AppRole, Approver, type AssetRestControllerConfig, type AuthConfig, type AuthRouter, AvailabilityMatrixData, AvailabilityVariant, BaseApprover, type BetterAuth, BootstrapConfigData, BotAccess, BotApprover, DEFAULT_ADMIN_SYSTEM_PROMPT, type DatabaseClient, DisplayNamable, DocumentationAccess, type EhAdminChatConfig, EhAppCatalogData, EhAppCatalogDto, EhAppCatalogGroupDto, EhAppCatalogPageDto, EhAppIndexed, EhAppPageIndexed, EhAppUiIndexed, EhAppsMeta, type EhAuthConfig, EhBackendAppDto, EhBackendAppInput, EhBackendAppUIBaseInput, EhBackendAppUIInput, EhBackendCompanySpecificBackend, EhBackendCredentialInput, EhBackendDataFreshness, EhBackendDataSourceInput, EhBackendDataSourceInputCommon, EhBackendDataSourceInputDb, EhBackendDataSourceInputKafka, EhBackendDataVersion, EhBackendDeployableInput, EhBackendDeployment, EhBackendDeploymentInput, EhBackendEnvironmentInput, EhBackendPageInput, type EhBackendProvider, EhBackendTagDescriptionDataIndexed, EhBackendTagFixedTagValue, EhBackendTagsDescriptionDataIndexed, EhBackendUiDefaultsInput, EhBackendVersionsRequestParams, EhBackendVersionsReturn, EhContextIndexed, type EhDatabaseConfig, EhDatabaseManager, EhEnvIndexed, type EhFeatureToggles, type EhLifecycleHooks, EhMetaDictionary, type EhMiddlewareOptions, type EhMiddlewareResult, EhResourceIndexed, type EhStaticControllerContract, type EhTrpcContext, type EhTrpcContextOptions, EmailAccess, EnvBaseInfo, EnvInfoExtended, EnvSlug, type IconRestControllerConfig, JumpResourceSlug, LateResolvableParam, type MakeTFromPrismaModel, ManualAccess, type MiddlewareContext, type ObjectKeys, PersonApprover, RenameRule, RenameRuleParams, ResourceJump, ResourceJumpGroup, ResourceJumpMetaInfo, ResourceJumpsData, ResourceJumpsExtendedData, type ScalarFilter, type ScalarKeys, type ScreenshotRestControllerConfig, SelfServiceAccess, SlugAndDisplayable, Sluggable, type SyncAppCatalogResult, type SyncAssetsConfig, TABLE_SYNC_MAGAZINE, type TRPCRouter, type TableSyncMagazine, type TableSyncMagazineModelNameKey, type TableSyncParamsPrisma, Tag, TicketApprover, TicketingAccess, type UpsertIconInput, User, type UserWithGroups, connectDb, createAdminChatHandler, createAppCatalogAdminRouter, createAuth, createAuthRouter, createDatabaseTools, createEhMiddleware, createEhTrpcContext, createPrismaDatabaseClient, createScreenshotRouter, createTrpcRouter, disconnectDb, getAdminGroupsFromEnv, getAssetByName, getAuthPluginsFromEnv, getAuthProvidersFromEnv, getDbClient, getUserGroups, isAdmin, isMemberOfAllGroups, isMemberOfAnyGroup, registerAssetRestController, registerAuthRoutes, registerIconRestController, registerScreenshotRestController, requireAdmin, requireGroups, setDbClient, staticControllerContract, syncAppCatalog, syncAssets, tableSyncPrisma, tool, upsertIcon, upsertIcons, validateAuthConfig };
2156
+ export { AccessMethod, type AdminChatHandlerOptions, AppApprovalDetails, AppCatalogData, AppCategory, type AppForCatalog, AppRole, ApprovalMethod, ApprovalMethodConfig, type ApprovalMethodSyncInput, ApprovalMethodType, ApprovalUrl, Approver, ApproverContact, type AssetRestControllerConfig, type AuthConfig, type AuthRouter, AvailabilityMatrixData, AvailabilityVariant, BaseApprover, type BetterAuth, BootstrapConfigData, BotAccess, BotApprover, CreateApprovalMethodInput, CustomConfig, DEFAULT_ADMIN_SYSTEM_PROMPT, type DatabaseClient, DisplayNamable, DocumentationAccess, type EhAdminChatConfig, EhAppCatalogData, EhAppCatalogDto, EhAppCatalogGroupDto, EhAppCatalogPageDto, EhAppIndexed, EhAppPageIndexed, EhAppUiIndexed, EhAppsMeta, type EhAuthConfig, EhBackendAppDto, EhBackendAppInput, EhBackendAppUIBaseInput, EhBackendAppUIInput, EhBackendCompanySpecificBackend, EhBackendCredentialInput, EhBackendDataFreshness, EhBackendDataSourceInput, EhBackendDataSourceInputCommon, EhBackendDataSourceInputDb, EhBackendDataSourceInputKafka, EhBackendDataVersion, EhBackendDeployableInput, EhBackendDeployment, EhBackendDeploymentInput, EhBackendEnvironmentInput, EhBackendPageInput, type EhBackendProvider, EhBackendTagDescriptionDataIndexed, EhBackendTagFixedTagValue, EhBackendTagsDescriptionDataIndexed, EhBackendUiDefaultsInput, EhBackendVersionsRequestParams, EhBackendVersionsReturn, EhContextIndexed, type EhDatabaseConfig, EhDatabaseManager, EhEnvIndexed, type EhFeatureToggles, type EhLifecycleHooks, EhMetaDictionary, type EhMiddlewareOptions, type EhMiddlewareResult, EhResourceIndexed, type EhStaticControllerContract, type EhTrpcContext, type EhTrpcContextOptions, EmailAccess, EnvBaseInfo, EnvInfoExtended, EnvSlug, type IconRestControllerConfig, JumpResourceSlug, LateResolvableParam, type MakeTFromPrismaModel, ManualAccess, type MiddlewareContext, type ObjectKeys, PersonApprover, PersonTeamConfig, ReachOutContact, RenameRule, RenameRuleParams, ResourceJump, ResourceJumpGroup, ResourceJumpMetaInfo, ResourceJumpsData, ResourceJumpsExtendedData, type ScalarFilter, type ScalarKeys, type ScreenshotRestControllerConfig, SelfServiceAccess, ServiceConfig, SlugAndDisplayable, Sluggable, type SyncAppCatalogResult, type SyncAssetsConfig, TABLE_SYNC_MAGAZINE, type TRPCRouter, type TableSyncMagazine, type TableSyncMagazineModelNameKey, type TableSyncParamsPrisma, Tag, TicketApprover, TicketingAccess, UpdateApprovalMethodInput, type UpsertIconInput, User, type UserWithGroups, connectDb, createAdminChatHandler, createAppCatalogAdminRouter, createApprovalMethodRouter, createAuth, createAuthRouter, createDatabaseTools, createEhMiddleware, createEhTrpcContext, createPrismaDatabaseClient, createScreenshotRouter, createTrpcRouter, disconnectDb, getAdminGroupsFromEnv, getAssetByName, getAuthPluginsFromEnv, getAuthProvidersFromEnv, getDbClient, getUserGroups, isAdmin, isMemberOfAllGroups, isMemberOfAnyGroup, registerAssetRestController, registerAuthRoutes, registerIconRestController, registerScreenshotRestController, requireAdmin, requireGroups, setDbClient, staticControllerContract, syncAppCatalog, syncApprovalMethods, syncAssets, tableSyncPrisma, tool, upsertIcon, upsertIcons, validateAuthConfig };
1871
2157
  //# sourceMappingURL=index.d.ts.map