From abf395ff9a67ec97f90bd33cc26881ef264cee2c Mon Sep 17 00:00:00 2001 From: LittleSheep Date: Sun, 24 Aug 2025 21:49:40 +0800 Subject: [PATCH] :bug: Dozens of bug fixes --- lib/screens/developers/edit_app.dart | 28 +- lib/screens/discovery/articles.dart | 98 +- lib/screens/discovery/articles.g.dart | 19 + .../discovery/feeds/feed_detail.g.dart | 2 +- lib/screens/realm/realm_detail.g.dart | 2 +- swagger.json | 1169 ----------------- 6 files changed, 116 insertions(+), 1202 deletions(-) delete mode 100644 swagger.json diff --git a/lib/screens/developers/edit_app.dart b/lib/screens/developers/edit_app.dart index b00c1d7e..e4464e0d 100644 --- a/lib/screens/developers/edit_app.dart +++ b/lib/screens/developers/edit_app.dart @@ -297,16 +297,24 @@ class EditAppScreen extends HookConsumerWidget { } : null, }; - if (isNew) { - await client.post( - '/develop/developers/$publisherName/projects/$projectId/apps', - data: data, - ); - } else { - await client.patch( - '/develop/developers/$publisherName/projects/$projectId/apps/$id', - data: data, - ); + try { + showLoadingModal(context); + if (isNew) { + await client.post( + '/develop/developers/$publisherName/projects/$projectId/apps', + data: data, + ); + } else { + await client.patch( + '/develop/developers/$publisherName/projects/$projectId/apps/$id', + data: data, + ); + } + } catch (err) { + showErrorAlert(err); + return; + } finally { + if (context.mounted) hideLoadingModal(context); } ref.invalidate(customAppsProvider(publisherName, projectId)); if (context.mounted) { diff --git a/lib/screens/discovery/articles.dart b/lib/screens/discovery/articles.dart index 9578ce57..65dbb9d2 100644 --- a/lib/screens/discovery/articles.dart +++ b/lib/screens/discovery/articles.dart @@ -116,33 +116,89 @@ class SliverArticlesList extends ConsumerWidget { } } -class ArticlesScreen extends ConsumerWidget { - final String? feedId; - final String? publisherId; - final String? title; +@riverpod +Future> subscribedFeeds(Ref ref) async { + final client = ref.watch(apiClientProvider); + final response = await client.get('/sphere/feeds/subscribed'); + final data = response.data as List; + return data.map((json) => SnWebFeed.fromJson(json)).toList(); +} - const ArticlesScreen({super.key, this.feedId, this.publisherId, this.title}); +class ArticlesScreen extends ConsumerWidget { + const ArticlesScreen({super.key}); @override Widget build(BuildContext context, WidgetRef ref) { - return AppScaffold( - appBar: AppBar(title: Text(title ?? 'Articles')), - body: Center( - child: ConstrainedBox( - constraints: const BoxConstraints(maxWidth: 560), - child: CustomScrollView( - slivers: [ - SliverPadding( - padding: const EdgeInsets.only(top: 8, left: 8, right: 8), - sliver: SliverArticlesList( - feedId: feedId, - publisherId: publisherId, - ), + final subscribedFeedsAsync = ref.watch(subscribedFeedsProvider); + + return subscribedFeedsAsync.when( + data: (feeds) { + return DefaultTabController( + length: feeds.length + 1, + child: AppScaffold( + appBar: AppBar( + title: const Text('Articles'), + bottom: TabBar( + isScrollable: true, + tabs: [ + const Tab(text: 'All'), + ...feeds.map((feed) => Tab(text: feed.title)), + ], ), - ], + ), + body: TabBarView( + children: [ + Center( + child: ConstrainedBox( + constraints: const BoxConstraints(maxWidth: 560), + child: CustomScrollView( + slivers: [ + SliverPadding( + padding: const EdgeInsets.only( + top: 8, + left: 8, + right: 8, + ), + sliver: SliverArticlesList(), + ), + ], + ), + ), + ), + ...feeds.map((feed) { + return Center( + child: ConstrainedBox( + constraints: const BoxConstraints(maxWidth: 560), + child: CustomScrollView( + slivers: [ + SliverPadding( + padding: const EdgeInsets.only( + top: 8, + left: 8, + right: 8, + ), + sliver: SliverArticlesList(feedId: feed.id), + ), + ], + ), + ), + ); + }).toList(), + ], + ), + ), + ); + }, + loading: + () => AppScaffold( + appBar: AppBar(title: const Text('Articles')), + body: const Center(child: CircularProgressIndicator()), + ), + error: + (err, stack) => AppScaffold( + appBar: AppBar(title: const Text('Articles')), + body: Center(child: Text('Error: $err')), ), - ), - ), ); } } diff --git a/lib/screens/discovery/articles.g.dart b/lib/screens/discovery/articles.g.dart index 67be4cc3..92f6d1ad 100644 --- a/lib/screens/discovery/articles.g.dart +++ b/lib/screens/discovery/articles.g.dart @@ -6,6 +6,25 @@ part of 'articles.dart'; // RiverpodGenerator // ************************************************************************** +String _$subscribedFeedsHash() => r'cd2f5d7d4ea49ad00dc731f8fc2ed65450a3f0e4'; + +/// See also [subscribedFeeds]. +@ProviderFor(subscribedFeeds) +final subscribedFeedsProvider = + AutoDisposeFutureProvider>.internal( + subscribedFeeds, + name: r'subscribedFeedsProvider', + debugGetCreateSourceHash: + const bool.fromEnvironment('dart.vm.product') + ? null + : _$subscribedFeedsHash, + dependencies: null, + allTransitiveDependencies: null, + ); + +@Deprecated('Will be removed in 3.0. Use Ref instead') +// ignore: unused_element +typedef SubscribedFeedsRef = AutoDisposeFutureProviderRef>; String _$articlesListNotifierHash() => r'579741af4d90c7c81f2e2697e57c4895b7a9dabc'; diff --git a/lib/screens/discovery/feeds/feed_detail.g.dart b/lib/screens/discovery/feeds/feed_detail.g.dart index c42e36a5..e3bc890f 100644 --- a/lib/screens/discovery/feeds/feed_detail.g.dart +++ b/lib/screens/discovery/feeds/feed_detail.g.dart @@ -291,7 +291,7 @@ class _MarketplaceWebFeedSubscriptionProviderElement } String _$marketplaceWebFeedContentNotifierHash() => - r'eff0eee14a244a2597756a61ad5957ae397c9bf5'; + r'25688082884cb824eeff300888ba38c9748295dc'; abstract class _$MarketplaceWebFeedContentNotifier extends BuildlessAutoDisposeAsyncNotifier> { diff --git a/lib/screens/realm/realm_detail.g.dart b/lib/screens/realm/realm_detail.g.dart index 4dd9f0c3..c369db6c 100644 --- a/lib/screens/realm/realm_detail.g.dart +++ b/lib/screens/realm/realm_detail.g.dart @@ -399,7 +399,7 @@ class _RealmChatRoomsProviderElement } String _$realmMemberListNotifierHash() => - r'2f88f803b2e61e7287ed8a43025173e56ff6ca3b'; + r'db1fd8a6741dfb3d5bb921d5d965f0cfdc0e7bcc'; abstract class _$RealmMemberListNotifier extends BuildlessAutoDisposeAsyncNotifier> { diff --git a/swagger.json b/swagger.json deleted file mode 100644 index 1365adff..00000000 --- a/swagger.json +++ /dev/null @@ -1,1169 +0,0 @@ -{ - "openapi": "3.0.4", - "info": { - "title": "Develop API", - "version": "v1" - }, - "paths": { - "/api/developers/{pubName}/projects/{projectId}/bots": { - "get": { - "tags": [ - "BotAccount" - ], - "parameters": [ - { - "name": "pubName", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "projectId", - "in": "path", - "required": true, - "schema": { - "type": "string", - "format": "uuid" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - }, - "post": { - "tags": [ - "BotAccount" - ], - "parameters": [ - { - "name": "pubName", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "projectId", - "in": "path", - "required": true, - "schema": { - "type": "string", - "format": "uuid" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/BotRequest" - } - }, - "text/json": { - "schema": { - "$ref": "#/components/schemas/BotRequest" - } - }, - "application/*+json": { - "schema": { - "$ref": "#/components/schemas/BotRequest" - } - } - } - }, - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/api/developers/{pubName}/projects/{projectId}/bots/{botId}": { - "get": { - "tags": [ - "BotAccount" - ], - "parameters": [ - { - "name": "pubName", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "projectId", - "in": "path", - "required": true, - "schema": { - "type": "string", - "format": "uuid" - } - }, - { - "name": "botId", - "in": "path", - "required": true, - "schema": { - "type": "string", - "format": "uuid" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - }, - "put": { - "tags": [ - "BotAccount" - ], - "parameters": [ - { - "name": "pubName", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "projectId", - "in": "path", - "required": true, - "schema": { - "type": "string", - "format": "uuid" - } - }, - { - "name": "botId", - "in": "path", - "required": true, - "schema": { - "type": "string", - "format": "uuid" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UpdateBotRequest" - } - }, - "text/json": { - "schema": { - "$ref": "#/components/schemas/UpdateBotRequest" - } - }, - "application/*+json": { - "schema": { - "$ref": "#/components/schemas/UpdateBotRequest" - } - } - } - }, - "responses": { - "200": { - "description": "OK" - } - } - }, - "delete": { - "tags": [ - "BotAccount" - ], - "parameters": [ - { - "name": "pubName", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "projectId", - "in": "path", - "required": true, - "schema": { - "type": "string", - "format": "uuid" - } - }, - { - "name": "botId", - "in": "path", - "required": true, - "schema": { - "type": "string", - "format": "uuid" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/api/developers/{pubName}/projects/{projectId}/apps": { - "get": { - "tags": [ - "CustomApp" - ], - "parameters": [ - { - "name": "pubName", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "projectId", - "in": "path", - "required": true, - "schema": { - "type": "string", - "format": "uuid" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - }, - "post": { - "tags": [ - "CustomApp" - ], - "parameters": [ - { - "name": "pubName", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "projectId", - "in": "path", - "required": true, - "schema": { - "type": "string", - "format": "uuid" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CustomAppRequest" - } - }, - "text/json": { - "schema": { - "$ref": "#/components/schemas/CustomAppRequest" - } - }, - "application/*+json": { - "schema": { - "$ref": "#/components/schemas/CustomAppRequest" - } - } - } - }, - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/api/developers/{pubName}/projects/{projectId}/apps/{appId}": { - "get": { - "tags": [ - "CustomApp" - ], - "parameters": [ - { - "name": "pubName", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "projectId", - "in": "path", - "required": true, - "schema": { - "type": "string", - "format": "uuid" - } - }, - { - "name": "appId", - "in": "path", - "required": true, - "schema": { - "type": "string", - "format": "uuid" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - }, - "patch": { - "tags": [ - "CustomApp" - ], - "parameters": [ - { - "name": "pubName", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "projectId", - "in": "path", - "required": true, - "schema": { - "type": "string", - "format": "uuid" - } - }, - { - "name": "appId", - "in": "path", - "required": true, - "schema": { - "type": "string", - "format": "uuid" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CustomAppRequest" - } - }, - "text/json": { - "schema": { - "$ref": "#/components/schemas/CustomAppRequest" - } - }, - "application/*+json": { - "schema": { - "$ref": "#/components/schemas/CustomAppRequest" - } - } - } - }, - "responses": { - "200": { - "description": "OK" - } - } - }, - "delete": { - "tags": [ - "CustomApp" - ], - "parameters": [ - { - "name": "pubName", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "projectId", - "in": "path", - "required": true, - "schema": { - "type": "string", - "format": "uuid" - } - }, - { - "name": "appId", - "in": "path", - "required": true, - "schema": { - "type": "string", - "format": "uuid" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/api/developers/{name}": { - "get": { - "tags": [ - "Developer" - ], - "parameters": [ - { - "name": "name", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "text/plain": { - "schema": { - "$ref": "#/components/schemas/Developer" - } - }, - "application/json": { - "schema": { - "$ref": "#/components/schemas/Developer" - } - }, - "text/json": { - "schema": { - "$ref": "#/components/schemas/Developer" - } - } - } - } - } - } - }, - "/api/developers/{name}/stats": { - "get": { - "tags": [ - "Developer" - ], - "parameters": [ - { - "name": "name", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "text/plain": { - "schema": { - "$ref": "#/components/schemas/DeveloperStats" - } - }, - "application/json": { - "schema": { - "$ref": "#/components/schemas/DeveloperStats" - } - }, - "text/json": { - "schema": { - "$ref": "#/components/schemas/DeveloperStats" - } - } - } - } - } - } - }, - "/api/developers": { - "get": { - "tags": [ - "Developer" - ], - "responses": { - "200": { - "description": "OK", - "content": { - "text/plain": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Developer" - } - } - }, - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Developer" - } - } - }, - "text/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Developer" - } - } - } - } - } - } - } - }, - "/api/developers/{name}/enroll": { - "post": { - "tags": [ - "Developer" - ], - "parameters": [ - { - "name": "name", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "text/plain": { - "schema": { - "$ref": "#/components/schemas/Developer" - } - }, - "application/json": { - "schema": { - "$ref": "#/components/schemas/Developer" - } - }, - "text/json": { - "schema": { - "$ref": "#/components/schemas/Developer" - } - } - } - } - } - } - }, - "/api/developers/{pubName}/projects": { - "get": { - "tags": [ - "DevProject" - ], - "parameters": [ - { - "name": "pubName", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - }, - "post": { - "tags": [ - "DevProject" - ], - "parameters": [ - { - "name": "pubName", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/DevProjectRequest" - } - }, - "text/json": { - "schema": { - "$ref": "#/components/schemas/DevProjectRequest" - } - }, - "application/*+json": { - "schema": { - "$ref": "#/components/schemas/DevProjectRequest" - } - } - } - }, - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/api/developers/{pubName}/projects/{id}": { - "get": { - "tags": [ - "DevProject" - ], - "parameters": [ - { - "name": "pubName", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "id", - "in": "path", - "required": true, - "schema": { - "type": "string", - "format": "uuid" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - }, - "put": { - "tags": [ - "DevProject" - ], - "parameters": [ - { - "name": "pubName", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "id", - "in": "path", - "required": true, - "schema": { - "type": "string", - "format": "uuid" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/DevProjectRequest" - } - }, - "text/json": { - "schema": { - "$ref": "#/components/schemas/DevProjectRequest" - } - }, - "application/*+json": { - "schema": { - "$ref": "#/components/schemas/DevProjectRequest" - } - } - } - }, - "responses": { - "200": { - "description": "OK" - } - } - }, - "delete": { - "tags": [ - "DevProject" - ], - "parameters": [ - { - "name": "pubName", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "id", - "in": "path", - "required": true, - "schema": { - "type": "string", - "format": "uuid" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - } - }, - "components": { - "schemas": { - "BotRequest": { - "type": "object", - "properties": { - "slug": { - "type": "string", - "nullable": true - } - }, - "additionalProperties": false - }, - "CloudFileReferenceObject": { - "type": "object", - "properties": { - "created_at": { - "$ref": "#/components/schemas/Instant" - }, - "updated_at": { - "$ref": "#/components/schemas/Instant" - }, - "deleted_at": { - "$ref": "#/components/schemas/Instant" - }, - "id": { - "type": "string", - "nullable": true - }, - "name": { - "type": "string", - "nullable": true - }, - "file_meta": { - "type": "object", - "additionalProperties": { - "nullable": true - }, - "nullable": true - }, - "user_meta": { - "type": "object", - "additionalProperties": { - "nullable": true - }, - "nullable": true - }, - "sensitive_marks": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ContentSensitiveMark" - }, - "nullable": true - }, - "mime_type": { - "type": "string", - "nullable": true - }, - "hash": { - "type": "string", - "nullable": true - }, - "size": { - "type": "integer", - "format": "int64" - }, - "has_compression": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "ContentSensitiveMark": { - "enum": [ - 0, - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12 - ], - "type": "integer", - "format": "int32" - }, - "CustomAppLinks": { - "type": "object", - "properties": { - "home_page": { - "maxLength": 8192, - "type": "string", - "nullable": true - }, - "privacy_policy": { - "maxLength": 8192, - "type": "string", - "nullable": true - }, - "terms_of_service": { - "maxLength": 8192, - "type": "string", - "nullable": true - } - }, - "additionalProperties": false - }, - "CustomAppOauthConfig": { - "type": "object", - "properties": { - "client_uri": { - "maxLength": 1024, - "type": "string", - "nullable": true - }, - "redirect_uris": { - "maxItems": 4096, - "type": "array", - "items": { - "type": "string" - }, - "nullable": true - }, - "post_logout_redirect_uris": { - "maxItems": 4096, - "type": "array", - "items": { - "type": "string" - }, - "nullable": true - }, - "allowed_scopes": { - "maxItems": 256, - "type": "array", - "items": { - "type": "string" - }, - "nullable": true - }, - "allowed_grant_types": { - "maxItems": 256, - "type": "array", - "items": { - "type": "string" - }, - "nullable": true - }, - "require_pkce": { - "type": "boolean" - }, - "allow_offline_access": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "CustomAppRequest": { - "type": "object", - "properties": { - "slug": { - "type": "string", - "nullable": true - }, - "name": { - "type": "string", - "nullable": true - }, - "description": { - "type": "string", - "nullable": true - }, - "picture_id": { - "type": "string", - "nullable": true - }, - "background_id": { - "type": "string", - "nullable": true - }, - "status": { - "$ref": "#/components/schemas/CustomAppStatus" - }, - "links": { - "$ref": "#/components/schemas/CustomAppLinks" - }, - "oauth_config": { - "$ref": "#/components/schemas/CustomAppOauthConfig" - } - }, - "additionalProperties": false - }, - "CustomAppStatus": { - "enum": [ - 0, - 1, - 2, - 3 - ], - "type": "integer", - "format": "int32" - }, - "DevProject": { - "type": "object", - "properties": { - "created_at": { - "$ref": "#/components/schemas/Instant" - }, - "updated_at": { - "$ref": "#/components/schemas/Instant" - }, - "deleted_at": { - "$ref": "#/components/schemas/Instant" - }, - "id": { - "type": "string", - "format": "uuid" - }, - "slug": { - "maxLength": 1024, - "type": "string", - "nullable": true - }, - "name": { - "maxLength": 1024, - "type": "string", - "nullable": true - }, - "description": { - "maxLength": 4096, - "type": "string", - "nullable": true - }, - "developer": { - "$ref": "#/components/schemas/Developer" - }, - "developer_id": { - "type": "string", - "format": "uuid" - } - }, - "additionalProperties": false - }, - "DevProjectRequest": { - "type": "object", - "properties": { - "slug": { - "type": "string", - "nullable": true - }, - "name": { - "type": "string", - "nullable": true - }, - "description": { - "type": "string", - "nullable": true - } - }, - "additionalProperties": false - }, - "Developer": { - "type": "object", - "properties": { - "id": { - "type": "string", - "format": "uuid" - }, - "publisher_id": { - "type": "string", - "format": "uuid" - }, - "projects": { - "type": "array", - "items": { - "$ref": "#/components/schemas/DevProject" - }, - "nullable": true - }, - "publisher": { - "$ref": "#/components/schemas/PublisherInfo" - } - }, - "additionalProperties": false - }, - "DeveloperStats": { - "type": "object", - "properties": { - "total_custom_apps": { - "type": "integer", - "format": "int32" - } - }, - "additionalProperties": false - }, - "Instant": { - "type": "object", - "additionalProperties": false - }, - "PublisherInfo": { - "type": "object", - "properties": { - "id": { - "type": "string", - "format": "uuid" - }, - "type": { - "$ref": "#/components/schemas/PublisherType" - }, - "name": { - "type": "string", - "nullable": true - }, - "nick": { - "type": "string", - "nullable": true - }, - "bio": { - "type": "string", - "nullable": true - }, - "picture": { - "$ref": "#/components/schemas/CloudFileReferenceObject" - }, - "background": { - "$ref": "#/components/schemas/CloudFileReferenceObject" - }, - "verification": { - "$ref": "#/components/schemas/VerificationMark" - }, - "account_id": { - "type": "string", - "format": "uuid", - "nullable": true - }, - "realm_id": { - "type": "string", - "format": "uuid", - "nullable": true - } - }, - "additionalProperties": false - }, - "PublisherType": { - "enum": [ - 0, - 1, - 2 - ], - "type": "integer", - "format": "int32" - }, - "UpdateBotRequest": { - "type": "object", - "properties": { - "slug": { - "type": "string", - "nullable": true - }, - "is_active": { - "type": "boolean", - "nullable": true - } - }, - "additionalProperties": false - }, - "VerificationMark": { - "type": "object", - "properties": { - "type": { - "$ref": "#/components/schemas/VerificationMarkType" - }, - "title": { - "maxLength": 1024, - "type": "string", - "nullable": true - }, - "description": { - "maxLength": 8192, - "type": "string", - "nullable": true - }, - "verified_by": { - "maxLength": 1024, - "type": "string", - "nullable": true - } - }, - "additionalProperties": false - }, - "VerificationMarkType": { - "enum": [ - 0, - 1, - 2, - 3, - 4, - 5, - 6 - ], - "type": "integer", - "format": "int32" - } - } - } -} \ No newline at end of file