@middlewr/contracts 0.0.14 → 0.0.16

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.
@@ -1,4 +1,58 @@
1
1
  import { z } from 'zod';
2
+ export declare const AnalyticsIntervalSchema: z.ZodEnum<{
3
+ hour: "hour";
4
+ day: "day";
5
+ week: "week";
6
+ month: "month";
7
+ }>;
8
+ export declare const AnalyticsQuerySchema: z.ZodObject<{
9
+ start_at: z.ZodCoercedDate<unknown>;
10
+ end_at: z.ZodCoercedDate<unknown>;
11
+ interval: z.ZodEnum<{
12
+ hour: "hour";
13
+ day: "day";
14
+ week: "week";
15
+ month: "month";
16
+ }>;
17
+ }, z.core.$strip>;
18
+ export declare const TimeSeriesPointSchema: z.ZodObject<{
19
+ date: z.ZodString;
20
+ clicks: z.ZodNumber;
21
+ unique_visitors: z.ZodNumber;
22
+ }, z.core.$strip>;
23
+ export declare const CountByFieldSchema: z.ZodObject<{
24
+ name: z.ZodString;
25
+ count: z.ZodNumber;
26
+ }, z.core.$strip>;
27
+ export declare const AnalyticsOutputSchema: z.ZodObject<{
28
+ total_clicks: z.ZodNumber;
29
+ total_unique_visitors: z.ZodNumber;
30
+ timeseries: z.ZodArray<z.ZodObject<{
31
+ date: z.ZodString;
32
+ clicks: z.ZodNumber;
33
+ unique_visitors: z.ZodNumber;
34
+ }, z.core.$strip>>;
35
+ referrers: z.ZodArray<z.ZodObject<{
36
+ name: z.ZodString;
37
+ count: z.ZodNumber;
38
+ }, z.core.$strip>>;
39
+ devices: z.ZodArray<z.ZodObject<{
40
+ name: z.ZodString;
41
+ count: z.ZodNumber;
42
+ }, z.core.$strip>>;
43
+ countries: z.ZodArray<z.ZodObject<{
44
+ name: z.ZodString;
45
+ count: z.ZodNumber;
46
+ }, z.core.$strip>>;
47
+ browsers: z.ZodArray<z.ZodObject<{
48
+ name: z.ZodString;
49
+ count: z.ZodNumber;
50
+ }, z.core.$strip>>;
51
+ os: z.ZodArray<z.ZodObject<{
52
+ name: z.ZodString;
53
+ count: z.ZodNumber;
54
+ }, z.core.$strip>>;
55
+ }, z.core.$strip>;
2
56
  export declare const LinkAnalyticsQuerySchema: z.ZodObject<{
3
57
  link_id: z.ZodString;
4
58
  from: z.ZodCoercedDate<unknown>;
@@ -1 +1 @@
1
- {"version":3,"file":"analytics.schema.d.ts","sourceRoot":"","sources":["../../src/analytics.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,wBAAwB;;;;iBAInC,CAAC"}
1
+ {"version":3,"file":"analytics.schema.d.ts","sourceRoot":"","sources":["../../src/analytics.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,uBAAuB;;;;;EAA2C,CAAC;AAEhF,eAAO,MAAM,oBAAoB;;;;;;;;;iBAI/B,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;iBAIhC,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;iBAG7B,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAShC,CAAC;AAEH,eAAO,MAAM,wBAAwB;;;;iBAInC,CAAC"}
@@ -9,6 +9,87 @@ export * from './links.schema';
9
9
  export * from './tags.schema';
10
10
  export * from './users.schema';
11
11
  export * from './workspaces.schema';
12
+ export declare const analyticsContract: {
13
+ workspace: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
14
+ workspace_id: z.ZodString;
15
+ start_at: z.ZodCoercedDate<unknown>;
16
+ end_at: z.ZodCoercedDate<unknown>;
17
+ interval: z.ZodEnum<{
18
+ hour: "hour";
19
+ day: "day";
20
+ week: "week";
21
+ month: "month";
22
+ }>;
23
+ }, z.core.$strip>, z.ZodObject<{
24
+ total_clicks: z.ZodNumber;
25
+ total_unique_visitors: z.ZodNumber;
26
+ timeseries: z.ZodArray<z.ZodObject<{
27
+ date: z.ZodString;
28
+ clicks: z.ZodNumber;
29
+ unique_visitors: z.ZodNumber;
30
+ }, z.core.$strip>>;
31
+ referrers: z.ZodArray<z.ZodObject<{
32
+ name: z.ZodString;
33
+ count: z.ZodNumber;
34
+ }, z.core.$strip>>;
35
+ devices: z.ZodArray<z.ZodObject<{
36
+ name: z.ZodString;
37
+ count: z.ZodNumber;
38
+ }, z.core.$strip>>;
39
+ countries: z.ZodArray<z.ZodObject<{
40
+ name: z.ZodString;
41
+ count: z.ZodNumber;
42
+ }, z.core.$strip>>;
43
+ browsers: z.ZodArray<z.ZodObject<{
44
+ name: z.ZodString;
45
+ count: z.ZodNumber;
46
+ }, z.core.$strip>>;
47
+ os: z.ZodArray<z.ZodObject<{
48
+ name: z.ZodString;
49
+ count: z.ZodNumber;
50
+ }, z.core.$strip>>;
51
+ }, z.core.$strip>, Record<never, never>, Record<never, never>>;
52
+ link: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
53
+ workspace_id: z.ZodString;
54
+ link_id: z.ZodString;
55
+ start_at: z.ZodCoercedDate<unknown>;
56
+ end_at: z.ZodCoercedDate<unknown>;
57
+ interval: z.ZodEnum<{
58
+ hour: "hour";
59
+ day: "day";
60
+ week: "week";
61
+ month: "month";
62
+ }>;
63
+ }, z.core.$strip>, z.ZodObject<{
64
+ total_clicks: z.ZodNumber;
65
+ total_unique_visitors: z.ZodNumber;
66
+ timeseries: z.ZodArray<z.ZodObject<{
67
+ date: z.ZodString;
68
+ clicks: z.ZodNumber;
69
+ unique_visitors: z.ZodNumber;
70
+ }, z.core.$strip>>;
71
+ referrers: z.ZodArray<z.ZodObject<{
72
+ name: z.ZodString;
73
+ count: z.ZodNumber;
74
+ }, z.core.$strip>>;
75
+ devices: z.ZodArray<z.ZodObject<{
76
+ name: z.ZodString;
77
+ count: z.ZodNumber;
78
+ }, z.core.$strip>>;
79
+ countries: z.ZodArray<z.ZodObject<{
80
+ name: z.ZodString;
81
+ count: z.ZodNumber;
82
+ }, z.core.$strip>>;
83
+ browsers: z.ZodArray<z.ZodObject<{
84
+ name: z.ZodString;
85
+ count: z.ZodNumber;
86
+ }, z.core.$strip>>;
87
+ os: z.ZodArray<z.ZodObject<{
88
+ name: z.ZodString;
89
+ count: z.ZodNumber;
90
+ }, z.core.$strip>>;
91
+ }, z.core.$strip>, Record<never, never>, Record<never, never>>;
92
+ };
12
93
  export declare const usersContract: {
13
94
  me: import("@orpc/contract").ContractProcedureBuilderWithOutput<import("@orpc/contract").Schema<unknown, unknown>, z.ZodObject<{
14
95
  user: z.ZodObject<{
@@ -308,9 +389,18 @@ export declare const linksContract: {
308
389
  workspace_id: z.ZodString;
309
390
  search: z.ZodOptional<z.ZodString>;
310
391
  domain_id: z.ZodOptional<z.ZodString>;
311
- is_active: z.ZodOptional<z.ZodCoercedBoolean<unknown>>;
312
- has_expiration: z.ZodOptional<z.ZodCoercedBoolean<unknown>>;
313
- expired: z.ZodOptional<z.ZodCoercedBoolean<unknown>>;
392
+ is_active: z.ZodOptional<z.ZodPipe<z.ZodUnion<readonly [z.ZodBoolean, z.ZodEnum<{
393
+ true: "true";
394
+ false: "false";
395
+ }>]>, z.ZodTransform<boolean, boolean | "true" | "false">>>;
396
+ has_expiration: z.ZodOptional<z.ZodPipe<z.ZodUnion<readonly [z.ZodBoolean, z.ZodEnum<{
397
+ true: "true";
398
+ false: "false";
399
+ }>]>, z.ZodTransform<boolean, boolean | "true" | "false">>>;
400
+ expired: z.ZodOptional<z.ZodPipe<z.ZodUnion<readonly [z.ZodBoolean, z.ZodEnum<{
401
+ true: "true";
402
+ false: "false";
403
+ }>]>, z.ZodTransform<boolean, boolean | "true" | "false">>>;
314
404
  created_from: z.ZodOptional<z.ZodCoercedDate<unknown>>;
315
405
  created_to: z.ZodOptional<z.ZodCoercedDate<unknown>>;
316
406
  expires_from: z.ZodOptional<z.ZodCoercedDate<unknown>>;
@@ -644,6 +734,87 @@ export declare const billingContract: {
644
734
  }, z.core.$strip>, Record<never, never>, Record<never, never>>;
645
735
  };
646
736
  export declare const contract: {
737
+ analytics: {
738
+ workspace: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
739
+ workspace_id: z.ZodString;
740
+ start_at: z.ZodCoercedDate<unknown>;
741
+ end_at: z.ZodCoercedDate<unknown>;
742
+ interval: z.ZodEnum<{
743
+ hour: "hour";
744
+ day: "day";
745
+ week: "week";
746
+ month: "month";
747
+ }>;
748
+ }, z.core.$strip>, z.ZodObject<{
749
+ total_clicks: z.ZodNumber;
750
+ total_unique_visitors: z.ZodNumber;
751
+ timeseries: z.ZodArray<z.ZodObject<{
752
+ date: z.ZodString;
753
+ clicks: z.ZodNumber;
754
+ unique_visitors: z.ZodNumber;
755
+ }, z.core.$strip>>;
756
+ referrers: z.ZodArray<z.ZodObject<{
757
+ name: z.ZodString;
758
+ count: z.ZodNumber;
759
+ }, z.core.$strip>>;
760
+ devices: z.ZodArray<z.ZodObject<{
761
+ name: z.ZodString;
762
+ count: z.ZodNumber;
763
+ }, z.core.$strip>>;
764
+ countries: z.ZodArray<z.ZodObject<{
765
+ name: z.ZodString;
766
+ count: z.ZodNumber;
767
+ }, z.core.$strip>>;
768
+ browsers: z.ZodArray<z.ZodObject<{
769
+ name: z.ZodString;
770
+ count: z.ZodNumber;
771
+ }, z.core.$strip>>;
772
+ os: z.ZodArray<z.ZodObject<{
773
+ name: z.ZodString;
774
+ count: z.ZodNumber;
775
+ }, z.core.$strip>>;
776
+ }, z.core.$strip>, Record<never, never>, Record<never, never>>;
777
+ link: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
778
+ workspace_id: z.ZodString;
779
+ link_id: z.ZodString;
780
+ start_at: z.ZodCoercedDate<unknown>;
781
+ end_at: z.ZodCoercedDate<unknown>;
782
+ interval: z.ZodEnum<{
783
+ hour: "hour";
784
+ day: "day";
785
+ week: "week";
786
+ month: "month";
787
+ }>;
788
+ }, z.core.$strip>, z.ZodObject<{
789
+ total_clicks: z.ZodNumber;
790
+ total_unique_visitors: z.ZodNumber;
791
+ timeseries: z.ZodArray<z.ZodObject<{
792
+ date: z.ZodString;
793
+ clicks: z.ZodNumber;
794
+ unique_visitors: z.ZodNumber;
795
+ }, z.core.$strip>>;
796
+ referrers: z.ZodArray<z.ZodObject<{
797
+ name: z.ZodString;
798
+ count: z.ZodNumber;
799
+ }, z.core.$strip>>;
800
+ devices: z.ZodArray<z.ZodObject<{
801
+ name: z.ZodString;
802
+ count: z.ZodNumber;
803
+ }, z.core.$strip>>;
804
+ countries: z.ZodArray<z.ZodObject<{
805
+ name: z.ZodString;
806
+ count: z.ZodNumber;
807
+ }, z.core.$strip>>;
808
+ browsers: z.ZodArray<z.ZodObject<{
809
+ name: z.ZodString;
810
+ count: z.ZodNumber;
811
+ }, z.core.$strip>>;
812
+ os: z.ZodArray<z.ZodObject<{
813
+ name: z.ZodString;
814
+ count: z.ZodNumber;
815
+ }, z.core.$strip>>;
816
+ }, z.core.$strip>, Record<never, never>, Record<never, never>>;
817
+ };
647
818
  users: {
648
819
  me: import("@orpc/contract").ContractProcedureBuilderWithOutput<import("@orpc/contract").Schema<unknown, unknown>, z.ZodObject<{
649
820
  user: z.ZodObject<{
@@ -943,9 +1114,18 @@ export declare const contract: {
943
1114
  workspace_id: z.ZodString;
944
1115
  search: z.ZodOptional<z.ZodString>;
945
1116
  domain_id: z.ZodOptional<z.ZodString>;
946
- is_active: z.ZodOptional<z.ZodCoercedBoolean<unknown>>;
947
- has_expiration: z.ZodOptional<z.ZodCoercedBoolean<unknown>>;
948
- expired: z.ZodOptional<z.ZodCoercedBoolean<unknown>>;
1117
+ is_active: z.ZodOptional<z.ZodPipe<z.ZodUnion<readonly [z.ZodBoolean, z.ZodEnum<{
1118
+ true: "true";
1119
+ false: "false";
1120
+ }>]>, z.ZodTransform<boolean, boolean | "true" | "false">>>;
1121
+ has_expiration: z.ZodOptional<z.ZodPipe<z.ZodUnion<readonly [z.ZodBoolean, z.ZodEnum<{
1122
+ true: "true";
1123
+ false: "false";
1124
+ }>]>, z.ZodTransform<boolean, boolean | "true" | "false">>>;
1125
+ expired: z.ZodOptional<z.ZodPipe<z.ZodUnion<readonly [z.ZodBoolean, z.ZodEnum<{
1126
+ true: "true";
1127
+ false: "false";
1128
+ }>]>, z.ZodTransform<boolean, boolean | "true" | "false">>>;
949
1129
  created_from: z.ZodOptional<z.ZodCoercedDate<unknown>>;
950
1130
  created_to: z.ZodOptional<z.ZodCoercedDate<unknown>>;
951
1131
  expires_from: z.ZodOptional<z.ZodCoercedDate<unknown>>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAE3D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA+BxB,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAE9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AAGpC,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAYzB,CAAC;AAGF,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;CAM3B,CAAC;AAGF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwD9B,CAAC;AAGF,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAI/B,CAAC;AAGF,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsBzB,CAAC;AAGF,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgBxB,CAAC;AAGF,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8B3B,CAAC;AAGF,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAe3B,CAAC;AAGF,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CASpB,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG,OAAO,QAAQ,CAAC;AACvC,MAAM,MAAM,MAAM,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}