@@ -11,159 +11,159 @@ export class {{ service.name | caseUcfirst }} extends Service {
1111 }
1212{% for method in service .methods %}
1313
14- /**
15- * {{ method .title }}
16- *
14+ /**
15+ * {{ method .title }}
16+ *
1717{% if method .description %}
18- {{ method .description | comment3 }}
18+ {{ method .description | comment2 }}
1919{% endif %}
20- *
20+ *
2121{% for parameter in method .parameters .all %}
22- * @param {{ ' {' }}{{ parameter | getPropertyType(method ) | raw }}{{ ' }' }} {{ parameter .name | caseCamel | escapeKeyword }}
22+ * @param {{ ' {' }}{{ parameter | getPropertyType(method ) | raw }}{{ ' }' }} {{ parameter .name | caseCamel | escapeKeyword }}
2323{% endfor %}
24- * @throws {{ ' {' }}{{ spec .title | caseUcfirst }}Exception}
25- * @returns {% if method .type == ' webAuth' %}{void|string}{% elseif method .type == ' location' %}{URL}{% else %}{Promise}{% endif %}
24+ * @throws {{ ' {' }}{{ spec .title | caseUcfirst }}Exception}
25+ * @returns {% if method .type == ' webAuth' %}{void|string}{% elseif method .type == ' location' %}{URL}{% else %}{Promise}{% endif %}
2626
27- */
28- {% if method .type != ' location' and method .type != ' webAuth' %}async {% endif %}{{ method .name | caseCamel }}{{ method .responseModel | getGenerics(spec ) | raw }}({% for parameter in method .parameters .all %}{{ parameter .name | caseCamel | escapeKeyword }}{% if not parameter .required or parameter .nullable %}?{% endif %}: {{ parameter | getPropertyType(method ) | raw }}{% if not loop .last %}, {% endif %}{% endfor %}{% if ' multipart/form-data' in method .consumes %}, onProgress = (progress: UploadProgress) => {}{% endif %}): {{ method | getReturn(spec ) | raw }} {
27+ */
28+ {% if method .type != ' location' and method .type != ' webAuth' %}async {% endif %}{{ method .name | caseCamel }}{{ method .responseModel | getGenerics(spec ) | raw }}({% for parameter in method .parameters .all %}{{ parameter .name | caseCamel | escapeKeyword }}{% if not parameter .required or parameter .nullable %}?{% endif %}: {{ parameter | getPropertyType(method ) | raw }}{% if not loop .last %}, {% endif %}{% endfor %}{% if ' multipart/form-data' in method .consumes %}, onProgress = (progress: UploadProgress) => {}{% endif %}): {{ method | getReturn(spec ) | raw }} {
2929{% for parameter in method .parameters .all %}
3030{% if parameter .required %}
31- if (typeof {{ parameter .name | caseCamel | escapeKeyword }} === 'undefined') {
32- throw new {{spec .title | caseUcfirst }}Exception('Missing required parameter: "{{ parameter .name | caseCamel | escapeKeyword }}"');
33- }
31+ if (typeof {{ parameter .name | caseCamel | escapeKeyword }} === 'undefined') {
32+ throw new {{spec .title | caseUcfirst }}Exception('Missing required parameter: "{{ parameter .name | caseCamel | escapeKeyword }}"');
33+ }
3434
3535{% endif %}
3636{% endfor %}
37- let path = '{{ method .path }}'{% for parameter in method .parameters .path %}.replace('{{ ' {' }}{{ parameter .name | caseCamel | escapeKeyword }}{{ ' }' }}', {{ parameter .name | caseCamel | escapeKeyword }}){% endfor %};
38- let payload: Payload = {};
37+ let path = '{{ method .path }}'{% for parameter in method .parameters .path %}.replace('{{ ' {' }}{{ parameter .name | caseCamel | escapeKeyword }}{{ ' }' }}', {{ parameter .name | caseCamel | escapeKeyword }}){% endfor %};
38+ let payload: Payload = {};
3939
4040{% for parameter in method .parameters .query %}
41- if (typeof {{ parameter .name | caseCamel | escapeKeyword }} !== 'undefined') {
42- payload['{{ parameter .name }}'] = {{ parameter .name | caseCamel | escapeKeyword }};
43- }
41+ if (typeof {{ parameter .name | caseCamel | escapeKeyword }} !== 'undefined') {
42+ payload['{{ parameter .name }}'] = {{ parameter .name | caseCamel | escapeKeyword }};
43+ }
4444
4545{% endfor %}
4646{% for parameter in method .parameters .body %}
47- if (typeof {{ parameter .name | caseCamel | escapeKeyword }} !== 'undefined') {
48- payload['{{ parameter .name }}'] = {{ parameter .name | caseCamel | escapeKeyword }};
49- }
47+ if (typeof {{ parameter .name | caseCamel | escapeKeyword }} !== 'undefined') {
48+ payload['{{ parameter .name }}'] = {{ parameter .name | caseCamel | escapeKeyword }};
49+ }
5050
5151{% endfor %}
52- const uri = new URL(this.client.config.endpoint + path);
52+ const uri = new URL(this.client.config.endpoint + path);
5353{% if method .type == ' location' or method .type == ' webAuth' %}
5454{% if method .auth | length > 0 %}
5555{% for node in method .auth %}
5656{% for key ,header in node | keys %}
57- payload['{{header | caseLower}}'] = this.client.config.{{header | caseLower}};
57+ payload['{{header | caseLower}}'] = this.client.config.{{header | caseLower}};
5858
5959{% endfor %}
6060{% endfor %}
6161{% endif %}
6262
63- for (const [key, value] of Object.entries(Service.flatten(payload))) {
64- uri.searchParams.append(key, value);
65- }
63+ for (const [key, value] of Object.entries(Service.flatten(payload))) {
64+ uri.searchParams.append(key, value);
65+ }
6666{% endif %}
6767{% if method .type == ' webAuth' %}
68- if (typeof window !== 'undefined' && window?.location) {
69- window.location.href = uri.toString();
70- } else {
71- return uri;
72- }
73- {% elseif method .type == ' location' %}
68+ if (typeof window !== 'undefined' && window?.location) {
69+ window.location.href = uri.toString();
70+ } else {
7471 return uri;
72+ }
73+ {% elseif method .type == ' location' %}
74+ return uri;
7575{% else %}
7676{% if ' multipart/form-data' in method .consumes %}
7777{% for parameter in method .parameters .all %}
7878{% if parameter .type == ' file' %}
7979
80- if(!({{ parameter .name | caseCamel | escapeKeyword }} instanceof File)) {
81- throw new {{spec .title | caseUcfirst }}Exception('Parameter "{{ parameter .name | caseCamel | escapeKeyword }}" has to be a File.');
82- }
80+ if(!({{ parameter .name | caseCamel | escapeKeyword }} instanceof File)) {
81+ throw new {{spec .title | caseUcfirst }}Exception('Parameter "{{ parameter .name | caseCamel | escapeKeyword }}" has to be a File.');
82+ }
8383
84- const size = {{ parameter .name | caseCamel | escapeKeyword }}.size;
84+ const size = {{ parameter .name | caseCamel | escapeKeyword }}.size;
8585
86- if (size < = Service.CHUNK_SIZE) {
87- return await this.client.call('{{ method .method | caseLower }}', uri, {
86+ if (size < = Service.CHUNK_SIZE) {
87+ return await this.client.call('{{ method .method | caseLower }}', uri, {
8888
8989{% for parameter in method .parameters .header %}
90- '{{ parameter .name | caseCamel | escapeKeyword }}': this.client.${{ parameter .name | caseCamel | escapeKeyword }},
90+ '{{ parameter .name | caseCamel | escapeKeyword }}': this.client.${{ parameter .name | caseCamel | escapeKeyword }},
9191{% endfor %}
9292{% for key , header in method .headers %}
93- '{{ key }}': '{{ header }}',
93+ '{{ key }}': '{{ header }}',
9494{% endfor %}
95- }, payload);
96- }
97- let id = undefined;
98- let response = undefined;
95+ }, payload);
96+ }
97+ let id = undefined;
98+ let response = undefined;
9999
100- const headers: { [header: string]: string } = {
100+ const headers: { [header: string]: string } = {
101101{% for parameter in method .parameters .header %}
102- '{{ parameter .name | caseCamel | escapeKeyword }}': this.client.${{ parameter .name | caseCamel | escapeKeyword }},
102+ '{{ parameter .name | caseCamel | escapeKeyword }}': this.client.${{ parameter .name | caseCamel | escapeKeyword }},
103103{% endfor %}
104104{% for key , header in method .headers %}
105- '{{ key }}': '{{ header }}',
105+ '{{ key }}': '{{ header }}',
106106{% endfor %}
107- }
107+ }
108108
109- let counter = 0;
110- const totalCounters = Math.ceil(size / Service.CHUNK_SIZE);
109+ let counter = 0;
110+ const totalCounters = Math.ceil(size / Service.CHUNK_SIZE);
111111{% for parameter in method .parameters .all %}
112112{% if parameter .isUploadID %}
113- if({{ parameter .name | caseCamel | escapeKeyword }} != 'unique()') {
114- try {
115- response = await this.client.call('GET', new URL(this.client.config.endpoint + path + '/' + {{ parameter .name }}), headers);
116- counter = response.chunksUploaded;
117- } catch(e) {
118- }
113+ if({{ parameter .name | caseCamel | escapeKeyword }} != 'unique()') {
114+ try {
115+ response = await this.client.call('GET', new URL(this.client.config.endpoint + path + '/' + {{ parameter .name }}), headers);
116+ counter = response.chunksUploaded;
117+ } catch(e) {
119118 }
119+ }
120120{% endif %}
121121{% endfor %}
122122
123- for (counter; counter < totalCounters; counter++) {
124- const start = (counter * Service.CHUNK_SIZE);
125- const end = Math.min((((counter * Service.CHUNK_SIZE) + Service.CHUNK_SIZE) - 1), size);
123+ for (counter; counter < totalCounters; counter++) {
124+ const start = (counter * Service.CHUNK_SIZE);
125+ const end = Math.min((((counter * Service.CHUNK_SIZE) + Service.CHUNK_SIZE) - 1), size);
126126
127- headers['content-range'] = 'bytes ' + start + '-' + end + '/' + size
127+ headers['content-range'] = 'bytes ' + start + '-' + end + '/' + size
128128
129- if (id) {
130- headers['x-{{spec .title | caseLower }}-id'] = id;
131- }
129+ if (id) {
130+ headers['x-{{spec .title | caseLower }}-id'] = id;
131+ }
132132
133- const stream = {{ parameter .name | caseCamel | escapeKeyword }}.slice(start, end + 1);
134- payload['{{ parameter .name }}'] = new File([stream], {{ parameter .name | caseCamel | escapeKeyword }}.name);
133+ const stream = {{ parameter .name | caseCamel | escapeKeyword }}.slice(start, end + 1);
134+ payload['{{ parameter .name }}'] = new File([stream], {{ parameter .name | caseCamel | escapeKeyword }}.name);
135135
136- response = await this.client.call('{{ method .method | caseLower }}', uri, headers, payload);
136+ response = await this.client.call('{{ method .method | caseLower }}', uri, headers, payload);
137137
138- if (!id) {
139- id = response['$id'];
140- }
138+ if (!id) {
139+ id = response['$id'];
140+ }
141141
142- if (onProgress) {
143- onProgress({
144- $id: response.$id,
145- progress: Math.min((counter + 1) * Service.CHUNK_SIZE - 1, size) / size * 100,
146- sizeUploaded: end,
147- chunksTotal: response.chunksTotal,
148- chunksUploaded: response.chunksUploaded
149- });
150- }
142+ if (onProgress) {
143+ onProgress({
144+ $id: response.$id,
145+ progress: Math.min((counter + 1) * Service.CHUNK_SIZE - 1, size) / size * 100,
146+ sizeUploaded: end,
147+ chunksTotal: response.chunksTotal,
148+ chunksUploaded: response.chunksUploaded
149+ });
151150 }
151+ }
152152
153- return response;
153+ return response;
154154{% endif %}
155155{% endfor %}
156156{% else %}
157- return await this.client.call('{{ method .method | caseLower }}', uri, {
157+ return await this.client.call('{{ method .method | caseLower }}', uri, {
158158{% for parameter in method .parameters .header %}
159- '{{ parameter .name | caseCamel | escapeKeyword }}': this.client.${{ parameter .name | caseCamel | escapeKeyword }},
159+ '{{ parameter .name | caseCamel | escapeKeyword }}': this.client.${{ parameter .name | caseCamel | escapeKeyword }},
160160{% endfor %}
161161{% for key , header in method .headers %}
162- '{{ key }}': '{{ header }}',
162+ '{{ key }}': '{{ header }}',
163163{% endfor %}
164- }, payload);
164+ }, payload);
165165{% endif %}
166166{% endif %}
167- }
167+ }
168168{% endfor %}
169169};
0 commit comments