|
1 | | -import 'dart:convert'; |
2 | 1 | import 'dart:developer'; |
3 | 2 |
|
4 | 3 | import 'package:appwrite/appwrite.dart'; |
5 | 4 | import 'package:appwrite/models.dart'; |
6 | | -// import 'package:help_me_design/appwrite_service/appwrite_constants.dart'; |
7 | 5 | import 'package:help_me_design/models/design_resources_model.dart'; |
8 | | -import 'package:help_me_design/providers/snippet_tab_provider.dart'; |
9 | 6 | import 'package:help_me_design/utility/utility_helper.dart'; |
10 | | -import 'package:help_me_design/views/screens/tabs/components_tab/widgets/add_component_collection_alert.dart'; |
11 | 7 |
|
12 | 8 | import 'appwrite_constants_all.dart'; |
13 | 9 |
|
@@ -171,6 +167,37 @@ class Example{ |
171 | 167 | return false; |
172 | 168 | } |
173 | 169 | } |
| 170 | + |
| 171 | + Future<bool> saveDesignResource({ |
| 172 | + required String userId, |
| 173 | + required String url, |
| 174 | + required String title, |
| 175 | + required String description, |
| 176 | + required String originalResourceId, |
| 177 | + }) async { |
| 178 | + final databases = Databases(client); |
| 179 | + try { |
| 180 | + final document = await databases.createDocument( |
| 181 | + databaseId: AppWriteConst.usersDataDatabaseID, |
| 182 | + collectionId: AppWriteConst.savedDesignResourcesId, |
| 183 | + documentId: ID.unique(), |
| 184 | + data: { |
| 185 | + "title": title, |
| 186 | + "url": url, |
| 187 | + "userId": userId, |
| 188 | + "description": description, |
| 189 | + "originalResourceId": originalResourceId, |
| 190 | + }, |
| 191 | + ); |
| 192 | + UtilityHelper.toastMessage(message: "Design Resource Saved"); |
| 193 | + |
| 194 | + return true; |
| 195 | + } on AppwriteException catch (e) { |
| 196 | + UtilityHelper.toastMessage(message: e.message ?? "add.saveDesignResource() null message"); |
| 197 | + log(e.toString()); |
| 198 | + return false; |
| 199 | + } |
| 200 | + } |
174 | 201 | } |
175 | 202 |
|
176 | 203 | class Get { |
@@ -277,6 +304,26 @@ class Get { |
277 | 304 | return []; |
278 | 305 | } |
279 | 306 | } |
| 307 | + |
| 308 | + Future<List<Document>> savedDesignResource({required String userId}) async { |
| 309 | + final databases = Databases(client); |
| 310 | + try { |
| 311 | + final data = await databases.listDocuments( |
| 312 | + databaseId: AppWriteConst.usersDataDatabaseID, |
| 313 | + collectionId: AppWriteConst.savedDesignResourcesId, |
| 314 | + queries: [ |
| 315 | + Query.equal('userId', userId), |
| 316 | + Query.orderDesc('\$createdAt'), |
| 317 | + ], |
| 318 | + ); |
| 319 | + log("Get.savedDesignResource"); |
| 320 | + return data.documents; |
| 321 | + } on AppwriteException catch (e) { |
| 322 | + print(e); |
| 323 | + UtilityHelper.toastMessage(message: e.message ?? "get.savedDesignResource() null message"); |
| 324 | + return []; |
| 325 | + } |
| 326 | + } |
280 | 327 | } |
281 | 328 |
|
282 | 329 | class Update { |
@@ -365,14 +412,24 @@ class DeleteData { |
365 | 412 | return false; |
366 | 413 | } |
367 | 414 | } |
368 | | -} |
369 | 415 |
|
370 | | -String code = ''' Positioned( |
371 | | - top: 8, |
372 | | - left: 8, |
373 | | - child: Text( |
374 | | - "Preview", |
375 | | - maxLines: 2, |
376 | | - style: themeData.textTheme.titleSmall, |
377 | | - ), |
378 | | - ),'''; |
| 416 | + Future<bool> savedDesignResource({ |
| 417 | + required String docId, |
| 418 | + }) async { |
| 419 | + final databases = Databases(client); |
| 420 | + try { |
| 421 | + final data = await databases.deleteDocument( |
| 422 | + databaseId: AppWriteConst.usersDataDatabaseID, |
| 423 | + collectionId: AppWriteConst.savedDesignResourcesId, |
| 424 | + documentId: docId, |
| 425 | + ); |
| 426 | + log("Delete.savedDesignResource"); |
| 427 | + |
| 428 | + return true; |
| 429 | + } on AppwriteException catch (e) { |
| 430 | + print(e); |
| 431 | + UtilityHelper.toastMessage(message: e.message ?? "delete.savedDesignResource() null message"); |
| 432 | + return false; |
| 433 | + } |
| 434 | + } |
| 435 | +} |
0 commit comments