Skip to content

Commit d6894dc

Browse files
Merge branch 'master' of https://github.com/appwrite/sdk-generator into feat-web-response-models
2 parents c1142da + c025e74 commit d6894dc

File tree

7 files changed

+35
-38
lines changed

7 files changed

+35
-38
lines changed

src/Spec/Swagger2.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -295,12 +295,14 @@ public function getDefinitions() {
295295
$sch = [
296296
"name" => $key,
297297
"properties"=> $schema['properties'] ?? [],
298+
"description"=> $schema['description'] ?? [],
298299
"required" => $schema['required'] ?? [],
299300
"additionalProperties" => $schema['additionalProperties'] ?? []
300301
];
301302
if(isset($sch['properties'])) {
302303
foreach($sch['properties'] as $name => $def) {
303304
$sch['properties'][$name]['name'] = $name;
305+
$sch['properties'][$name]['description'] = $def['description'];
304306
$sch['properties'][$name]['required'] = in_array($name,$sch['required']);
305307
if(isset($def['items']['$ref'])) {
306308
//nested model

templates/flutter/lib/package.dart.twig

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ import 'src/redirect_stub.dart'
88
if (dart.library.html) 'src/redirect_browser.dart';
99
import 'src/enums.dart';
1010
import 'src/client.dart';
11-
import 'src/response.dart';
1211
import 'src/service.dart';
1312
import 'models.dart' as models;
1413

templates/flutter/lib/src/models/model.dart.twig

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
{% macro sub_schema(property) %}{% if property.sub_schema %}{% if property.type == 'array' %}List<{{property.sub_schema | caseUcfirst}}>{% else %}{{property.sub_schema | caseUcfirst}}{% endif %}{% else %}{{property.type | typeName}}{% endif %}{% endmacro %}
22
part of {{ language.params.packageName }}.models;
33

4+
/// {{ definition.description }}
45
class {{ definition.name | caseUcfirst }} {
56
{% for property in definition.properties %}
7+
/// {{ property.description }}
68
final {% if not property.required %}{{_self.sub_schema(property)}}? {{ property.name | escapeKeyword }}{% else %}{{_self.sub_schema(property)}} {{ property.name | escapeKeyword }}{% endif %};
79
{% endfor %}
810
{% if definition.additionalProperties %}

templates/flutter/lib/src/realtime_mixin.dart.twig

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@ mixin RealtimeMixin {
2020
late WebSocketFactory getWebSocket;
2121
GetFallbackCookie? getFallbackCookie;
2222

23-
_closeConnection() {
24-
_websok?.sink.close(normalClosure);
23+
Future<dynamic> _closeConnection() async {
24+
return await _websok?.sink.close(normalClosure);
2525
}
2626

2727
_createSocket() async {
@@ -32,7 +32,7 @@ mixin RealtimeMixin {
3232
if (_lastUrl == uri.toString() && _websok?.closeCode == null) {
3333
return;
3434
}
35-
_closeConnection();
35+
await _closeConnection();
3636
_lastUrl = uri.toString();
3737
print('subscription: $_lastUrl');
3838
_websok = await getWebSocket(uri);
@@ -112,7 +112,7 @@ mixin RealtimeMixin {
112112
Future.delayed(Duration.zero, () => _createSocket());
113113
RealtimeSubscription subscription = RealtimeSubscription(
114114
stream: controller.stream,
115-
close: () {
115+
close: () async {
116116
controller.close();
117117
channels.forEach((channel) {
118118
this._channels[channel]!.remove(controller);
@@ -121,9 +121,9 @@ mixin RealtimeMixin {
121121
}
122122
});
123123
if(this._channels.isNotEmpty) {
124-
Future.delayed(Duration.zero, () => _createSocket());
124+
await Future.delayed(Duration.zero, () => _createSocket());
125125
} else {
126-
_closeConnection();
126+
await _closeConnection();
127127
}
128128
});
129129
return subscription;

templates/flutter/lib/src/realtime_subscription.dart.twig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import 'realtime_message.dart';
22

33
class RealtimeSubscription {
44
final Stream<RealtimeMessage> stream;
5-
final Function() close;
5+
final Future<void> Function() close;
66

77
RealtimeSubscription({required this.stream, required this.close});
88
}

tests/SDKTest.php

Lines changed: 22 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -26,24 +26,7 @@ class SDKTest extends TestCase
2626
],
2727
'supportException' => true,
2828
],
29-
'web' => [
30-
'class' => 'Appwrite\SDK\Language\Web',
31-
'build' => [
32-
'cp tests/languages/web/tests.js tests/sdks/web/tests.js',
33-
'cp tests/languages/web/node.js tests/sdks/web/node.js',
34-
'cp tests/languages/web/index.html tests/sdks/web/index.html',
35-
'docker run --rm -v $(pwd):/app -w /app/tests/sdks/web mcr.microsoft.com/playwright:v1.15.0-focal npm install', // npm list --depth 0 &&
36-
'docker run --rm -v $(pwd):/app -w /app/tests/sdks/web mcr.microsoft.com/playwright:v1.15.0-focal npm run build',
37-
],
38-
'envs' => [
39-
'chromium' => 'docker run --rm -v $(pwd):/app -e BROWSER=chromium -w /app/tests/sdks/web mcr.microsoft.com/playwright:v1.15.0-focal node tests.js',
40-
'firefox' => 'docker run --rm -v $(pwd):/app -e BROWSER=firefox -w /app/tests/sdks/web mcr.microsoft.com/playwright:v1.15.0-focal node tests.js',
41-
'webkit' => 'docker run --rm -v $(pwd):/app -e BROWSER=webkit -w /app/tests/sdks/web mcr.microsoft.com/playwright:v1.15.0-focal node tests.js',
42-
'node' => 'docker run --rm -v $(pwd):/app -w /app/tests/sdks/web mcr.microsoft.com/playwright:v1.15.0-focal node node.js',
43-
],
44-
'supportException' => true,
45-
'supportRealtime' => true
46-
],
29+
4730
'cli' => [
4831
'class' => 'Appwrite\SDK\Language\CLI',
4932
'build' => [
@@ -129,6 +112,24 @@ class SDKTest extends TestCase
129112
'supportException' => true,
130113
],
131114

115+
'web' => [
116+
'class' => 'Appwrite\SDK\Language\Web',
117+
'build' => [
118+
'cp tests/languages/web/tests.js tests/sdks/web/tests.js',
119+
'cp tests/languages/web/node.js tests/sdks/web/node.js',
120+
'cp tests/languages/web/index.html tests/sdks/web/index.html',
121+
'docker run --rm -v $(pwd):/app -w /app/tests/sdks/web mcr.microsoft.com/playwright:v1.15.0-focal npm install', // npm list --depth 0 &&
122+
'docker run --rm -v $(pwd):/app -w /app/tests/sdks/web mcr.microsoft.com/playwright:v1.15.0-focal npm run build',
123+
],
124+
'envs' => [
125+
'chromium' => 'docker run --rm -v $(pwd):/app -e BROWSER=chromium -w /app/tests/sdks/web mcr.microsoft.com/playwright:v1.15.0-focal node tests.js',
126+
'firefox' => 'docker run --rm -v $(pwd):/app -e BROWSER=firefox -w /app/tests/sdks/web mcr.microsoft.com/playwright:v1.15.0-focal node tests.js',
127+
'node' => 'docker run --rm -v $(pwd):/app -w /app/tests/sdks/web mcr.microsoft.com/playwright:v1.15.0-focal node node.js',
128+
],
129+
'supportException' => true,
130+
'supportRealtime' => true
131+
],
132+
132133
'deno' => [
133134
'class' => 'Appwrite\SDK\Language\Deno',
134135
'build' => [
@@ -145,8 +146,6 @@ class SDKTest extends TestCase
145146
'docker run --rm -v $(pwd):/app -w /app/tests/sdks/node node:12.12-alpine npm install',
146147
],
147148
'envs' => [
148-
'nodejs-8' => 'docker run --rm -v $(pwd):/app -w /app node:8-alpine node tests/languages/node/test.js',
149-
'nodejs-10' => 'docker run --rm -v $(pwd):/app -w /app node:10-alpine node tests/languages/node/test.js',
150149
'nodejs-12' => 'docker run --rm -v $(pwd):/app -w /app node:12-alpine node tests/languages/node/test.js',
151150
'nodejs-14' => 'docker run --rm -v $(pwd):/app -w /app node:14-alpine node tests/languages/node/test.js',
152151
'nodejs-16' => 'docker run --rm -v $(pwd):/app -w /app node:14-alpine node tests/languages/node/test.js',
@@ -161,9 +160,6 @@ class SDKTest extends TestCase
161160
],
162161
'envs' => [
163162
'ruby-2.7' => 'docker run --rm -v $(pwd):/app -w /app --env GEM_HOME=vendor ruby:2.7-alpine ruby tests/languages/ruby/tests.rb',
164-
'ruby-2.6' => 'docker run --rm -v $(pwd):/app -w /app --env GEM_HOME=vendor ruby:2.6-alpine ruby tests/languages/ruby/tests.rb',
165-
'ruby-2.5' => 'docker run --rm -v $(pwd):/app -w /app --env GEM_HOME=vendor ruby:2.5-alpine ruby tests/languages/ruby/tests.rb',
166-
'ruby-2.4' => 'docker run --rm -v $(pwd):/app -w /app --env GEM_HOME=vendor ruby:2.4-alpine ruby tests/languages/ruby/tests.rb',
167163
],
168164
'supportException' => false,
169165
],
@@ -176,14 +172,10 @@ class SDKTest extends TestCase
176172
'docker run --rm -v $(pwd):/app -w /app --env PIP_TARGET=tests/sdks/python/vendor python:3.8 pip install -r tests/sdks/python/requirements.txt --upgrade',
177173
],
178174
'envs' => [
179-
'python-3.8' => 'docker run --rm -v $(pwd):/app -w /app --env PIP_TARGET=tests/sdks/python/vendor --env PYTHONPATH=tests/sdks/python/vendor python:3.8-alpine python tests/sdks/python/test.py',
175+
'python-3.9' => 'docker run --rm -v $(pwd):/app -w /app --env PIP_TARGET=tests/sdks/python/vendor --env PYTHONPATH=tests/sdks/python/vendor python:3.8-alpine python tests/sdks/python/test.py',
176+
'python-3.8' => 'docker run --rm -v $(pwd):/app -w /app --env PIP_TARGET=tests/sdks/python/vendor --env PYTHONPATH=tests/sdks/python/vendor python:3.7-alpine python tests/sdks/python/test.py',
180177
'python-3.7' => 'docker run --rm -v $(pwd):/app -w /app --env PIP_TARGET=tests/sdks/python/vendor --env PYTHONPATH=tests/sdks/python/vendor python:3.7-alpine python tests/sdks/python/test.py',
181-
'python-3.6' => 'docker run --rm -v $(pwd):/app -w /app --env PIP_TARGET=tests/sdks/python/vendor --env PYTHONPATH=tests/sdks/python/vendor python:3.6-alpine python tests/sdks/python/test.py',
182-
'python-3.5' => 'docker run --rm -v $(pwd):/app -w /app --env PIP_TARGET=tests/sdks/python/vendor --env PYTHONPATH=tests/sdks/python/vendor python:3.5-alpine python tests/sdks/python/test.py',
183-
// 'python-3.4' => 'docker run --rm -v $(pwd):/app -w /app --env PIP_TARGET=tests/sdks/python/vendor --env PYTHONPATH=tests/sdks/python/vendor python:3.4-alpine python tests/sdks/python/test.py',
184-
// 'python-3.3' => 'docker run --rm -v $(pwd):/app -w /app --env PIP_TARGET=tests/sdks/python/vendor --env PYTHONPATH=tests/sdks/python/vendor python:3.3-alpine python tests/sdks/python/test.py',
185-
// 'python-3.2' => 'docker run --rm -v $(pwd):/app -w /app --env PIP_TARGET=tests/sdks/python/vendor --env PYTHONPATH=tests/sdks/python/vendor python:3.2 python tests/sdks/python/test.py',
186-
// 'python-3.1' => 'docker run --rm -v $(pwd):/app -w /app --env PIP_TARGET=tests/sdks/python/vendor --env PYTHONPATH=tests/sdks/python/vendor python:3.1 python tests/sdks/python/test.py',
178+
'python-3.6' => 'docker run --rm -v $(pwd):/app -w /app --env PIP_TARGET=tests/sdks/python/vendor --env PYTHONPATH=tests/sdks/python/vendor python:3.7-alpine python tests/sdks/python/test.py',
187179
],
188180
'supportException' => true,
189181
],

tests/languages/web/tests.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ const playwright = require('playwright');
22
const handler = require('serve-handler');
33
const http = require('http');
44
const path = require('path');
5+
const { exit } = require('process');
56

67
const server = http.createServer((request, response) => {
78
return handler(request, response)
@@ -24,5 +25,6 @@ server.listen(3000, async () => {
2425
setTimeout(async () => {
2526
await browser.close();
2627
server.close();
28+
exit(0);
2729
}, 10000);
2830
});

0 commit comments

Comments
 (0)