From 049d9286f21ea5e3032cca242adced382baf0d2f Mon Sep 17 00:00:00 2001 From: debuggerx Date: Wed, 19 Jan 2022 19:00:23 +0800 Subject: [PATCH] feat: scheme download feature. --- api/lib/src/models/scheme.dart | 18 +++++++++++------- app/lib/pages/local_manager.dart | 2 +- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/api/lib/src/models/scheme.dart b/api/lib/src/models/scheme.dart index 42a4661..5e5c0f7 100644 --- a/api/lib/src/models/scheme.dart +++ b/api/lib/src/models/scheme.dart @@ -111,6 +111,9 @@ abstract class _SchemeForDownload { @SerializableField(isNullable: false) String? get name; + @SerializableField(defaultValue: false, isNullable: false) + bool? get shared; + @Column(type: ColumnType.text) String? description; @@ -124,6 +127,7 @@ SchemeForDownload transSchemeForDownload(Scheme scheme) => SchemeForDownload( name: scheme.name, description: scheme.description, gestures: scheme.gestures, + shared: scheme.shared, ); @serializable @@ -172,10 +176,10 @@ abstract class _MarketSchemeTransMetaData { } MarketSchemeTransMetaData transMarketSchemeMetaData(MarketScheme scheme) => MarketSchemeTransMetaData( - id: scheme.id, - description: scheme.description, - uuid: scheme.uuid, - name: scheme.name, - likes: scheme.metadata?['likes'] ?? 0, - downloads: scheme.metadata?['downloads'] ?? 0, -); \ No newline at end of file + id: scheme.id, + description: scheme.description, + uuid: scheme.uuid, + name: scheme.name, + likes: scheme.metadata?['likes'] ?? 0, + downloads: scheme.metadata?['downloads'] ?? 0, + ); diff --git a/app/lib/pages/local_manager.dart b/app/lib/pages/local_manager.dart index 3e29d3a..741bde3 100644 --- a/app/lib/pages/local_manager.dart +++ b/app/lib/pages/local_manager.dart @@ -80,7 +80,7 @@ class LocalManagerState extends State { ..name = downloadedScheme.name ..description = downloadedScheme.description ..uploaded = true - ..fromMarket = true + ..fromMarket = downloadedScheme.shared == true ..gestures = (downloadedScheme.gestures ?? []).map(GestureProp.parse).toList(); } newSchemes.add(newEntry);