Skip to content

Commit 8004657

Browse files
authored
Merge pull request #674 from 2002Bishwajeet/feat-whitelist-enums
feat: Enum Whitelist
2 parents c4ef17e + 453ffdb commit 8004657

47 files changed

Lines changed: 314 additions & 36 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

example.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,8 @@ function getSSLPage($url) {
3737
}
3838

3939
// Leave the platform you want uncommented
40-
$platform = 'client';
41-
// $platform = 'console';
40+
// $platform = 'client';
41+
$platform = 'console';
4242
// $platform = 'server';
4343

4444
$spec = getSSLPage("https://raw.githubusercontent.com/appwrite/appwrite/master/app/config/specs/swagger2-latest-{$platform}.json");

src/SDK/Language/Android.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -387,6 +387,11 @@ public function getFiles(): array
387387
'destination' => 'library/src/main/java/io/appwrite/models/{{ definition.name | caseUcfirst }}.kt',
388388
'template' => '/android/library/src/main/java/io/appwrite/models/Model.kt.twig',
389389
],
390+
[
391+
'scope' => 'enum',
392+
'destination' => 'library/src/main/java/io/appwrite/enums/{{ enum.name | caseUcfirst }}.kt',
393+
'template' => '/android/library/src/main/java/io/appwrite/enums/Enum.kt.twig',
394+
],
390395
];
391396
}
392397
}

src/SDK/Language/Apple.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,11 @@ public function getFiles(): array
6060
'destination' => '/Sources/{{ spec.title | caseUcfirst}}/WebSockets/WebSocketClientError.swift',
6161
'template' => '/swift/Sources/WebSockets/WebSocketClientError.swift.twig',
6262
],
63+
[
64+
'scope' => 'enum',
65+
'destination' => '/Sources/{{ spec.title | caseUcfirst}}/Enums/{{ enum.name | caseUcfirst }}.swift',
66+
'template' => '/swift/Sources/Enums/Enum.swift.twig',
67+
],
6368
// Config for project example-swiftui
6469
[
6570
'scope' => 'default',

src/SDK/Language/Dart.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -466,6 +466,11 @@ public function getFiles(): array
466466
'destination' => 'lib/src/input_file.dart',
467467
'template' => 'dart/lib/src/input_file.dart.twig',
468468
],
469+
[
470+
'scope' => 'enum',
471+
'destination' => 'lib/src/enums/{{ enum.name | caseSnake }}.dart',
472+
'template' => 'dart/lib/src/enums/enum.dart.twig',
473+
],
469474
];
470475
}
471476

src/SDK/Language/Deno.php

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,11 @@ public function getFiles(): array
9393
'destination' => 'docs/examples/{{service.name | caseLower}}/{{method.name | caseDash}}.md',
9494
'template' => 'deno/docs/example.md.twig',
9595
],
96+
[
97+
'scope' => 'enum',
98+
'destination' => 'src/enums/{{ enum.name | caseDash }}.ts',
99+
'template' => 'deno/src/enums/enum.ts.twig',
100+
],
96101
];
97102
}
98103

@@ -102,6 +107,10 @@ public function getFiles(): array
102107
*/
103108
public function getTypeName(array $parameter): string
104109
{
110+
if (isset($parameter['enumName'])) {
111+
return $parameter['enumName'];
112+
}
113+
105114
switch ($parameter['type']) {
106115
case self::TYPE_INTEGER:
107116
return 'number';

src/SDK/Language/DotNet.php

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,8 @@ public function getKeywords(): array
129129
'when',
130130
'where',
131131
'while',
132-
'yield'
132+
'yield',
133+
'path'
133134
];
134135
}
135136

@@ -150,6 +151,7 @@ public function getIdentifierOverrides(): array
150151
*/
151152
public function getTypeName(array $parameter): string
152153
{
154+
153155
switch ($parameter['type']) {
154156
case self::TYPE_INTEGER:
155157
return 'long';
@@ -394,6 +396,11 @@ public function getFiles(): array
394396
'scope' => 'definition',
395397
'destination' => '/src/{{ spec.title | caseUcfirst }}/Models/{{ definition.name | caseUcfirst | overrideIdentifier }}.cs',
396398
'template' => 'dotnet/src/Appwrite/Models/Model.cs.twig',
399+
],
400+
[
401+
'scope' => 'enum',
402+
'destination' => '/src/{{ spec.title | caseUcfirst }}/Enums/{{ enum.name | caseUcfirst | overrideIdentifier }}.cs',
403+
'template' => 'dotnet/src/Appwrite/Enums/Enums.cs.twig',
397404
]
398405
];
399406
}

src/SDK/Language/Flutter.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -330,6 +330,11 @@ public function getFiles(): array
330330
'destination' => '.travis.yml',
331331
'template' => 'flutter/.travis.yml.twig',
332332
],
333+
[
334+
'scope' => 'enum',
335+
'destination' => 'lib/src/enums/{{ enum.name | caseSnake }}.dart',
336+
'template' => 'dart/lib/src/enums/enum.dart.twig',
337+
],
333338
];
334339
}
335340
}

src/SDK/Language/JS.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,7 @@ public function getKeywords(): array
105105
'while',
106106
'with',
107107
'yield',
108+
'path'
108109
];
109110
}
110111

@@ -123,6 +124,7 @@ public function getIdentifierOverrides(): array
123124
*/
124125
public function getTypeName(array $parameter): string
125126
{
127+
126128
switch ($parameter['type']) {
127129
case self::TYPE_INTEGER:
128130
case self::TYPE_NUMBER:

src/SDK/Language/Kotlin.php

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,8 @@ public function getKeywords(): array
8686
"vararg",
8787
"when",
8888
"where",
89-
"while"
89+
"while",
90+
"path"
9091
];
9192
}
9293

@@ -104,6 +105,7 @@ public function getIdentifierOverrides(): array
104105
*/
105106
public function getTypeName(array $parameter): string
106107
{
108+
107109
switch ($parameter['type']) {
108110
case self::TYPE_INTEGER:
109111
return 'Long';
@@ -418,6 +420,11 @@ public function getFiles(): array
418420
'destination' => '/src/main/kotlin/{{ sdk.namespace | caseSlash }}/models/{{ definition.name | caseUcfirst }}.kt',
419421
'template' => '/kotlin/src/main/kotlin/io/appwrite/models/Model.kt.twig',
420422
],
423+
[
424+
'scope' => 'enum',
425+
'destination' => '/src/main/kotlin/{{ sdk.namespace | caseSlash }}/enums/{{ enum.name | caseUcfirst }}.kt',
426+
'template' => '/kotlin/src/main/kotlin/io/appwrite/enums/Enum.kt.twig',
427+
],
421428
];
422429
}
423430

src/SDK/Language/Node.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,11 @@ public function getFiles(): array
126126
'destination' => '.travis.yml',
127127
'template' => 'node/.travis.yml.twig',
128128
],
129+
[
130+
'scope' => 'enum',
131+
'destination' => 'lib/enums/{{ enum.name | caseDash }}.js',
132+
'template' => 'node/lib/enums/enum.js.twig',
133+
],
129134
];
130135
}
131136

0 commit comments

Comments
 (0)