@teardown/schemas 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.
- package/dist/common/index.d.ts +3 -0
- package/dist/common/index.js +3 -0
- package/dist/common/primitives.d.ts +11 -0
- package/dist/common/primitives.js +9 -0
- package/dist/common/responses.d.ts +27 -0
- package/dist/common/responses.js +13 -0
- package/dist/common/type-checks.d.ts +58 -0
- package/dist/common/type-checks.js +1 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.js +14 -0
- package/dist/modules/analytics/index.d.ts +1 -0
- package/dist/modules/analytics/index.js +1 -0
- package/dist/modules/analytics/schemas.d.ts +239 -0
- package/dist/modules/analytics/schemas.js +136 -0
- package/dist/modules/builds/index.d.ts +1 -0
- package/dist/modules/builds/index.js +1 -0
- package/dist/modules/builds/schemas.d.ts +248 -0
- package/dist/modules/builds/schemas.js +137 -0
- package/dist/modules/devices/index.d.ts +1 -0
- package/dist/modules/devices/index.js +1 -0
- package/dist/modules/devices/schemas.d.ts +207 -0
- package/dist/modules/devices/schemas.js +165 -0
- package/dist/modules/environment/index.d.ts +1 -0
- package/dist/modules/environment/index.js +1 -0
- package/dist/modules/environment/schemas.d.ts +56 -0
- package/dist/modules/environment/schemas.js +57 -0
- package/dist/modules/events/index.d.ts +1 -0
- package/dist/modules/events/index.js +1 -0
- package/dist/modules/events/schemas.d.ts +138 -0
- package/dist/modules/events/schemas.js +116 -0
- package/dist/modules/identify/index.d.ts +1 -0
- package/dist/modules/identify/index.js +1 -0
- package/dist/modules/identify/schemas.d.ts +377 -0
- package/dist/modules/identify/schemas.js +221 -0
- package/dist/modules/index.d.ts +12 -0
- package/dist/modules/index.js +12 -0
- package/dist/modules/me/index.d.ts +1 -0
- package/dist/modules/me/index.js +1 -0
- package/dist/modules/me/schemas.d.ts +75 -0
- package/dist/modules/me/schemas.js +76 -0
- package/dist/modules/orgs/index.d.ts +1 -0
- package/dist/modules/orgs/index.js +1 -0
- package/dist/modules/orgs/schemas.d.ts +308 -0
- package/dist/modules/orgs/schemas.js +214 -0
- package/dist/modules/personas/index.d.ts +1 -0
- package/dist/modules/personas/index.js +1 -0
- package/dist/modules/personas/schemas.d.ts +170 -0
- package/dist/modules/personas/schemas.js +100 -0
- package/dist/modules/projects/index.d.ts +1 -0
- package/dist/modules/projects/index.js +1 -0
- package/dist/modules/projects/schemas.d.ts +222 -0
- package/dist/modules/projects/schemas.js +145 -0
- package/dist/modules/sessions/index.d.ts +1 -0
- package/dist/modules/sessions/index.js +1 -0
- package/dist/modules/sessions/schemas.d.ts +258 -0
- package/dist/modules/sessions/schemas.js +128 -0
- package/dist/modules/versions/index.d.ts +1 -0
- package/dist/modules/versions/index.js +1 -0
- package/dist/modules/versions/schemas.d.ts +248 -0
- package/dist/modules/versions/schemas.js +155 -0
- package/package.json +106 -0
|
@@ -0,0 +1,258 @@
|
|
|
1
|
+
import { type Static } from "elysia";
|
|
2
|
+
import type { AssertSchemaCompatibleWithRow, AssertTrue } from "../../common";
|
|
3
|
+
/**
|
|
4
|
+
* Base session schema
|
|
5
|
+
* Represents device_sessions table structure
|
|
6
|
+
*/
|
|
7
|
+
export declare const SessionSchema: import("@sinclair/typebox").TObject<{
|
|
8
|
+
id: import("@sinclair/typebox").TString;
|
|
9
|
+
device_id: import("@sinclair/typebox").TString;
|
|
10
|
+
token: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
|
|
11
|
+
version: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
|
|
12
|
+
version_id: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
|
|
13
|
+
version_build_id: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
|
|
14
|
+
os_version: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
|
|
15
|
+
ota_updates_enabled: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TNull]>;
|
|
16
|
+
is_emergency_launch: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TNull]>;
|
|
17
|
+
emergency_launch_reason: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
|
|
18
|
+
is_embedded_launch: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TNull]>;
|
|
19
|
+
ota_update_id: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
|
|
20
|
+
ota_update_runtime_version: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
|
|
21
|
+
ota_update_created_at: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
|
|
22
|
+
metadata: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TUnknown>, import("@sinclair/typebox").TNull]>;
|
|
23
|
+
started_at: import("@sinclair/typebox").TString;
|
|
24
|
+
created_at: import("@sinclair/typebox").TString;
|
|
25
|
+
updated_at: import("@sinclair/typebox").TString;
|
|
26
|
+
}>;
|
|
27
|
+
export type Session = Static<typeof SessionSchema>;
|
|
28
|
+
/**
|
|
29
|
+
* Session with device info for joined queries
|
|
30
|
+
*/
|
|
31
|
+
export declare const SessionWithDeviceSchema: import("@sinclair/typebox").TObject<{
|
|
32
|
+
id: import("@sinclair/typebox").TString;
|
|
33
|
+
created_at: import("@sinclair/typebox").TString;
|
|
34
|
+
updated_at: import("@sinclair/typebox").TString;
|
|
35
|
+
device_id: import("@sinclair/typebox").TString;
|
|
36
|
+
ota_update_id: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
|
|
37
|
+
version_build_id: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
|
|
38
|
+
version_id: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
|
|
39
|
+
started_at: import("@sinclair/typebox").TString;
|
|
40
|
+
os_version: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
|
|
41
|
+
metadata: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TUnknown>, import("@sinclair/typebox").TNull]>;
|
|
42
|
+
version: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
|
|
43
|
+
is_emergency_launch: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TNull]>;
|
|
44
|
+
is_embedded_launch: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TNull]>;
|
|
45
|
+
token: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
|
|
46
|
+
ota_updates_enabled: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TNull]>;
|
|
47
|
+
emergency_launch_reason: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
|
|
48
|
+
ota_update_runtime_version: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
|
|
49
|
+
ota_update_created_at: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
|
|
50
|
+
device: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
|
|
51
|
+
device_id: import("@sinclair/typebox").TString;
|
|
52
|
+
device_name: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
|
|
53
|
+
platform: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
|
|
54
|
+
}>>;
|
|
55
|
+
}>;
|
|
56
|
+
export type SessionWithDevice = Static<typeof SessionWithDeviceSchema>;
|
|
57
|
+
/**
|
|
58
|
+
* Session params schema
|
|
59
|
+
*/
|
|
60
|
+
export declare const SessionParamsSchema: import("@sinclair/typebox").TObject<{
|
|
61
|
+
session_id: import("@sinclair/typebox").TString;
|
|
62
|
+
}>;
|
|
63
|
+
export type SessionParams = Static<typeof SessionParamsSchema>;
|
|
64
|
+
/**
|
|
65
|
+
* Search sessions query schema
|
|
66
|
+
* Supports pagination, search, and sorting
|
|
67
|
+
*/
|
|
68
|
+
export declare const SearchSessionsQuerySchema: import("@sinclair/typebox").TObject<{
|
|
69
|
+
project_id: import("@sinclair/typebox").TString;
|
|
70
|
+
page: import("@sinclair/typebox").TNumber;
|
|
71
|
+
limit: import("@sinclair/typebox").TNumber;
|
|
72
|
+
search: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
73
|
+
sort_by: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"started_at">, import("@sinclair/typebox").TLiteral<"created_at">, import("@sinclair/typebox").TLiteral<"updated_at">, import("@sinclair/typebox").TLiteral<"version">, import("@sinclair/typebox").TLiteral<"os_version">]>;
|
|
74
|
+
sort_order: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"asc">, import("@sinclair/typebox").TLiteral<"desc">]>;
|
|
75
|
+
}>;
|
|
76
|
+
export type SearchSessionsQuery = Static<typeof SearchSessionsQuerySchema>;
|
|
77
|
+
/**
|
|
78
|
+
* Search sessions query schema without project_id (injected from headers)
|
|
79
|
+
*/
|
|
80
|
+
export declare const SearchSessionsQueryParamsSchema: import("@sinclair/typebox").TObject<{
|
|
81
|
+
search: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
82
|
+
limit: import("@sinclair/typebox").TNumber;
|
|
83
|
+
page: import("@sinclair/typebox").TNumber;
|
|
84
|
+
sort_by: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"started_at">, import("@sinclair/typebox").TLiteral<"created_at">, import("@sinclair/typebox").TLiteral<"updated_at">, import("@sinclair/typebox").TLiteral<"version">, import("@sinclair/typebox").TLiteral<"os_version">]>;
|
|
85
|
+
sort_order: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"asc">, import("@sinclair/typebox").TLiteral<"desc">]>;
|
|
86
|
+
}>;
|
|
87
|
+
export type SearchSessionsQueryParams = Static<typeof SearchSessionsQueryParamsSchema>;
|
|
88
|
+
/**
|
|
89
|
+
* Sessions by IDs request schema
|
|
90
|
+
*/
|
|
91
|
+
export declare const SessionsByIdsSchema: import("@sinclair/typebox").TObject<{
|
|
92
|
+
session_ids: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
|
|
93
|
+
}>;
|
|
94
|
+
export type SessionsByIds = Static<typeof SessionsByIdsSchema>;
|
|
95
|
+
/**
|
|
96
|
+
* Paginated sessions response schema
|
|
97
|
+
*/
|
|
98
|
+
export declare const SessionsResponseSchema: import("@sinclair/typebox").TObject<{
|
|
99
|
+
sessions: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
|
|
100
|
+
id: import("@sinclair/typebox").TString;
|
|
101
|
+
created_at: import("@sinclair/typebox").TString;
|
|
102
|
+
updated_at: import("@sinclair/typebox").TString;
|
|
103
|
+
device_id: import("@sinclair/typebox").TString;
|
|
104
|
+
ota_update_id: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
|
|
105
|
+
version_build_id: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
|
|
106
|
+
version_id: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
|
|
107
|
+
started_at: import("@sinclair/typebox").TString;
|
|
108
|
+
os_version: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
|
|
109
|
+
metadata: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TUnknown>, import("@sinclair/typebox").TNull]>;
|
|
110
|
+
version: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
|
|
111
|
+
is_emergency_launch: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TNull]>;
|
|
112
|
+
is_embedded_launch: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TNull]>;
|
|
113
|
+
token: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
|
|
114
|
+
ota_updates_enabled: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TNull]>;
|
|
115
|
+
emergency_launch_reason: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
|
|
116
|
+
ota_update_runtime_version: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
|
|
117
|
+
ota_update_created_at: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
|
|
118
|
+
device: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
|
|
119
|
+
device_id: import("@sinclair/typebox").TString;
|
|
120
|
+
device_name: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
|
|
121
|
+
platform: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
|
|
122
|
+
}>>;
|
|
123
|
+
}>>;
|
|
124
|
+
pagination: import("@sinclair/typebox").TObject<{
|
|
125
|
+
page: import("@sinclair/typebox").TInteger;
|
|
126
|
+
limit: import("@sinclair/typebox").TInteger;
|
|
127
|
+
total: import("@sinclair/typebox").TInteger;
|
|
128
|
+
total_pages: import("@sinclair/typebox").TInteger;
|
|
129
|
+
}>;
|
|
130
|
+
}>;
|
|
131
|
+
export type SessionsResponse = Static<typeof SessionsResponseSchema>;
|
|
132
|
+
/**
|
|
133
|
+
* Single session response schema
|
|
134
|
+
*/
|
|
135
|
+
export declare const SessionResponseSchema: import("@sinclair/typebox").TObject<{
|
|
136
|
+
success: import("@sinclair/typebox").TLiteral<true>;
|
|
137
|
+
data: import("@sinclair/typebox").TObject<{
|
|
138
|
+
id: import("@sinclair/typebox").TString;
|
|
139
|
+
created_at: import("@sinclair/typebox").TString;
|
|
140
|
+
updated_at: import("@sinclair/typebox").TString;
|
|
141
|
+
device_id: import("@sinclair/typebox").TString;
|
|
142
|
+
ota_update_id: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
|
|
143
|
+
version_build_id: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
|
|
144
|
+
version_id: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
|
|
145
|
+
started_at: import("@sinclair/typebox").TString;
|
|
146
|
+
os_version: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
|
|
147
|
+
metadata: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TUnknown>, import("@sinclair/typebox").TNull]>;
|
|
148
|
+
version: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
|
|
149
|
+
is_emergency_launch: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TNull]>;
|
|
150
|
+
is_embedded_launch: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TNull]>;
|
|
151
|
+
token: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
|
|
152
|
+
ota_updates_enabled: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TNull]>;
|
|
153
|
+
emergency_launch_reason: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
|
|
154
|
+
ota_update_runtime_version: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
|
|
155
|
+
ota_update_created_at: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
|
|
156
|
+
device: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
|
|
157
|
+
device_id: import("@sinclair/typebox").TString;
|
|
158
|
+
device_name: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
|
|
159
|
+
platform: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
|
|
160
|
+
}>>;
|
|
161
|
+
}>;
|
|
162
|
+
}>;
|
|
163
|
+
export type SessionResponse = Static<typeof SessionResponseSchema>;
|
|
164
|
+
/**
|
|
165
|
+
* Session error response schema
|
|
166
|
+
* Discriminated union by error code
|
|
167
|
+
*/
|
|
168
|
+
export declare const SessionErrorSchema: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
|
|
169
|
+
code: import("@sinclair/typebox").TLiteral<"SESSION_NOT_FOUND">;
|
|
170
|
+
message: import("@sinclair/typebox").TString;
|
|
171
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
172
|
+
code: import("@sinclair/typebox").TLiteral<"PROJECT_NOT_FOUND">;
|
|
173
|
+
message: import("@sinclair/typebox").TString;
|
|
174
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
175
|
+
code: import("@sinclair/typebox").TLiteral<"FORBIDDEN">;
|
|
176
|
+
message: import("@sinclair/typebox").TString;
|
|
177
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
178
|
+
code: import("@sinclair/typebox").TLiteral<"FETCH_FAILED">;
|
|
179
|
+
message: import("@sinclair/typebox").TString;
|
|
180
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
181
|
+
code: import("@sinclair/typebox").TLiteral<"INVALID_PARAMS">;
|
|
182
|
+
message: import("@sinclair/typebox").TString;
|
|
183
|
+
}>]>;
|
|
184
|
+
export type SessionError = Static<typeof SessionErrorSchema>;
|
|
185
|
+
/**
|
|
186
|
+
* Session error response wrapper
|
|
187
|
+
*/
|
|
188
|
+
export declare const SessionErrorResponseSchema: import("@sinclair/typebox").TObject<{
|
|
189
|
+
success: import("@sinclair/typebox").TLiteral<false>;
|
|
190
|
+
error: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
|
|
191
|
+
code: import("@sinclair/typebox").TLiteral<"SESSION_NOT_FOUND">;
|
|
192
|
+
message: import("@sinclair/typebox").TString;
|
|
193
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
194
|
+
code: import("@sinclair/typebox").TLiteral<"PROJECT_NOT_FOUND">;
|
|
195
|
+
message: import("@sinclair/typebox").TString;
|
|
196
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
197
|
+
code: import("@sinclair/typebox").TLiteral<"FORBIDDEN">;
|
|
198
|
+
message: import("@sinclair/typebox").TString;
|
|
199
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
200
|
+
code: import("@sinclair/typebox").TLiteral<"FETCH_FAILED">;
|
|
201
|
+
message: import("@sinclair/typebox").TString;
|
|
202
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
203
|
+
code: import("@sinclair/typebox").TLiteral<"INVALID_PARAMS">;
|
|
204
|
+
message: import("@sinclair/typebox").TString;
|
|
205
|
+
}>]>;
|
|
206
|
+
}>;
|
|
207
|
+
export type SessionErrorResponse = Static<typeof SessionErrorResponseSchema>;
|
|
208
|
+
/**
|
|
209
|
+
* Session request response schema
|
|
210
|
+
*/
|
|
211
|
+
export declare const SessionRequestResponseSchema: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
|
|
212
|
+
success: import("@sinclair/typebox").TLiteral<true>;
|
|
213
|
+
data: import("@sinclair/typebox").TObject<{
|
|
214
|
+
id: import("@sinclair/typebox").TString;
|
|
215
|
+
created_at: import("@sinclair/typebox").TString;
|
|
216
|
+
updated_at: import("@sinclair/typebox").TString;
|
|
217
|
+
device_id: import("@sinclair/typebox").TString;
|
|
218
|
+
ota_update_id: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
|
|
219
|
+
version_build_id: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
|
|
220
|
+
version_id: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
|
|
221
|
+
started_at: import("@sinclair/typebox").TString;
|
|
222
|
+
os_version: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
|
|
223
|
+
metadata: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TUnknown>, import("@sinclair/typebox").TNull]>;
|
|
224
|
+
version: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
|
|
225
|
+
is_emergency_launch: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TNull]>;
|
|
226
|
+
is_embedded_launch: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TNull]>;
|
|
227
|
+
token: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
|
|
228
|
+
ota_updates_enabled: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TNull]>;
|
|
229
|
+
emergency_launch_reason: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
|
|
230
|
+
ota_update_runtime_version: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
|
|
231
|
+
ota_update_created_at: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
|
|
232
|
+
device: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
|
|
233
|
+
device_id: import("@sinclair/typebox").TString;
|
|
234
|
+
device_name: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
|
|
235
|
+
platform: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
|
|
236
|
+
}>>;
|
|
237
|
+
}>;
|
|
238
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
239
|
+
success: import("@sinclair/typebox").TLiteral<false>;
|
|
240
|
+
error: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
|
|
241
|
+
code: import("@sinclair/typebox").TLiteral<"SESSION_NOT_FOUND">;
|
|
242
|
+
message: import("@sinclair/typebox").TString;
|
|
243
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
244
|
+
code: import("@sinclair/typebox").TLiteral<"PROJECT_NOT_FOUND">;
|
|
245
|
+
message: import("@sinclair/typebox").TString;
|
|
246
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
247
|
+
code: import("@sinclair/typebox").TLiteral<"FORBIDDEN">;
|
|
248
|
+
message: import("@sinclair/typebox").TString;
|
|
249
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
250
|
+
code: import("@sinclair/typebox").TLiteral<"FETCH_FAILED">;
|
|
251
|
+
message: import("@sinclair/typebox").TString;
|
|
252
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
253
|
+
code: import("@sinclair/typebox").TLiteral<"INVALID_PARAMS">;
|
|
254
|
+
message: import("@sinclair/typebox").TString;
|
|
255
|
+
}>]>;
|
|
256
|
+
}>]>;
|
|
257
|
+
export type SessionRequestResponse = Static<typeof SessionRequestResponseSchema>;
|
|
258
|
+
export type _CheckSessionRow = AssertTrue<AssertSchemaCompatibleWithRow<Session, "device_sessions">>;
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
import { t } from "elysia";
|
|
2
|
+
/**
|
|
3
|
+
* Base session schema
|
|
4
|
+
* Represents device_sessions table structure
|
|
5
|
+
*/
|
|
6
|
+
export const SessionSchema = t.Object({
|
|
7
|
+
id: t.String({ format: "uuid" }),
|
|
8
|
+
device_id: t.String({ format: "uuid" }),
|
|
9
|
+
token: t.Union([t.String(), t.Null()]),
|
|
10
|
+
version: t.Union([t.String(), t.Null()]),
|
|
11
|
+
version_id: t.Union([t.String({ format: "uuid" }), t.Null()]),
|
|
12
|
+
version_build_id: t.Union([t.String({ format: "uuid" }), t.Null()]),
|
|
13
|
+
os_version: t.Union([t.String(), t.Null()]),
|
|
14
|
+
ota_updates_enabled: t.Union([t.Boolean(), t.Null()]),
|
|
15
|
+
is_emergency_launch: t.Union([t.Boolean(), t.Null()]),
|
|
16
|
+
emergency_launch_reason: t.Union([t.String(), t.Null()]),
|
|
17
|
+
is_embedded_launch: t.Union([t.Boolean(), t.Null()]),
|
|
18
|
+
ota_update_id: t.Union([t.String({ format: "uuid" }), t.Null()]),
|
|
19
|
+
ota_update_runtime_version: t.Union([t.String(), t.Null()]),
|
|
20
|
+
ota_update_created_at: t.Union([t.String(), t.Null()]),
|
|
21
|
+
metadata: t.Union([t.Record(t.String(), t.Unknown()), t.Null()]),
|
|
22
|
+
started_at: t.String(),
|
|
23
|
+
created_at: t.String(),
|
|
24
|
+
updated_at: t.String(),
|
|
25
|
+
});
|
|
26
|
+
/**
|
|
27
|
+
* Session with device info for joined queries
|
|
28
|
+
*/
|
|
29
|
+
export const SessionWithDeviceSchema = t.Composite([
|
|
30
|
+
SessionSchema,
|
|
31
|
+
t.Object({
|
|
32
|
+
device: t.Optional(t.Object({
|
|
33
|
+
device_id: t.String(),
|
|
34
|
+
device_name: t.Union([t.String(), t.Null()]),
|
|
35
|
+
platform: t.Union([t.String(), t.Null()]),
|
|
36
|
+
})),
|
|
37
|
+
}),
|
|
38
|
+
]);
|
|
39
|
+
/**
|
|
40
|
+
* Session params schema
|
|
41
|
+
*/
|
|
42
|
+
export const SessionParamsSchema = t.Object({
|
|
43
|
+
session_id: t.String({ format: "uuid" }),
|
|
44
|
+
});
|
|
45
|
+
/**
|
|
46
|
+
* Search sessions query schema
|
|
47
|
+
* Supports pagination, search, and sorting
|
|
48
|
+
*/
|
|
49
|
+
export const SearchSessionsQuerySchema = t.Object({
|
|
50
|
+
project_id: t.String({ format: "uuid" }),
|
|
51
|
+
page: t.Numeric({ minimum: 1, default: 1 }),
|
|
52
|
+
limit: t.Numeric({ minimum: 1, maximum: 100, default: 20 }),
|
|
53
|
+
search: t.Optional(t.String()),
|
|
54
|
+
sort_by: t.Union([
|
|
55
|
+
t.Literal("started_at"),
|
|
56
|
+
t.Literal("created_at"),
|
|
57
|
+
t.Literal("updated_at"),
|
|
58
|
+
t.Literal("version"),
|
|
59
|
+
t.Literal("os_version"),
|
|
60
|
+
], { default: "started_at" }),
|
|
61
|
+
sort_order: t.Union([t.Literal("asc"), t.Literal("desc")], { default: "desc" }),
|
|
62
|
+
});
|
|
63
|
+
/**
|
|
64
|
+
* Search sessions query schema without project_id (injected from headers)
|
|
65
|
+
*/
|
|
66
|
+
export const SearchSessionsQueryParamsSchema = t.Omit(SearchSessionsQuerySchema, ["project_id"]);
|
|
67
|
+
/**
|
|
68
|
+
* Sessions by IDs request schema
|
|
69
|
+
*/
|
|
70
|
+
export const SessionsByIdsSchema = t.Object({
|
|
71
|
+
session_ids: t.Array(t.String({ format: "uuid" }), { minItems: 1, maxItems: 100 }),
|
|
72
|
+
});
|
|
73
|
+
/**
|
|
74
|
+
* Paginated sessions response schema
|
|
75
|
+
*/
|
|
76
|
+
export const SessionsResponseSchema = t.Object({
|
|
77
|
+
sessions: t.Array(SessionWithDeviceSchema),
|
|
78
|
+
pagination: t.Object({
|
|
79
|
+
page: t.Integer({ minimum: 1 }),
|
|
80
|
+
limit: t.Integer({ minimum: 1 }),
|
|
81
|
+
total: t.Integer({ minimum: 0 }),
|
|
82
|
+
total_pages: t.Integer({ minimum: 0 }),
|
|
83
|
+
}),
|
|
84
|
+
});
|
|
85
|
+
/**
|
|
86
|
+
* Single session response schema
|
|
87
|
+
*/
|
|
88
|
+
export const SessionResponseSchema = t.Object({
|
|
89
|
+
success: t.Literal(true),
|
|
90
|
+
data: SessionWithDeviceSchema,
|
|
91
|
+
});
|
|
92
|
+
/**
|
|
93
|
+
* Session error response schema
|
|
94
|
+
* Discriminated union by error code
|
|
95
|
+
*/
|
|
96
|
+
export const SessionErrorSchema = t.Union([
|
|
97
|
+
t.Object({
|
|
98
|
+
code: t.Literal("SESSION_NOT_FOUND"),
|
|
99
|
+
message: t.String(),
|
|
100
|
+
}),
|
|
101
|
+
t.Object({
|
|
102
|
+
code: t.Literal("PROJECT_NOT_FOUND"),
|
|
103
|
+
message: t.String(),
|
|
104
|
+
}),
|
|
105
|
+
t.Object({
|
|
106
|
+
code: t.Literal("FORBIDDEN"),
|
|
107
|
+
message: t.String(),
|
|
108
|
+
}),
|
|
109
|
+
t.Object({
|
|
110
|
+
code: t.Literal("FETCH_FAILED"),
|
|
111
|
+
message: t.String(),
|
|
112
|
+
}),
|
|
113
|
+
t.Object({
|
|
114
|
+
code: t.Literal("INVALID_PARAMS"),
|
|
115
|
+
message: t.String(),
|
|
116
|
+
}),
|
|
117
|
+
]);
|
|
118
|
+
/**
|
|
119
|
+
* Session error response wrapper
|
|
120
|
+
*/
|
|
121
|
+
export const SessionErrorResponseSchema = t.Object({
|
|
122
|
+
success: t.Literal(false),
|
|
123
|
+
error: SessionErrorSchema,
|
|
124
|
+
});
|
|
125
|
+
/**
|
|
126
|
+
* Session request response schema
|
|
127
|
+
*/
|
|
128
|
+
export const SessionRequestResponseSchema = t.Union([SessionResponseSchema, SessionErrorResponseSchema]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./schemas";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./schemas";
|
|
@@ -0,0 +1,248 @@
|
|
|
1
|
+
import { VersionBuildStatusEnum } from "@teardown/types";
|
|
2
|
+
import { type Static } from "elysia";
|
|
3
|
+
import type { AssertSchemaCompatibleWithRow, AssertTrue } from "../../common";
|
|
4
|
+
/**
|
|
5
|
+
* Version status enum matching database
|
|
6
|
+
*/
|
|
7
|
+
export declare const VersionBuildStatusSchema: import("@sinclair/typebox").TEnum<typeof VersionBuildStatusEnum>;
|
|
8
|
+
export type VersionBuildStatus = Static<typeof VersionBuildStatusSchema>;
|
|
9
|
+
/**
|
|
10
|
+
* Parse and validate a VersionBuildStatusEnum value
|
|
11
|
+
* Uses a switch statement to ensure type safety and runtime validation
|
|
12
|
+
* @param value - The value to parse
|
|
13
|
+
* @returns The validated VersionBuildStatusEnum value
|
|
14
|
+
* @throws Error if the value is not a valid VersionBuildStatusEnum
|
|
15
|
+
*/
|
|
16
|
+
export declare function parseVersionStatusEnum(value: unknown): VersionBuildStatusEnum;
|
|
17
|
+
/**
|
|
18
|
+
* Base version schema
|
|
19
|
+
* Represents project_versions table structure
|
|
20
|
+
*/
|
|
21
|
+
export declare const VersionSchema: import("@sinclair/typebox").TObject<{
|
|
22
|
+
id: import("@sinclair/typebox").TString;
|
|
23
|
+
project_id: import("@sinclair/typebox").TString;
|
|
24
|
+
name: import("@sinclair/typebox").TString;
|
|
25
|
+
major: import("@sinclair/typebox").TNumber;
|
|
26
|
+
minor: import("@sinclair/typebox").TNumber;
|
|
27
|
+
patch: import("@sinclair/typebox").TNumber;
|
|
28
|
+
status: import("@sinclair/typebox").TEnum<typeof VersionBuildStatusEnum>;
|
|
29
|
+
created_at: import("@sinclair/typebox").TString;
|
|
30
|
+
updated_at: import("@sinclair/typebox").TString;
|
|
31
|
+
}>;
|
|
32
|
+
export type Version = Static<typeof VersionSchema>;
|
|
33
|
+
/**
|
|
34
|
+
* Version params schema
|
|
35
|
+
*/
|
|
36
|
+
export declare const VersionParamsSchema: import("@sinclair/typebox").TObject<{
|
|
37
|
+
version_id: import("@sinclair/typebox").TString;
|
|
38
|
+
}>;
|
|
39
|
+
export type VersionParams = Static<typeof VersionParamsSchema>;
|
|
40
|
+
/**
|
|
41
|
+
* Search versions query schema
|
|
42
|
+
* Supports pagination, search, and sorting
|
|
43
|
+
*/
|
|
44
|
+
export declare const SearchVersionsQuerySchema: import("@sinclair/typebox").TObject<{
|
|
45
|
+
project_id: import("@sinclair/typebox").TString;
|
|
46
|
+
page: import("@sinclair/typebox").TNumber;
|
|
47
|
+
limit: import("@sinclair/typebox").TNumber;
|
|
48
|
+
search: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
49
|
+
sort_by: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"created_at">, import("@sinclair/typebox").TLiteral<"updated_at">, import("@sinclair/typebox").TLiteral<"name">, import("@sinclair/typebox").TLiteral<"major">, import("@sinclair/typebox").TLiteral<"minor">, import("@sinclair/typebox").TLiteral<"patch">]>;
|
|
50
|
+
sort_order: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"asc">, import("@sinclair/typebox").TLiteral<"desc">]>;
|
|
51
|
+
}>;
|
|
52
|
+
export type SearchVersionsQuery = Static<typeof SearchVersionsQuerySchema>;
|
|
53
|
+
/**
|
|
54
|
+
* Search versions query schema without project_id (injected from headers)
|
|
55
|
+
*/
|
|
56
|
+
export declare const SearchVersionsQueryParamsSchema: import("@sinclair/typebox").TObject<{
|
|
57
|
+
search: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
58
|
+
limit: import("@sinclair/typebox").TNumber;
|
|
59
|
+
page: import("@sinclair/typebox").TNumber;
|
|
60
|
+
sort_by: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"created_at">, import("@sinclair/typebox").TLiteral<"updated_at">, import("@sinclair/typebox").TLiteral<"name">, import("@sinclair/typebox").TLiteral<"major">, import("@sinclair/typebox").TLiteral<"minor">, import("@sinclair/typebox").TLiteral<"patch">]>;
|
|
61
|
+
sort_order: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"asc">, import("@sinclair/typebox").TLiteral<"desc">]>;
|
|
62
|
+
}>;
|
|
63
|
+
export type SearchVersionsQueryParams = Static<typeof SearchVersionsQueryParamsSchema>;
|
|
64
|
+
/**
|
|
65
|
+
* Versions by IDs request schema
|
|
66
|
+
*/
|
|
67
|
+
export declare const VersionsByIdsSchema: import("@sinclair/typebox").TObject<{
|
|
68
|
+
version_ids: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
|
|
69
|
+
}>;
|
|
70
|
+
export type VersionsByIds = Static<typeof VersionsByIdsSchema>;
|
|
71
|
+
/**
|
|
72
|
+
* Paginated versions response schema
|
|
73
|
+
*/
|
|
74
|
+
export declare const VersionsResponseSchema: import("@sinclair/typebox").TObject<{
|
|
75
|
+
versions: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
|
|
76
|
+
id: import("@sinclair/typebox").TString;
|
|
77
|
+
project_id: import("@sinclair/typebox").TString;
|
|
78
|
+
name: import("@sinclair/typebox").TString;
|
|
79
|
+
major: import("@sinclair/typebox").TNumber;
|
|
80
|
+
minor: import("@sinclair/typebox").TNumber;
|
|
81
|
+
patch: import("@sinclair/typebox").TNumber;
|
|
82
|
+
status: import("@sinclair/typebox").TEnum<typeof VersionBuildStatusEnum>;
|
|
83
|
+
created_at: import("@sinclair/typebox").TString;
|
|
84
|
+
updated_at: import("@sinclair/typebox").TString;
|
|
85
|
+
}>>;
|
|
86
|
+
pagination: import("@sinclair/typebox").TObject<{
|
|
87
|
+
page: import("@sinclair/typebox").TInteger;
|
|
88
|
+
limit: import("@sinclair/typebox").TInteger;
|
|
89
|
+
total: import("@sinclair/typebox").TInteger;
|
|
90
|
+
total_pages: import("@sinclair/typebox").TInteger;
|
|
91
|
+
}>;
|
|
92
|
+
}>;
|
|
93
|
+
export type VersionsResponse = Static<typeof VersionsResponseSchema>;
|
|
94
|
+
/**
|
|
95
|
+
* Single version response schema
|
|
96
|
+
*/
|
|
97
|
+
export declare const VersionResponseSchema: import("@sinclair/typebox").TObject<{
|
|
98
|
+
success: import("@sinclair/typebox").TLiteral<true>;
|
|
99
|
+
data: import("@sinclair/typebox").TObject<{
|
|
100
|
+
id: import("@sinclair/typebox").TString;
|
|
101
|
+
project_id: import("@sinclair/typebox").TString;
|
|
102
|
+
name: import("@sinclair/typebox").TString;
|
|
103
|
+
major: import("@sinclair/typebox").TNumber;
|
|
104
|
+
minor: import("@sinclair/typebox").TNumber;
|
|
105
|
+
patch: import("@sinclair/typebox").TNumber;
|
|
106
|
+
status: import("@sinclair/typebox").TEnum<typeof VersionBuildStatusEnum>;
|
|
107
|
+
created_at: import("@sinclair/typebox").TString;
|
|
108
|
+
updated_at: import("@sinclair/typebox").TString;
|
|
109
|
+
}>;
|
|
110
|
+
}>;
|
|
111
|
+
export type VersionResponse = Static<typeof VersionResponseSchema>;
|
|
112
|
+
/**
|
|
113
|
+
* Version error response schema
|
|
114
|
+
* Discriminated union by error code
|
|
115
|
+
*/
|
|
116
|
+
export declare const VersionErrorSchema: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
|
|
117
|
+
code: import("@sinclair/typebox").TLiteral<"VERSION_NOT_FOUND">;
|
|
118
|
+
message: import("@sinclair/typebox").TString;
|
|
119
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
120
|
+
code: import("@sinclair/typebox").TLiteral<"PROJECT_NOT_FOUND">;
|
|
121
|
+
message: import("@sinclair/typebox").TString;
|
|
122
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
123
|
+
code: import("@sinclair/typebox").TLiteral<"FORBIDDEN">;
|
|
124
|
+
message: import("@sinclair/typebox").TString;
|
|
125
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
126
|
+
code: import("@sinclair/typebox").TLiteral<"FETCH_FAILED">;
|
|
127
|
+
message: import("@sinclair/typebox").TString;
|
|
128
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
129
|
+
code: import("@sinclair/typebox").TLiteral<"INVALID_PARAMS">;
|
|
130
|
+
message: import("@sinclair/typebox").TString;
|
|
131
|
+
}>]>;
|
|
132
|
+
export type VersionError = Static<typeof VersionErrorSchema>;
|
|
133
|
+
/**
|
|
134
|
+
* Version error response wrapper
|
|
135
|
+
*/
|
|
136
|
+
export declare const VersionErrorResponseSchema: import("@sinclair/typebox").TObject<{
|
|
137
|
+
success: import("@sinclair/typebox").TLiteral<false>;
|
|
138
|
+
error: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
|
|
139
|
+
code: import("@sinclair/typebox").TLiteral<"VERSION_NOT_FOUND">;
|
|
140
|
+
message: import("@sinclair/typebox").TString;
|
|
141
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
142
|
+
code: import("@sinclair/typebox").TLiteral<"PROJECT_NOT_FOUND">;
|
|
143
|
+
message: import("@sinclair/typebox").TString;
|
|
144
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
145
|
+
code: import("@sinclair/typebox").TLiteral<"FORBIDDEN">;
|
|
146
|
+
message: import("@sinclair/typebox").TString;
|
|
147
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
148
|
+
code: import("@sinclair/typebox").TLiteral<"FETCH_FAILED">;
|
|
149
|
+
message: import("@sinclair/typebox").TString;
|
|
150
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
151
|
+
code: import("@sinclair/typebox").TLiteral<"INVALID_PARAMS">;
|
|
152
|
+
message: import("@sinclair/typebox").TString;
|
|
153
|
+
}>]>;
|
|
154
|
+
}>;
|
|
155
|
+
export type VersionErrorResponse = Static<typeof VersionErrorResponseSchema>;
|
|
156
|
+
/**
|
|
157
|
+
* Version request response schema
|
|
158
|
+
*/
|
|
159
|
+
export declare const VersionRequestResponseSchema: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
|
|
160
|
+
success: import("@sinclair/typebox").TLiteral<true>;
|
|
161
|
+
data: import("@sinclair/typebox").TObject<{
|
|
162
|
+
id: import("@sinclair/typebox").TString;
|
|
163
|
+
project_id: import("@sinclair/typebox").TString;
|
|
164
|
+
name: import("@sinclair/typebox").TString;
|
|
165
|
+
major: import("@sinclair/typebox").TNumber;
|
|
166
|
+
minor: import("@sinclair/typebox").TNumber;
|
|
167
|
+
patch: import("@sinclair/typebox").TNumber;
|
|
168
|
+
status: import("@sinclair/typebox").TEnum<typeof VersionBuildStatusEnum>;
|
|
169
|
+
created_at: import("@sinclair/typebox").TString;
|
|
170
|
+
updated_at: import("@sinclair/typebox").TString;
|
|
171
|
+
}>;
|
|
172
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
173
|
+
success: import("@sinclair/typebox").TLiteral<false>;
|
|
174
|
+
error: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
|
|
175
|
+
code: import("@sinclair/typebox").TLiteral<"VERSION_NOT_FOUND">;
|
|
176
|
+
message: import("@sinclair/typebox").TString;
|
|
177
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
178
|
+
code: import("@sinclair/typebox").TLiteral<"PROJECT_NOT_FOUND">;
|
|
179
|
+
message: import("@sinclair/typebox").TString;
|
|
180
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
181
|
+
code: import("@sinclair/typebox").TLiteral<"FORBIDDEN">;
|
|
182
|
+
message: import("@sinclair/typebox").TString;
|
|
183
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
184
|
+
code: import("@sinclair/typebox").TLiteral<"FETCH_FAILED">;
|
|
185
|
+
message: import("@sinclair/typebox").TString;
|
|
186
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
187
|
+
code: import("@sinclair/typebox").TLiteral<"INVALID_PARAMS">;
|
|
188
|
+
message: import("@sinclair/typebox").TString;
|
|
189
|
+
}>]>;
|
|
190
|
+
}>]>;
|
|
191
|
+
export type VersionRequestResponse = Static<typeof VersionRequestResponseSchema>;
|
|
192
|
+
export type _CheckVersionRow = AssertTrue<AssertSchemaCompatibleWithRow<Version, "project_versions">>;
|
|
193
|
+
/**
|
|
194
|
+
* Update version status request body schema
|
|
195
|
+
*/
|
|
196
|
+
export declare const UpdateVersionStatusBodySchema: import("@sinclair/typebox").TObject<{
|
|
197
|
+
status: import("@sinclair/typebox").TEnum<typeof VersionBuildStatusEnum>;
|
|
198
|
+
}>;
|
|
199
|
+
export type UpdateVersionStatusBody = Static<typeof UpdateVersionStatusBodySchema>;
|
|
200
|
+
/**
|
|
201
|
+
* Add UPDATE_FAILED error code for update operations
|
|
202
|
+
*/
|
|
203
|
+
export declare const VersionErrorSchemaWithUpdate: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
|
|
204
|
+
code: import("@sinclair/typebox").TLiteral<"VERSION_NOT_FOUND">;
|
|
205
|
+
message: import("@sinclair/typebox").TString;
|
|
206
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
207
|
+
code: import("@sinclair/typebox").TLiteral<"PROJECT_NOT_FOUND">;
|
|
208
|
+
message: import("@sinclair/typebox").TString;
|
|
209
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
210
|
+
code: import("@sinclair/typebox").TLiteral<"FORBIDDEN">;
|
|
211
|
+
message: import("@sinclair/typebox").TString;
|
|
212
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
213
|
+
code: import("@sinclair/typebox").TLiteral<"FETCH_FAILED">;
|
|
214
|
+
message: import("@sinclair/typebox").TString;
|
|
215
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
216
|
+
code: import("@sinclair/typebox").TLiteral<"INVALID_PARAMS">;
|
|
217
|
+
message: import("@sinclair/typebox").TString;
|
|
218
|
+
}>]>, import("@sinclair/typebox").TObject<{
|
|
219
|
+
code: import("@sinclair/typebox").TLiteral<"UPDATE_FAILED">;
|
|
220
|
+
message: import("@sinclair/typebox").TString;
|
|
221
|
+
}>]>;
|
|
222
|
+
export type VersionErrorWithUpdate = Static<typeof VersionErrorSchemaWithUpdate>;
|
|
223
|
+
/**
|
|
224
|
+
* Version error response wrapper with update error
|
|
225
|
+
*/
|
|
226
|
+
export declare const VersionErrorResponseWithUpdateSchema: import("@sinclair/typebox").TObject<{
|
|
227
|
+
success: import("@sinclair/typebox").TLiteral<false>;
|
|
228
|
+
error: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
|
|
229
|
+
code: import("@sinclair/typebox").TLiteral<"VERSION_NOT_FOUND">;
|
|
230
|
+
message: import("@sinclair/typebox").TString;
|
|
231
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
232
|
+
code: import("@sinclair/typebox").TLiteral<"PROJECT_NOT_FOUND">;
|
|
233
|
+
message: import("@sinclair/typebox").TString;
|
|
234
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
235
|
+
code: import("@sinclair/typebox").TLiteral<"FORBIDDEN">;
|
|
236
|
+
message: import("@sinclair/typebox").TString;
|
|
237
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
238
|
+
code: import("@sinclair/typebox").TLiteral<"FETCH_FAILED">;
|
|
239
|
+
message: import("@sinclair/typebox").TString;
|
|
240
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
241
|
+
code: import("@sinclair/typebox").TLiteral<"INVALID_PARAMS">;
|
|
242
|
+
message: import("@sinclair/typebox").TString;
|
|
243
|
+
}>]>, import("@sinclair/typebox").TObject<{
|
|
244
|
+
code: import("@sinclair/typebox").TLiteral<"UPDATE_FAILED">;
|
|
245
|
+
message: import("@sinclair/typebox").TString;
|
|
246
|
+
}>]>;
|
|
247
|
+
}>;
|
|
248
|
+
export type VersionErrorResponseWithUpdate = Static<typeof VersionErrorResponseWithUpdateSchema>;
|