@giveitsmaller/contracts 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.
Files changed (89) hide show
  1. package/asyncapi/ErrorCode.ts +19 -0
  2. package/asyncapi/MergeOutputType.ts +9 -0
  3. package/asyncapi/NotificationsOperationsQueue.ts +4 -0
  4. package/asyncapi/OperationMetrics.ts +12 -0
  5. package/asyncapi/OperationProgress.ts +12 -0
  6. package/asyncapi/OperationRequest.ts +21 -0
  7. package/asyncapi/OperationResult.ts +20 -0
  8. package/asyncapi/OperationType.ts +10 -0
  9. package/asyncapi/ProgressStatus.ts +8 -0
  10. package/asyncapi/README.md +16 -0
  11. package/asyncapi/ResultStatus.ts +6 -0
  12. package/asyncapi/SourceEntry.ts +9 -0
  13. package/asyncapi/index.ts +11 -0
  14. package/index.ts +5 -0
  15. package/openapi/.openapi-generator-ignore +26 -0
  16. package/openapi/README.md +17 -0
  17. package/openapi/index.ts +4 -0
  18. package/openapi/models/CallbackEventType.ts +60 -0
  19. package/openapi/models/ContactRequest.ts +113 -0
  20. package/openapi/models/ContactSubject.ts +62 -0
  21. package/openapi/models/ContactValidationErrorResponse.ts +67 -0
  22. package/openapi/models/ErrorEnvelope.ts +85 -0
  23. package/openapi/models/ExportConfig.ts +108 -0
  24. package/openapi/models/JobDefinition.ts +56 -0
  25. package/openapi/models/JobDownload.ts +92 -0
  26. package/openapi/models/JobInput.ts +89 -0
  27. package/openapi/models/JobResponse.ts +119 -0
  28. package/openapi/models/JobSource.ts +79 -0
  29. package/openapi/models/JobStatus.ts +62 -0
  30. package/openapi/models/JobType.ts +60 -0
  31. package/openapi/models/LivenessResponse.ts +66 -0
  32. package/openapi/models/MetadataResponse.ts +223 -0
  33. package/openapi/models/MetadataResponseDimensions.ts +73 -0
  34. package/openapi/models/MetadataResponseExif.ts +97 -0
  35. package/openapi/models/MetadataResponseExifGps.ts +73 -0
  36. package/openapi/models/MetadataSuccessEnvelope.ts +93 -0
  37. package/openapi/models/MimeGroupSchema.ts +91 -0
  38. package/openapi/models/MultipartCompleteRequest.ts +85 -0
  39. package/openapi/models/MultipartCompleteRequestPartsInner.ts +75 -0
  40. package/openapi/models/MultipartInitiateResponse.ts +137 -0
  41. package/openapi/models/MultipartInitiateSuccessEnvelope.ts +93 -0
  42. package/openapi/models/OperationDefinition.ts +91 -0
  43. package/openapi/models/OperationDownload.ts +102 -0
  44. package/openapi/models/OperationInputModel.ts +56 -0
  45. package/openapi/models/OperationResponse.ts +124 -0
  46. package/openapi/models/OperationResult.ts +100 -0
  47. package/openapi/models/OperationResultMetrics.ts +73 -0
  48. package/openapi/models/OperationSchemaDefinition.ts +163 -0
  49. package/openapi/models/OperationStatus.ts +62 -0
  50. package/openapi/models/OperationType.ts +64 -0
  51. package/openapi/models/OperationsSchemaResponse.ts +90 -0
  52. package/openapi/models/OptionSchema.ts +160 -0
  53. package/openapi/models/PresignedUrlPart.ts +86 -0
  54. package/openapi/models/ReadinessResponse.ts +73 -0
  55. package/openapi/models/ResponseEnvelope.ts +70 -0
  56. package/openapi/models/RetryResponse.ts +94 -0
  57. package/openapi/models/RetrySuccessEnvelope.ts +93 -0
  58. package/openapi/models/SseEventType.ts +68 -0
  59. package/openapi/models/SseJobCompletedData.ts +94 -0
  60. package/openapi/models/SseJobFailedData.ts +94 -0
  61. package/openapi/models/SseOperationCompletedData.ts +143 -0
  62. package/openapi/models/SseOperationFailedData.ts +129 -0
  63. package/openapi/models/SseOperationProgressData.ts +103 -0
  64. package/openapi/models/SseWorkflowTerminalData.ts +89 -0
  65. package/openapi/models/UploadResponse.ts +93 -0
  66. package/openapi/models/UploadSuccessEnvelope.ts +93 -0
  67. package/openapi/models/ValidationErrorEnvelope.ts +104 -0
  68. package/openapi/models/ValidationErrorEnvelopeDetailsInner.ts +90 -0
  69. package/openapi/models/WebhookOperationContext.ts +77 -0
  70. package/openapi/models/WebhookPayload.ts +132 -0
  71. package/openapi/models/WorkflowCreateRequest.ts +143 -0
  72. package/openapi/models/WorkflowCreateResponse.ts +114 -0
  73. package/openapi/models/WorkflowCreateSuccessEnvelope.ts +93 -0
  74. package/openapi/models/WorkflowDownloadResponse.ts +74 -0
  75. package/openapi/models/WorkflowDownloadSuccessEnvelope.ts +93 -0
  76. package/openapi/models/WorkflowEdge.ts +77 -0
  77. package/openapi/models/WorkflowStatus.ts +62 -0
  78. package/openapi/models/WorkflowStatusResponse.ts +101 -0
  79. package/openapi/models/WorkflowStatusSuccessEnvelope.ts +93 -0
  80. package/openapi/models/index.ts +64 -0
  81. package/openapi/runtime.ts +432 -0
  82. package/operations/README.md +17 -0
  83. package/operations/archive.ts +16 -0
  84. package/operations/compress.ts +177 -0
  85. package/operations/convert.ts +69 -0
  86. package/operations/index.ts +7 -0
  87. package/operations/merge.ts +95 -0
  88. package/operations/thumbnail.ts +66 -0
  89. package/package.json +19 -0
@@ -0,0 +1,66 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * GISL Compression API
5
+ * REST API for the GISL (Give It Smaller) file compression and processing service. **Architecture:** - Upload files to get a `file_id` - Create workflows referencing uploaded files with operations (compress, thumbnail, watermark, merge, archive, convert) - Poll status, stream SSE events, or receive webhook callbacks - Download results per operation output **Response envelope:** All mutation and query endpoints return `{ success: true, data: {...} }` on success and `{ success: false, error: \"...\", details: [...] }` on failure. Exceptions: `GET /api/operations/schema` returns raw JSON (CDN-cacheable), health probes return flat objects, and `POST /api/contact` returns 204 with no body.
6
+ *
7
+ * The version of the OpenAPI document: 2.0.0
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+ import { mapValues } from '../runtime';
16
+ /**
17
+ *
18
+ * @export
19
+ * @interface LivenessResponse
20
+ */
21
+ export interface LivenessResponse {
22
+ /**
23
+ * Application is running
24
+ * @type {boolean}
25
+ * @memberof LivenessResponse
26
+ */
27
+ app: boolean;
28
+ }
29
+
30
+ /**
31
+ * Check if a given object implements the LivenessResponse interface.
32
+ */
33
+ export function instanceOfLivenessResponse(value: object): value is LivenessResponse {
34
+ if (!('app' in value) || value['app'] === undefined) return false;
35
+ return true;
36
+ }
37
+
38
+ export function LivenessResponseFromJSON(json: any): LivenessResponse {
39
+ return LivenessResponseFromJSONTyped(json, false);
40
+ }
41
+
42
+ export function LivenessResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): LivenessResponse {
43
+ if (json == null) {
44
+ return json;
45
+ }
46
+ return {
47
+
48
+ 'app': json['app'],
49
+ };
50
+ }
51
+
52
+ export function LivenessResponseToJSON(json: any): LivenessResponse {
53
+ return LivenessResponseToJSONTyped(json, false);
54
+ }
55
+
56
+ export function LivenessResponseToJSONTyped(value?: LivenessResponse | null, ignoreDiscriminator: boolean = false): any {
57
+ if (value == null) {
58
+ return value;
59
+ }
60
+
61
+ return {
62
+
63
+ 'app': value['app'],
64
+ };
65
+ }
66
+
@@ -0,0 +1,223 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * GISL Compression API
5
+ * REST API for the GISL (Give It Smaller) file compression and processing service. **Architecture:** - Upload files to get a `file_id` - Create workflows referencing uploaded files with operations (compress, thumbnail, watermark, merge, archive, convert) - Poll status, stream SSE events, or receive webhook callbacks - Download results per operation output **Response envelope:** All mutation and query endpoints return `{ success: true, data: {...} }` on success and `{ success: false, error: \"...\", details: [...] }` on failure. Exceptions: `GET /api/operations/schema` returns raw JSON (CDN-cacheable), health probes return flat objects, and `POST /api/contact` returns 204 with no body.
6
+ *
7
+ * The version of the OpenAPI document: 2.0.0
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+ import { mapValues } from '../runtime';
16
+ import type { MetadataResponseDimensions } from './MetadataResponseDimensions';
17
+ import {
18
+ MetadataResponseDimensionsFromJSON,
19
+ MetadataResponseDimensionsFromJSONTyped,
20
+ MetadataResponseDimensionsToJSON,
21
+ MetadataResponseDimensionsToJSONTyped,
22
+ } from './MetadataResponseDimensions';
23
+ import type { MetadataResponseExif } from './MetadataResponseExif';
24
+ import {
25
+ MetadataResponseExifFromJSON,
26
+ MetadataResponseExifFromJSONTyped,
27
+ MetadataResponseExifToJSON,
28
+ MetadataResponseExifToJSONTyped,
29
+ } from './MetadataResponseExif';
30
+
31
+ /**
32
+ * File metadata. Fields vary by MIME type. Common fields are always present;
33
+ * type-specific fields (dimensions, exif, duration, etc.) are included when
34
+ * available for the file type.
35
+ *
36
+ * @export
37
+ * @interface MetadataResponse
38
+ */
39
+ export interface MetadataResponse {
40
+ /**
41
+ * UUID v7 format identifier (time-ordered)
42
+ * @type {string}
43
+ * @memberof MetadataResponse
44
+ */
45
+ fileId: string;
46
+ /**
47
+ *
48
+ * @type {string}
49
+ * @memberof MetadataResponse
50
+ */
51
+ originalName: string;
52
+ /**
53
+ *
54
+ * @type {string}
55
+ * @memberof MetadataResponse
56
+ */
57
+ mimeType: string;
58
+ /**
59
+ *
60
+ * @type {number}
61
+ * @memberof MetadataResponse
62
+ */
63
+ sizeBytes: number;
64
+ /**
65
+ *
66
+ * @type {MetadataResponseDimensions}
67
+ * @memberof MetadataResponse
68
+ */
69
+ dimensions?: MetadataResponseDimensions;
70
+ /**
71
+ * Color space (images)
72
+ * @type {string}
73
+ * @memberof MetadataResponse
74
+ */
75
+ colorSpace?: string;
76
+ /**
77
+ * Dots per inch (images, PDF)
78
+ * @type {number}
79
+ * @memberof MetadataResponse
80
+ */
81
+ dpi?: number;
82
+ /**
83
+ * Whether the image has an alpha channel (images)
84
+ * @type {boolean}
85
+ * @memberof MetadataResponse
86
+ */
87
+ hasAlpha?: boolean;
88
+ /**
89
+ *
90
+ * @type {MetadataResponseExif}
91
+ * @memberof MetadataResponse
92
+ */
93
+ exif?: MetadataResponseExif;
94
+ /**
95
+ * Dominant colors as hex strings (images)
96
+ * @type {Array<string>}
97
+ * @memberof MetadataResponse
98
+ */
99
+ dominantColors?: Array<string>;
100
+ /**
101
+ * Duration in seconds (video, audio)
102
+ * @type {number}
103
+ * @memberof MetadataResponse
104
+ */
105
+ duration?: number;
106
+ /**
107
+ * Video/audio codec
108
+ * @type {string}
109
+ * @memberof MetadataResponse
110
+ */
111
+ codec?: string;
112
+ /**
113
+ * Frames per second (video)
114
+ * @type {number}
115
+ * @memberof MetadataResponse
116
+ */
117
+ fps?: number;
118
+ /**
119
+ * Audio codec (video)
120
+ * @type {string}
121
+ * @memberof MetadataResponse
122
+ */
123
+ audioCodec?: string;
124
+ /**
125
+ * Bitrate in bps (video, audio)
126
+ * @type {number}
127
+ * @memberof MetadataResponse
128
+ */
129
+ bitrate?: number;
130
+ /**
131
+ * Audio channels (audio)
132
+ * @type {number}
133
+ * @memberof MetadataResponse
134
+ */
135
+ channels?: number;
136
+ /**
137
+ * Sample rate in Hz (audio)
138
+ * @type {number}
139
+ * @memberof MetadataResponse
140
+ */
141
+ sampleRate?: number;
142
+ /**
143
+ * Number of pages (documents)
144
+ * @type {number}
145
+ * @memberof MetadataResponse
146
+ */
147
+ pageCount?: number;
148
+ }
149
+
150
+ /**
151
+ * Check if a given object implements the MetadataResponse interface.
152
+ */
153
+ export function instanceOfMetadataResponse(value: object): value is MetadataResponse {
154
+ if (!('fileId' in value) || value['fileId'] === undefined) return false;
155
+ if (!('originalName' in value) || value['originalName'] === undefined) return false;
156
+ if (!('mimeType' in value) || value['mimeType'] === undefined) return false;
157
+ if (!('sizeBytes' in value) || value['sizeBytes'] === undefined) return false;
158
+ return true;
159
+ }
160
+
161
+ export function MetadataResponseFromJSON(json: any): MetadataResponse {
162
+ return MetadataResponseFromJSONTyped(json, false);
163
+ }
164
+
165
+ export function MetadataResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): MetadataResponse {
166
+ if (json == null) {
167
+ return json;
168
+ }
169
+ return {
170
+
171
+ 'fileId': json['file_id'],
172
+ 'originalName': json['original_name'],
173
+ 'mimeType': json['mime_type'],
174
+ 'sizeBytes': json['size_bytes'],
175
+ 'dimensions': json['dimensions'] == null ? undefined : MetadataResponseDimensionsFromJSON(json['dimensions']),
176
+ 'colorSpace': json['color_space'] == null ? undefined : json['color_space'],
177
+ 'dpi': json['dpi'] == null ? undefined : json['dpi'],
178
+ 'hasAlpha': json['has_alpha'] == null ? undefined : json['has_alpha'],
179
+ 'exif': json['exif'] == null ? undefined : MetadataResponseExifFromJSON(json['exif']),
180
+ 'dominantColors': json['dominant_colors'] == null ? undefined : json['dominant_colors'],
181
+ 'duration': json['duration'] == null ? undefined : json['duration'],
182
+ 'codec': json['codec'] == null ? undefined : json['codec'],
183
+ 'fps': json['fps'] == null ? undefined : json['fps'],
184
+ 'audioCodec': json['audio_codec'] == null ? undefined : json['audio_codec'],
185
+ 'bitrate': json['bitrate'] == null ? undefined : json['bitrate'],
186
+ 'channels': json['channels'] == null ? undefined : json['channels'],
187
+ 'sampleRate': json['sample_rate'] == null ? undefined : json['sample_rate'],
188
+ 'pageCount': json['page_count'] == null ? undefined : json['page_count'],
189
+ };
190
+ }
191
+
192
+ export function MetadataResponseToJSON(json: any): MetadataResponse {
193
+ return MetadataResponseToJSONTyped(json, false);
194
+ }
195
+
196
+ export function MetadataResponseToJSONTyped(value?: MetadataResponse | null, ignoreDiscriminator: boolean = false): any {
197
+ if (value == null) {
198
+ return value;
199
+ }
200
+
201
+ return {
202
+
203
+ 'file_id': value['fileId'],
204
+ 'original_name': value['originalName'],
205
+ 'mime_type': value['mimeType'],
206
+ 'size_bytes': value['sizeBytes'],
207
+ 'dimensions': MetadataResponseDimensionsToJSON(value['dimensions']),
208
+ 'color_space': value['colorSpace'],
209
+ 'dpi': value['dpi'],
210
+ 'has_alpha': value['hasAlpha'],
211
+ 'exif': MetadataResponseExifToJSON(value['exif']),
212
+ 'dominant_colors': value['dominantColors'],
213
+ 'duration': value['duration'],
214
+ 'codec': value['codec'],
215
+ 'fps': value['fps'],
216
+ 'audio_codec': value['audioCodec'],
217
+ 'bitrate': value['bitrate'],
218
+ 'channels': value['channels'],
219
+ 'sample_rate': value['sampleRate'],
220
+ 'page_count': value['pageCount'],
221
+ };
222
+ }
223
+
@@ -0,0 +1,73 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * GISL Compression API
5
+ * REST API for the GISL (Give It Smaller) file compression and processing service. **Architecture:** - Upload files to get a `file_id` - Create workflows referencing uploaded files with operations (compress, thumbnail, watermark, merge, archive, convert) - Poll status, stream SSE events, or receive webhook callbacks - Download results per operation output **Response envelope:** All mutation and query endpoints return `{ success: true, data: {...} }` on success and `{ success: false, error: \"...\", details: [...] }` on failure. Exceptions: `GET /api/operations/schema` returns raw JSON (CDN-cacheable), health probes return flat objects, and `POST /api/contact` returns 204 with no body.
6
+ *
7
+ * The version of the OpenAPI document: 2.0.0
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+ import { mapValues } from '../runtime';
16
+ /**
17
+ * Image/video dimensions (images, video, PDF)
18
+ * @export
19
+ * @interface MetadataResponseDimensions
20
+ */
21
+ export interface MetadataResponseDimensions {
22
+ /**
23
+ *
24
+ * @type {number}
25
+ * @memberof MetadataResponseDimensions
26
+ */
27
+ width?: number;
28
+ /**
29
+ *
30
+ * @type {number}
31
+ * @memberof MetadataResponseDimensions
32
+ */
33
+ height?: number;
34
+ }
35
+
36
+ /**
37
+ * Check if a given object implements the MetadataResponseDimensions interface.
38
+ */
39
+ export function instanceOfMetadataResponseDimensions(value: object): value is MetadataResponseDimensions {
40
+ return true;
41
+ }
42
+
43
+ export function MetadataResponseDimensionsFromJSON(json: any): MetadataResponseDimensions {
44
+ return MetadataResponseDimensionsFromJSONTyped(json, false);
45
+ }
46
+
47
+ export function MetadataResponseDimensionsFromJSONTyped(json: any, ignoreDiscriminator: boolean): MetadataResponseDimensions {
48
+ if (json == null) {
49
+ return json;
50
+ }
51
+ return {
52
+
53
+ 'width': json['width'] == null ? undefined : json['width'],
54
+ 'height': json['height'] == null ? undefined : json['height'],
55
+ };
56
+ }
57
+
58
+ export function MetadataResponseDimensionsToJSON(json: any): MetadataResponseDimensions {
59
+ return MetadataResponseDimensionsToJSONTyped(json, false);
60
+ }
61
+
62
+ export function MetadataResponseDimensionsToJSONTyped(value?: MetadataResponseDimensions | null, ignoreDiscriminator: boolean = false): any {
63
+ if (value == null) {
64
+ return value;
65
+ }
66
+
67
+ return {
68
+
69
+ 'width': value['width'],
70
+ 'height': value['height'],
71
+ };
72
+ }
73
+
@@ -0,0 +1,97 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * GISL Compression API
5
+ * REST API for the GISL (Give It Smaller) file compression and processing service. **Architecture:** - Upload files to get a `file_id` - Create workflows referencing uploaded files with operations (compress, thumbnail, watermark, merge, archive, convert) - Poll status, stream SSE events, or receive webhook callbacks - Download results per operation output **Response envelope:** All mutation and query endpoints return `{ success: true, data: {...} }` on success and `{ success: false, error: \"...\", details: [...] }` on failure. Exceptions: `GET /api/operations/schema` returns raw JSON (CDN-cacheable), health probes return flat objects, and `POST /api/contact` returns 204 with no body.
6
+ *
7
+ * The version of the OpenAPI document: 2.0.0
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+ import { mapValues } from '../runtime';
16
+ import type { MetadataResponseExifGps } from './MetadataResponseExifGps';
17
+ import {
18
+ MetadataResponseExifGpsFromJSON,
19
+ MetadataResponseExifGpsFromJSONTyped,
20
+ MetadataResponseExifGpsToJSON,
21
+ MetadataResponseExifGpsToJSONTyped,
22
+ } from './MetadataResponseExifGps';
23
+
24
+ /**
25
+ * EXIF metadata (images)
26
+ * @export
27
+ * @interface MetadataResponseExif
28
+ */
29
+ export interface MetadataResponseExif {
30
+ /**
31
+ *
32
+ * @type {string}
33
+ * @memberof MetadataResponseExif
34
+ */
35
+ camera?: string;
36
+ /**
37
+ *
38
+ * @type {Date}
39
+ * @memberof MetadataResponseExif
40
+ */
41
+ datetime?: Date;
42
+ /**
43
+ *
44
+ * @type {MetadataResponseExifGps}
45
+ * @memberof MetadataResponseExif
46
+ */
47
+ gps?: MetadataResponseExifGps;
48
+ /**
49
+ *
50
+ * @type {string}
51
+ * @memberof MetadataResponseExif
52
+ */
53
+ copyright?: string | null;
54
+ }
55
+
56
+ /**
57
+ * Check if a given object implements the MetadataResponseExif interface.
58
+ */
59
+ export function instanceOfMetadataResponseExif(value: object): value is MetadataResponseExif {
60
+ return true;
61
+ }
62
+
63
+ export function MetadataResponseExifFromJSON(json: any): MetadataResponseExif {
64
+ return MetadataResponseExifFromJSONTyped(json, false);
65
+ }
66
+
67
+ export function MetadataResponseExifFromJSONTyped(json: any, ignoreDiscriminator: boolean): MetadataResponseExif {
68
+ if (json == null) {
69
+ return json;
70
+ }
71
+ return {
72
+
73
+ 'camera': json['camera'] == null ? undefined : json['camera'],
74
+ 'datetime': json['datetime'] == null ? undefined : (new Date(json['datetime'])),
75
+ 'gps': json['gps'] == null ? undefined : MetadataResponseExifGpsFromJSON(json['gps']),
76
+ 'copyright': json['copyright'] == null ? undefined : json['copyright'],
77
+ };
78
+ }
79
+
80
+ export function MetadataResponseExifToJSON(json: any): MetadataResponseExif {
81
+ return MetadataResponseExifToJSONTyped(json, false);
82
+ }
83
+
84
+ export function MetadataResponseExifToJSONTyped(value?: MetadataResponseExif | null, ignoreDiscriminator: boolean = false): any {
85
+ if (value == null) {
86
+ return value;
87
+ }
88
+
89
+ return {
90
+
91
+ 'camera': value['camera'],
92
+ 'datetime': value['datetime'] == null ? undefined : ((value['datetime']).toISOString()),
93
+ 'gps': MetadataResponseExifGpsToJSON(value['gps']),
94
+ 'copyright': value['copyright'],
95
+ };
96
+ }
97
+
@@ -0,0 +1,73 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * GISL Compression API
5
+ * REST API for the GISL (Give It Smaller) file compression and processing service. **Architecture:** - Upload files to get a `file_id` - Create workflows referencing uploaded files with operations (compress, thumbnail, watermark, merge, archive, convert) - Poll status, stream SSE events, or receive webhook callbacks - Download results per operation output **Response envelope:** All mutation and query endpoints return `{ success: true, data: {...} }` on success and `{ success: false, error: \"...\", details: [...] }` on failure. Exceptions: `GET /api/operations/schema` returns raw JSON (CDN-cacheable), health probes return flat objects, and `POST /api/contact` returns 204 with no body.
6
+ *
7
+ * The version of the OpenAPI document: 2.0.0
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+ import { mapValues } from '../runtime';
16
+ /**
17
+ *
18
+ * @export
19
+ * @interface MetadataResponseExifGps
20
+ */
21
+ export interface MetadataResponseExifGps {
22
+ /**
23
+ *
24
+ * @type {number}
25
+ * @memberof MetadataResponseExifGps
26
+ */
27
+ lat?: number;
28
+ /**
29
+ *
30
+ * @type {number}
31
+ * @memberof MetadataResponseExifGps
32
+ */
33
+ lon?: number;
34
+ }
35
+
36
+ /**
37
+ * Check if a given object implements the MetadataResponseExifGps interface.
38
+ */
39
+ export function instanceOfMetadataResponseExifGps(value: object): value is MetadataResponseExifGps {
40
+ return true;
41
+ }
42
+
43
+ export function MetadataResponseExifGpsFromJSON(json: any): MetadataResponseExifGps {
44
+ return MetadataResponseExifGpsFromJSONTyped(json, false);
45
+ }
46
+
47
+ export function MetadataResponseExifGpsFromJSONTyped(json: any, ignoreDiscriminator: boolean): MetadataResponseExifGps {
48
+ if (json == null) {
49
+ return json;
50
+ }
51
+ return {
52
+
53
+ 'lat': json['lat'] == null ? undefined : json['lat'],
54
+ 'lon': json['lon'] == null ? undefined : json['lon'],
55
+ };
56
+ }
57
+
58
+ export function MetadataResponseExifGpsToJSON(json: any): MetadataResponseExifGps {
59
+ return MetadataResponseExifGpsToJSONTyped(json, false);
60
+ }
61
+
62
+ export function MetadataResponseExifGpsToJSONTyped(value?: MetadataResponseExifGps | null, ignoreDiscriminator: boolean = false): any {
63
+ if (value == null) {
64
+ return value;
65
+ }
66
+
67
+ return {
68
+
69
+ 'lat': value['lat'],
70
+ 'lon': value['lon'],
71
+ };
72
+ }
73
+
@@ -0,0 +1,93 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * GISL Compression API
5
+ * REST API for the GISL (Give It Smaller) file compression and processing service. **Architecture:** - Upload files to get a `file_id` - Create workflows referencing uploaded files with operations (compress, thumbnail, watermark, merge, archive, convert) - Poll status, stream SSE events, or receive webhook callbacks - Download results per operation output **Response envelope:** All mutation and query endpoints return `{ success: true, data: {...} }` on success and `{ success: false, error: \"...\", details: [...] }` on failure. Exceptions: `GET /api/operations/schema` returns raw JSON (CDN-cacheable), health probes return flat objects, and `POST /api/contact` returns 204 with no body.
6
+ *
7
+ * The version of the OpenAPI document: 2.0.0
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+ import { mapValues } from '../runtime';
16
+ import type { MetadataResponse } from './MetadataResponse';
17
+ import {
18
+ MetadataResponseFromJSON,
19
+ MetadataResponseFromJSONTyped,
20
+ MetadataResponseToJSON,
21
+ MetadataResponseToJSONTyped,
22
+ } from './MetadataResponse';
23
+
24
+ /**
25
+ *
26
+ * @export
27
+ * @interface MetadataSuccessEnvelope
28
+ */
29
+ export interface MetadataSuccessEnvelope {
30
+ /**
31
+ *
32
+ * @type {boolean}
33
+ * @memberof MetadataSuccessEnvelope
34
+ */
35
+ success: MetadataSuccessEnvelopeSuccessEnum;
36
+ /**
37
+ *
38
+ * @type {MetadataResponse}
39
+ * @memberof MetadataSuccessEnvelope
40
+ */
41
+ data: MetadataResponse;
42
+ }
43
+
44
+
45
+ /**
46
+ * @export
47
+ */
48
+ export const MetadataSuccessEnvelopeSuccessEnum = {
49
+ true: true
50
+ } as const;
51
+ export type MetadataSuccessEnvelopeSuccessEnum = typeof MetadataSuccessEnvelopeSuccessEnum[keyof typeof MetadataSuccessEnvelopeSuccessEnum];
52
+
53
+
54
+ /**
55
+ * Check if a given object implements the MetadataSuccessEnvelope interface.
56
+ */
57
+ export function instanceOfMetadataSuccessEnvelope(value: object): value is MetadataSuccessEnvelope {
58
+ if (!('success' in value) || value['success'] === undefined) return false;
59
+ if (!('data' in value) || value['data'] === undefined) return false;
60
+ return true;
61
+ }
62
+
63
+ export function MetadataSuccessEnvelopeFromJSON(json: any): MetadataSuccessEnvelope {
64
+ return MetadataSuccessEnvelopeFromJSONTyped(json, false);
65
+ }
66
+
67
+ export function MetadataSuccessEnvelopeFromJSONTyped(json: any, ignoreDiscriminator: boolean): MetadataSuccessEnvelope {
68
+ if (json == null) {
69
+ return json;
70
+ }
71
+ return {
72
+
73
+ 'success': json['success'],
74
+ 'data': MetadataResponseFromJSON(json['data']),
75
+ };
76
+ }
77
+
78
+ export function MetadataSuccessEnvelopeToJSON(json: any): MetadataSuccessEnvelope {
79
+ return MetadataSuccessEnvelopeToJSONTyped(json, false);
80
+ }
81
+
82
+ export function MetadataSuccessEnvelopeToJSONTyped(value?: MetadataSuccessEnvelope | null, ignoreDiscriminator: boolean = false): any {
83
+ if (value == null) {
84
+ return value;
85
+ }
86
+
87
+ return {
88
+
89
+ 'success': value['success'],
90
+ 'data': MetadataResponseToJSON(value['data']),
91
+ };
92
+ }
93
+