@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.
- package/asyncapi/ErrorCode.ts +19 -0
- package/asyncapi/MergeOutputType.ts +9 -0
- package/asyncapi/NotificationsOperationsQueue.ts +4 -0
- package/asyncapi/OperationMetrics.ts +12 -0
- package/asyncapi/OperationProgress.ts +12 -0
- package/asyncapi/OperationRequest.ts +21 -0
- package/asyncapi/OperationResult.ts +20 -0
- package/asyncapi/OperationType.ts +10 -0
- package/asyncapi/ProgressStatus.ts +8 -0
- package/asyncapi/README.md +16 -0
- package/asyncapi/ResultStatus.ts +6 -0
- package/asyncapi/SourceEntry.ts +9 -0
- package/asyncapi/index.ts +11 -0
- package/index.ts +5 -0
- package/openapi/.openapi-generator-ignore +26 -0
- package/openapi/README.md +17 -0
- package/openapi/index.ts +4 -0
- package/openapi/models/CallbackEventType.ts +60 -0
- package/openapi/models/ContactRequest.ts +113 -0
- package/openapi/models/ContactSubject.ts +62 -0
- package/openapi/models/ContactValidationErrorResponse.ts +67 -0
- package/openapi/models/ErrorEnvelope.ts +85 -0
- package/openapi/models/ExportConfig.ts +108 -0
- package/openapi/models/JobDefinition.ts +56 -0
- package/openapi/models/JobDownload.ts +92 -0
- package/openapi/models/JobInput.ts +89 -0
- package/openapi/models/JobResponse.ts +119 -0
- package/openapi/models/JobSource.ts +79 -0
- package/openapi/models/JobStatus.ts +62 -0
- package/openapi/models/JobType.ts +60 -0
- package/openapi/models/LivenessResponse.ts +66 -0
- package/openapi/models/MetadataResponse.ts +223 -0
- package/openapi/models/MetadataResponseDimensions.ts +73 -0
- package/openapi/models/MetadataResponseExif.ts +97 -0
- package/openapi/models/MetadataResponseExifGps.ts +73 -0
- package/openapi/models/MetadataSuccessEnvelope.ts +93 -0
- package/openapi/models/MimeGroupSchema.ts +91 -0
- package/openapi/models/MultipartCompleteRequest.ts +85 -0
- package/openapi/models/MultipartCompleteRequestPartsInner.ts +75 -0
- package/openapi/models/MultipartInitiateResponse.ts +137 -0
- package/openapi/models/MultipartInitiateSuccessEnvelope.ts +93 -0
- package/openapi/models/OperationDefinition.ts +91 -0
- package/openapi/models/OperationDownload.ts +102 -0
- package/openapi/models/OperationInputModel.ts +56 -0
- package/openapi/models/OperationResponse.ts +124 -0
- package/openapi/models/OperationResult.ts +100 -0
- package/openapi/models/OperationResultMetrics.ts +73 -0
- package/openapi/models/OperationSchemaDefinition.ts +163 -0
- package/openapi/models/OperationStatus.ts +62 -0
- package/openapi/models/OperationType.ts +64 -0
- package/openapi/models/OperationsSchemaResponse.ts +90 -0
- package/openapi/models/OptionSchema.ts +160 -0
- package/openapi/models/PresignedUrlPart.ts +86 -0
- package/openapi/models/ReadinessResponse.ts +73 -0
- package/openapi/models/ResponseEnvelope.ts +70 -0
- package/openapi/models/RetryResponse.ts +94 -0
- package/openapi/models/RetrySuccessEnvelope.ts +93 -0
- package/openapi/models/SseEventType.ts +68 -0
- package/openapi/models/SseJobCompletedData.ts +94 -0
- package/openapi/models/SseJobFailedData.ts +94 -0
- package/openapi/models/SseOperationCompletedData.ts +143 -0
- package/openapi/models/SseOperationFailedData.ts +129 -0
- package/openapi/models/SseOperationProgressData.ts +103 -0
- package/openapi/models/SseWorkflowTerminalData.ts +89 -0
- package/openapi/models/UploadResponse.ts +93 -0
- package/openapi/models/UploadSuccessEnvelope.ts +93 -0
- package/openapi/models/ValidationErrorEnvelope.ts +104 -0
- package/openapi/models/ValidationErrorEnvelopeDetailsInner.ts +90 -0
- package/openapi/models/WebhookOperationContext.ts +77 -0
- package/openapi/models/WebhookPayload.ts +132 -0
- package/openapi/models/WorkflowCreateRequest.ts +143 -0
- package/openapi/models/WorkflowCreateResponse.ts +114 -0
- package/openapi/models/WorkflowCreateSuccessEnvelope.ts +93 -0
- package/openapi/models/WorkflowDownloadResponse.ts +74 -0
- package/openapi/models/WorkflowDownloadSuccessEnvelope.ts +93 -0
- package/openapi/models/WorkflowEdge.ts +77 -0
- package/openapi/models/WorkflowStatus.ts +62 -0
- package/openapi/models/WorkflowStatusResponse.ts +101 -0
- package/openapi/models/WorkflowStatusSuccessEnvelope.ts +93 -0
- package/openapi/models/index.ts +64 -0
- package/openapi/runtime.ts +432 -0
- package/operations/README.md +17 -0
- package/operations/archive.ts +16 -0
- package/operations/compress.ts +177 -0
- package/operations/convert.ts +69 -0
- package/operations/index.ts +7 -0
- package/operations/merge.ts +95 -0
- package/operations/thumbnail.ts +66 -0
- package/package.json +19 -0
|
@@ -0,0 +1,90 @@
|
|
|
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 { OperationSchemaDefinition } from './OperationSchemaDefinition';
|
|
17
|
+
import {
|
|
18
|
+
OperationSchemaDefinitionFromJSON,
|
|
19
|
+
OperationSchemaDefinitionFromJSONTyped,
|
|
20
|
+
OperationSchemaDefinitionToJSON,
|
|
21
|
+
OperationSchemaDefinitionToJSONTyped,
|
|
22
|
+
} from './OperationSchemaDefinition';
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Operations meta-schema. Describes all available operation types, their options,
|
|
26
|
+
* constraints, defaults, and MIME type applicability. Returned raw (no envelope)
|
|
27
|
+
* for CDN cacheability.
|
|
28
|
+
*
|
|
29
|
+
* Each operation defines options with types, constraints, and conditional
|
|
30
|
+
* dependencies (via `depends_on`). Clients use this to build dynamic forms
|
|
31
|
+
* and validate options before submission.
|
|
32
|
+
*
|
|
33
|
+
* @export
|
|
34
|
+
* @interface OperationsSchemaResponse
|
|
35
|
+
*/
|
|
36
|
+
export interface OperationsSchemaResponse {
|
|
37
|
+
/**
|
|
38
|
+
* Schema version for cache-busting
|
|
39
|
+
* @type {string}
|
|
40
|
+
* @memberof OperationsSchemaResponse
|
|
41
|
+
*/
|
|
42
|
+
schemaVersion: string;
|
|
43
|
+
/**
|
|
44
|
+
* Map of operation type to its schema definition
|
|
45
|
+
* @type {{ [key: string]: OperationSchemaDefinition; }}
|
|
46
|
+
* @memberof OperationsSchemaResponse
|
|
47
|
+
*/
|
|
48
|
+
operations: { [key: string]: OperationSchemaDefinition; };
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* Check if a given object implements the OperationsSchemaResponse interface.
|
|
53
|
+
*/
|
|
54
|
+
export function instanceOfOperationsSchemaResponse(value: object): value is OperationsSchemaResponse {
|
|
55
|
+
if (!('schemaVersion' in value) || value['schemaVersion'] === undefined) return false;
|
|
56
|
+
if (!('operations' in value) || value['operations'] === undefined) return false;
|
|
57
|
+
return true;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
export function OperationsSchemaResponseFromJSON(json: any): OperationsSchemaResponse {
|
|
61
|
+
return OperationsSchemaResponseFromJSONTyped(json, false);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
export function OperationsSchemaResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): OperationsSchemaResponse {
|
|
65
|
+
if (json == null) {
|
|
66
|
+
return json;
|
|
67
|
+
}
|
|
68
|
+
return {
|
|
69
|
+
|
|
70
|
+
'schemaVersion': json['schema_version'],
|
|
71
|
+
'operations': (mapValues(json['operations'], OperationSchemaDefinitionFromJSON)),
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
export function OperationsSchemaResponseToJSON(json: any): OperationsSchemaResponse {
|
|
76
|
+
return OperationsSchemaResponseToJSONTyped(json, false);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
export function OperationsSchemaResponseToJSONTyped(value?: OperationsSchemaResponse | null, ignoreDiscriminator: boolean = false): any {
|
|
80
|
+
if (value == null) {
|
|
81
|
+
return value;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
return {
|
|
85
|
+
|
|
86
|
+
'schema_version': value['schemaVersion'],
|
|
87
|
+
'operations': (mapValues(value['operations'], OperationSchemaDefinitionToJSON)),
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
|
|
@@ -0,0 +1,160 @@
|
|
|
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
|
+
* Schema for a single operation option
|
|
18
|
+
* @export
|
|
19
|
+
* @interface OptionSchema
|
|
20
|
+
*/
|
|
21
|
+
export interface OptionSchema {
|
|
22
|
+
/**
|
|
23
|
+
* Option value type
|
|
24
|
+
* @type {string}
|
|
25
|
+
* @memberof OptionSchema
|
|
26
|
+
*/
|
|
27
|
+
type: OptionSchemaTypeEnum;
|
|
28
|
+
/**
|
|
29
|
+
* Human-readable description
|
|
30
|
+
* @type {string}
|
|
31
|
+
* @memberof OptionSchema
|
|
32
|
+
*/
|
|
33
|
+
description?: string;
|
|
34
|
+
/**
|
|
35
|
+
* Whether the option is required
|
|
36
|
+
* @type {boolean}
|
|
37
|
+
* @memberof OptionSchema
|
|
38
|
+
*/
|
|
39
|
+
required?: boolean;
|
|
40
|
+
/**
|
|
41
|
+
*
|
|
42
|
+
* @type {any}
|
|
43
|
+
* @memberof OptionSchema
|
|
44
|
+
*/
|
|
45
|
+
_default?: any | null;
|
|
46
|
+
/**
|
|
47
|
+
* Allowed values (for enum type)
|
|
48
|
+
* @type {Array<any>}
|
|
49
|
+
* @memberof OptionSchema
|
|
50
|
+
*/
|
|
51
|
+
values?: Array<any>;
|
|
52
|
+
/**
|
|
53
|
+
* Actual type of enum values when not strings (e.g. "integer" for numeric bitrate enums).
|
|
54
|
+
* Consumers should parse/display values as this type rather than as strings.
|
|
55
|
+
*
|
|
56
|
+
* @type {string}
|
|
57
|
+
* @memberof OptionSchema
|
|
58
|
+
*/
|
|
59
|
+
valueType?: OptionSchemaValueTypeEnum;
|
|
60
|
+
/**
|
|
61
|
+
* Minimum value (for integer/float types)
|
|
62
|
+
* @type {number}
|
|
63
|
+
* @memberof OptionSchema
|
|
64
|
+
*/
|
|
65
|
+
min?: number;
|
|
66
|
+
/**
|
|
67
|
+
* Maximum value (for integer/float types)
|
|
68
|
+
* @type {number}
|
|
69
|
+
* @memberof OptionSchema
|
|
70
|
+
*/
|
|
71
|
+
max?: number;
|
|
72
|
+
/**
|
|
73
|
+
* Conditional dependency. This option is only applicable when the condition is met.
|
|
74
|
+
* Simple: `{ "mode": "lossy" }` — option applies when mode equals lossy.
|
|
75
|
+
* Multi-value: `{ "output_format": ["jpeg", "webp"] }` — option applies when output_format is any listed value.
|
|
76
|
+
* Set condition: `{ "width": "set", "height": "set", "logic": "or" }` — option applies when width or height is provided.
|
|
77
|
+
* The "set" sentinel means the option has any value. "logic" can be "and" (default) or "or".
|
|
78
|
+
*
|
|
79
|
+
* @type {{ [key: string]: any; }}
|
|
80
|
+
* @memberof OptionSchema
|
|
81
|
+
*/
|
|
82
|
+
dependsOn?: { [key: string]: any; };
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
/**
|
|
87
|
+
* @export
|
|
88
|
+
*/
|
|
89
|
+
export const OptionSchemaTypeEnum = {
|
|
90
|
+
integer: 'integer',
|
|
91
|
+
float: 'float',
|
|
92
|
+
boolean: 'boolean',
|
|
93
|
+
enum: 'enum',
|
|
94
|
+
string: 'string'
|
|
95
|
+
} as const;
|
|
96
|
+
export type OptionSchemaTypeEnum = typeof OptionSchemaTypeEnum[keyof typeof OptionSchemaTypeEnum];
|
|
97
|
+
|
|
98
|
+
/**
|
|
99
|
+
* @export
|
|
100
|
+
*/
|
|
101
|
+
export const OptionSchemaValueTypeEnum = {
|
|
102
|
+
integer: 'integer',
|
|
103
|
+
float: 'float'
|
|
104
|
+
} as const;
|
|
105
|
+
export type OptionSchemaValueTypeEnum = typeof OptionSchemaValueTypeEnum[keyof typeof OptionSchemaValueTypeEnum];
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
/**
|
|
109
|
+
* Check if a given object implements the OptionSchema interface.
|
|
110
|
+
*/
|
|
111
|
+
export function instanceOfOptionSchema(value: object): value is OptionSchema {
|
|
112
|
+
if (!('type' in value) || value['type'] === undefined) return false;
|
|
113
|
+
return true;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
export function OptionSchemaFromJSON(json: any): OptionSchema {
|
|
117
|
+
return OptionSchemaFromJSONTyped(json, false);
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
export function OptionSchemaFromJSONTyped(json: any, ignoreDiscriminator: boolean): OptionSchema {
|
|
121
|
+
if (json == null) {
|
|
122
|
+
return json;
|
|
123
|
+
}
|
|
124
|
+
return {
|
|
125
|
+
|
|
126
|
+
'type': json['type'],
|
|
127
|
+
'description': json['description'] == null ? undefined : json['description'],
|
|
128
|
+
'required': json['required'] == null ? undefined : json['required'],
|
|
129
|
+
'_default': json['default'] == null ? undefined : json['default'],
|
|
130
|
+
'values': json['values'] == null ? undefined : json['values'],
|
|
131
|
+
'valueType': json['value_type'] == null ? undefined : json['value_type'],
|
|
132
|
+
'min': json['min'] == null ? undefined : json['min'],
|
|
133
|
+
'max': json['max'] == null ? undefined : json['max'],
|
|
134
|
+
'dependsOn': json['depends_on'] == null ? undefined : json['depends_on'],
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
export function OptionSchemaToJSON(json: any): OptionSchema {
|
|
139
|
+
return OptionSchemaToJSONTyped(json, false);
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
export function OptionSchemaToJSONTyped(value?: OptionSchema | null, ignoreDiscriminator: boolean = false): any {
|
|
143
|
+
if (value == null) {
|
|
144
|
+
return value;
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
return {
|
|
148
|
+
|
|
149
|
+
'type': value['type'],
|
|
150
|
+
'description': value['description'],
|
|
151
|
+
'required': value['required'],
|
|
152
|
+
'default': value['_default'],
|
|
153
|
+
'values': value['values'],
|
|
154
|
+
'value_type': value['valueType'],
|
|
155
|
+
'min': value['min'],
|
|
156
|
+
'max': value['max'],
|
|
157
|
+
'depends_on': value['dependsOn'],
|
|
158
|
+
};
|
|
159
|
+
}
|
|
160
|
+
|
|
@@ -0,0 +1,86 @@
|
|
|
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 PresignedUrlPart
|
|
20
|
+
*/
|
|
21
|
+
export interface PresignedUrlPart {
|
|
22
|
+
/**
|
|
23
|
+
* S3 multipart part number (starts at 2, API handled part 1)
|
|
24
|
+
* @type {number}
|
|
25
|
+
* @memberof PresignedUrlPart
|
|
26
|
+
*/
|
|
27
|
+
partNumber: number;
|
|
28
|
+
/**
|
|
29
|
+
* Pre-signed S3 PUT URL. Send PUT with raw binary chunk as body.
|
|
30
|
+
* @type {string}
|
|
31
|
+
* @memberof PresignedUrlPart
|
|
32
|
+
*/
|
|
33
|
+
url: string;
|
|
34
|
+
/**
|
|
35
|
+
* ISO 8601 expiry timestamp. TTL is dynamic: estimated_upload_duration * 2,
|
|
36
|
+
* clamped between 900s and 3600s.
|
|
37
|
+
*
|
|
38
|
+
* @type {Date}
|
|
39
|
+
* @memberof PresignedUrlPart
|
|
40
|
+
*/
|
|
41
|
+
expiresAt: Date;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Check if a given object implements the PresignedUrlPart interface.
|
|
46
|
+
*/
|
|
47
|
+
export function instanceOfPresignedUrlPart(value: object): value is PresignedUrlPart {
|
|
48
|
+
if (!('partNumber' in value) || value['partNumber'] === undefined) return false;
|
|
49
|
+
if (!('url' in value) || value['url'] === undefined) return false;
|
|
50
|
+
if (!('expiresAt' in value) || value['expiresAt'] === undefined) return false;
|
|
51
|
+
return true;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
export function PresignedUrlPartFromJSON(json: any): PresignedUrlPart {
|
|
55
|
+
return PresignedUrlPartFromJSONTyped(json, false);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
export function PresignedUrlPartFromJSONTyped(json: any, ignoreDiscriminator: boolean): PresignedUrlPart {
|
|
59
|
+
if (json == null) {
|
|
60
|
+
return json;
|
|
61
|
+
}
|
|
62
|
+
return {
|
|
63
|
+
|
|
64
|
+
'partNumber': json['part_number'],
|
|
65
|
+
'url': json['url'],
|
|
66
|
+
'expiresAt': (new Date(json['expires_at'])),
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
export function PresignedUrlPartToJSON(json: any): PresignedUrlPart {
|
|
71
|
+
return PresignedUrlPartToJSONTyped(json, false);
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
export function PresignedUrlPartToJSONTyped(value?: PresignedUrlPart | null, ignoreDiscriminator: boolean = false): any {
|
|
75
|
+
if (value == null) {
|
|
76
|
+
return value;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
return {
|
|
80
|
+
|
|
81
|
+
'part_number': value['partNumber'],
|
|
82
|
+
'url': value['url'],
|
|
83
|
+
'expires_at': ((value['expiresAt']).toISOString()),
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
|
|
@@ -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 ReadinessResponse
|
|
20
|
+
*/
|
|
21
|
+
export interface ReadinessResponse {
|
|
22
|
+
/**
|
|
23
|
+
* Database connection is healthy
|
|
24
|
+
* @type {boolean}
|
|
25
|
+
* @memberof ReadinessResponse
|
|
26
|
+
*/
|
|
27
|
+
database?: boolean;
|
|
28
|
+
/**
|
|
29
|
+
* Cache connection is healthy
|
|
30
|
+
* @type {boolean}
|
|
31
|
+
* @memberof ReadinessResponse
|
|
32
|
+
*/
|
|
33
|
+
cache?: boolean;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* Check if a given object implements the ReadinessResponse interface.
|
|
38
|
+
*/
|
|
39
|
+
export function instanceOfReadinessResponse(value: object): value is ReadinessResponse {
|
|
40
|
+
return true;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
export function ReadinessResponseFromJSON(json: any): ReadinessResponse {
|
|
44
|
+
return ReadinessResponseFromJSONTyped(json, false);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
export function ReadinessResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): ReadinessResponse {
|
|
48
|
+
if (json == null) {
|
|
49
|
+
return json;
|
|
50
|
+
}
|
|
51
|
+
return {
|
|
52
|
+
|
|
53
|
+
'database': json['database'] == null ? undefined : json['database'],
|
|
54
|
+
'cache': json['cache'] == null ? undefined : json['cache'],
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
export function ReadinessResponseToJSON(json: any): ReadinessResponse {
|
|
59
|
+
return ReadinessResponseToJSONTyped(json, false);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
export function ReadinessResponseToJSONTyped(value?: ReadinessResponse | null, ignoreDiscriminator: boolean = false): any {
|
|
63
|
+
if (value == null) {
|
|
64
|
+
return value;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
return {
|
|
68
|
+
|
|
69
|
+
'database': value['database'],
|
|
70
|
+
'cache': value['cache'],
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
|
|
@@ -0,0 +1,70 @@
|
|
|
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
|
+
* Standard response wrapper. All API responses (except GET /api/operations/schema,
|
|
18
|
+
* health probes, and POST /api/contact) use this envelope.
|
|
19
|
+
* Success: `{ success: true, data: {...} }`.
|
|
20
|
+
* Error: `{ success: false, error: "...", details: [...] }`.
|
|
21
|
+
*
|
|
22
|
+
* @export
|
|
23
|
+
* @interface ResponseEnvelope
|
|
24
|
+
*/
|
|
25
|
+
export interface ResponseEnvelope {
|
|
26
|
+
/**
|
|
27
|
+
*
|
|
28
|
+
* @type {boolean}
|
|
29
|
+
* @memberof ResponseEnvelope
|
|
30
|
+
*/
|
|
31
|
+
success: boolean;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Check if a given object implements the ResponseEnvelope interface.
|
|
36
|
+
*/
|
|
37
|
+
export function instanceOfResponseEnvelope(value: object): value is ResponseEnvelope {
|
|
38
|
+
if (!('success' in value) || value['success'] === undefined) return false;
|
|
39
|
+
return true;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
export function ResponseEnvelopeFromJSON(json: any): ResponseEnvelope {
|
|
43
|
+
return ResponseEnvelopeFromJSONTyped(json, false);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
export function ResponseEnvelopeFromJSONTyped(json: any, ignoreDiscriminator: boolean): ResponseEnvelope {
|
|
47
|
+
if (json == null) {
|
|
48
|
+
return json;
|
|
49
|
+
}
|
|
50
|
+
return {
|
|
51
|
+
|
|
52
|
+
'success': json['success'],
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
export function ResponseEnvelopeToJSON(json: any): ResponseEnvelope {
|
|
57
|
+
return ResponseEnvelopeToJSONTyped(json, false);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
export function ResponseEnvelopeToJSONTyped(value?: ResponseEnvelope | null, ignoreDiscriminator: boolean = false): any {
|
|
61
|
+
if (value == null) {
|
|
62
|
+
return value;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
return {
|
|
66
|
+
|
|
67
|
+
'success': value['success'],
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
|
|
@@ -0,0 +1,94 @@
|
|
|
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 RetryResponse
|
|
20
|
+
*/
|
|
21
|
+
export interface RetryResponse {
|
|
22
|
+
/**
|
|
23
|
+
* UUID v7 format identifier (time-ordered)
|
|
24
|
+
* @type {string}
|
|
25
|
+
* @memberof RetryResponse
|
|
26
|
+
*/
|
|
27
|
+
operationId: string;
|
|
28
|
+
/**
|
|
29
|
+
* UUID v7 format identifier (time-ordered)
|
|
30
|
+
* @type {string}
|
|
31
|
+
* @memberof RetryResponse
|
|
32
|
+
*/
|
|
33
|
+
originalOperationId: string;
|
|
34
|
+
/**
|
|
35
|
+
* Always "pending" for a new retry
|
|
36
|
+
* @type {string}
|
|
37
|
+
* @memberof RetryResponse
|
|
38
|
+
*/
|
|
39
|
+
status: RetryResponseStatusEnum;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* @export
|
|
45
|
+
*/
|
|
46
|
+
export const RetryResponseStatusEnum = {
|
|
47
|
+
pending: 'pending'
|
|
48
|
+
} as const;
|
|
49
|
+
export type RetryResponseStatusEnum = typeof RetryResponseStatusEnum[keyof typeof RetryResponseStatusEnum];
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* Check if a given object implements the RetryResponse interface.
|
|
54
|
+
*/
|
|
55
|
+
export function instanceOfRetryResponse(value: object): value is RetryResponse {
|
|
56
|
+
if (!('operationId' in value) || value['operationId'] === undefined) return false;
|
|
57
|
+
if (!('originalOperationId' in value) || value['originalOperationId'] === undefined) return false;
|
|
58
|
+
if (!('status' in value) || value['status'] === undefined) return false;
|
|
59
|
+
return true;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
export function RetryResponseFromJSON(json: any): RetryResponse {
|
|
63
|
+
return RetryResponseFromJSONTyped(json, false);
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
export function RetryResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): RetryResponse {
|
|
67
|
+
if (json == null) {
|
|
68
|
+
return json;
|
|
69
|
+
}
|
|
70
|
+
return {
|
|
71
|
+
|
|
72
|
+
'operationId': json['operation_id'],
|
|
73
|
+
'originalOperationId': json['original_operation_id'],
|
|
74
|
+
'status': json['status'],
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
export function RetryResponseToJSON(json: any): RetryResponse {
|
|
79
|
+
return RetryResponseToJSONTyped(json, false);
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
export function RetryResponseToJSONTyped(value?: RetryResponse | null, ignoreDiscriminator: boolean = false): any {
|
|
83
|
+
if (value == null) {
|
|
84
|
+
return value;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
return {
|
|
88
|
+
|
|
89
|
+
'operation_id': value['operationId'],
|
|
90
|
+
'original_operation_id': value['originalOperationId'],
|
|
91
|
+
'status': value['status'],
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
|
|
@@ -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 { RetryResponse } from './RetryResponse';
|
|
17
|
+
import {
|
|
18
|
+
RetryResponseFromJSON,
|
|
19
|
+
RetryResponseFromJSONTyped,
|
|
20
|
+
RetryResponseToJSON,
|
|
21
|
+
RetryResponseToJSONTyped,
|
|
22
|
+
} from './RetryResponse';
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
*
|
|
26
|
+
* @export
|
|
27
|
+
* @interface RetrySuccessEnvelope
|
|
28
|
+
*/
|
|
29
|
+
export interface RetrySuccessEnvelope {
|
|
30
|
+
/**
|
|
31
|
+
*
|
|
32
|
+
* @type {boolean}
|
|
33
|
+
* @memberof RetrySuccessEnvelope
|
|
34
|
+
*/
|
|
35
|
+
success: RetrySuccessEnvelopeSuccessEnum;
|
|
36
|
+
/**
|
|
37
|
+
*
|
|
38
|
+
* @type {RetryResponse}
|
|
39
|
+
* @memberof RetrySuccessEnvelope
|
|
40
|
+
*/
|
|
41
|
+
data: RetryResponse;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* @export
|
|
47
|
+
*/
|
|
48
|
+
export const RetrySuccessEnvelopeSuccessEnum = {
|
|
49
|
+
true: true
|
|
50
|
+
} as const;
|
|
51
|
+
export type RetrySuccessEnvelopeSuccessEnum = typeof RetrySuccessEnvelopeSuccessEnum[keyof typeof RetrySuccessEnvelopeSuccessEnum];
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* Check if a given object implements the RetrySuccessEnvelope interface.
|
|
56
|
+
*/
|
|
57
|
+
export function instanceOfRetrySuccessEnvelope(value: object): value is RetrySuccessEnvelope {
|
|
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 RetrySuccessEnvelopeFromJSON(json: any): RetrySuccessEnvelope {
|
|
64
|
+
return RetrySuccessEnvelopeFromJSONTyped(json, false);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
export function RetrySuccessEnvelopeFromJSONTyped(json: any, ignoreDiscriminator: boolean): RetrySuccessEnvelope {
|
|
68
|
+
if (json == null) {
|
|
69
|
+
return json;
|
|
70
|
+
}
|
|
71
|
+
return {
|
|
72
|
+
|
|
73
|
+
'success': json['success'],
|
|
74
|
+
'data': RetryResponseFromJSON(json['data']),
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
export function RetrySuccessEnvelopeToJSON(json: any): RetrySuccessEnvelope {
|
|
79
|
+
return RetrySuccessEnvelopeToJSONTyped(json, false);
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
export function RetrySuccessEnvelopeToJSONTyped(value?: RetrySuccessEnvelope | null, ignoreDiscriminator: boolean = false): any {
|
|
83
|
+
if (value == null) {
|
|
84
|
+
return value;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
return {
|
|
88
|
+
|
|
89
|
+
'success': value['success'],
|
|
90
|
+
'data': RetryResponseToJSON(value['data']),
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
|