Skip to content

Commit 55106f4

Browse files
committed
Request model support
1 parent ac31311 commit 55106f4

File tree

90 files changed

+3338
-200
lines changed

Some content is hidden

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

90 files changed

+3338
-200
lines changed

composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,6 @@
4040
"squizlabs/php_codesniffer": "3.*"
4141
},
4242
"platform": {
43-
"php": "8.2"
43+
"php": "8.3"
4444
}
4545
}

example.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ function configureSDK($sdk, $overrides = []) {
5151
'gitRepoName' => 'reponame',
5252
'twitter' => 'appwrite',
5353
'discord' => ['564160730845151244', 'https://appwrite.io/discord'],
54-
'defaultHeaders' => ['X-Appwrite-Response-Format' => '1.6.0'],
54+
'defaultHeaders' => ['X-Appwrite-Response-Format' => '1.8.0'],
5555
'readme' => '**README**',
5656
];
5757

mock-server/app/http.php

Lines changed: 36 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
use Utopia\MockServer\Utopia\Response;
1919
use Utopia\Swoole\Request;
2020
use Utopia\Swoole\Response as UtopiaSwooleResponse;
21+
use Utopia\Validator\JSON;
2122
use Utopia\Validator\Text;
2223
use Utopia\Validator\Integer;
2324
use Utopia\Validator\ArrayList;
@@ -26,8 +27,9 @@
2627
use Utopia\Validator\WhiteList;
2728
use Swoole\Process;
2829
use Swoole\Http\Server;
30+
use Utopia\MockServer\Utopia\Model\Player;
31+
use Utopia\MockServer\Utopia\Validator\Player as PlayerValidator;
2932

30-
// Appwrite Init Consts
3133
const APP_AUTH_TYPE_SESSION = 'Session';
3234
const APP_AUTH_TYPE_JWT = 'JWT';
3335
const APP_AUTH_TYPE_KEY = 'Key';
@@ -521,6 +523,39 @@
521523
->action(function (string $mockType) {
522524
});
523525

526+
App::post('/v1/mock/tests/general/models')
527+
->desc('Create Player')
528+
->groups(['mock'])
529+
->label('scope', 'public')
530+
->label('sdk.auth', [APP_AUTH_TYPE_SESSION, APP_AUTH_TYPE_KEY, APP_AUTH_TYPE_JWT])
531+
->label('sdk.namespace', 'general')
532+
->label('sdk.method', 'createPlayer')
533+
->label('sdk.description', 'Create a new player using a request model.')
534+
->label('sdk.response.code', Response::STATUS_CODE_OK)
535+
->label('sdk.response.type', Response::CONTENT_TYPE_JSON)
536+
->label('sdk.response.model', Response::MODEL_MOCK)
537+
->label('sdk.mock', true)
538+
->param('player', [], new PlayerValidator(), 'Player object.', model: Player::class)
539+
->action(function (Player $player) {
540+
});
541+
542+
App::post('/v1/mock/tests/general/models/array')
543+
->desc('Create Players')
544+
->groups(['mock'])
545+
->label('scope', 'public')
546+
->label('sdk.auth', [APP_AUTH_TYPE_SESSION, APP_AUTH_TYPE_KEY, APP_AUTH_TYPE_JWT])
547+
->label('sdk.namespace', 'general')
548+
->label('sdk.method', 'createPlayers')
549+
->label('sdk.description', 'Create multiple players using an array of request models.')
550+
->label('sdk.response.code', Response::STATUS_CODE_OK)
551+
->label('sdk.response.type', Response::CONTENT_TYPE_JSON)
552+
->label('sdk.response.model', Response::MODEL_MOCK)
553+
->label('sdk.mock', true)
554+
->param('players', [], new ArrayList(new PlayerValidator(), APP_LIMIT_ARRAY_PARAMS_SIZE), 'Array of player objects.', model: Player::class)
555+
->action(function (array $players) {
556+
/** @var Player[] $players */
557+
});
558+
524559
App::get('/v1/mock/tests/general/400-error')
525560
->desc('400 Error')
526561
->groups(['mock'])

mock-server/composer.json

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,12 @@
1616
"swoole/ide-helper": "5.1.2"
1717
},
1818
"platform": {
19-
"php": "8.2"
19+
"php": "8.4"
20+
},
21+
"config": {
22+
"allow-plugins": {
23+
"php-http/discovery": true,
24+
"tbachert/spi": true
25+
}
2026
}
2127
}

0 commit comments

Comments
 (0)