Compare commits
	
		
			2 Commits
		
	
	
		
			v122123602
			...
			27eafe4ff4
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|  | 27eafe4ff4 | ||
|  | 8c83a9408b | 
| @@ -77,10 +77,7 @@ steps: | |||||||
|         from_secret: privateKey |         from_secret: privateKey | ||||||
|       command_timeout: 2m |       command_timeout: 2m | ||||||
|       script: |       script: | ||||||
|         - cd /home/ubuntu |         - cd /home/ubuntu && sudo rm -rf /var/www/amine/version.txt && sudo chown www-data:www-data ./version.txt && sudo mv version.txt /var/www/amine/ | ||||||
|         - sudo rm -rf /var/www/amine/version.txt |  | ||||||
|         - sudo chown www-data:www-data ./version.txt |  | ||||||
|         - sudo mv version.txt /var/www/amine/ |  | ||||||
|  |  | ||||||
| trigger: | trigger: | ||||||
|   event: |   event: | ||||||
|   | |||||||
| @@ -78,9 +78,9 @@ class SourcesListAdapter( | |||||||
|             val deleteBtn: Button = mView.findViewById(R.id.deleteBtn) |             val deleteBtn: Button = mView.findViewById(R.id.deleteBtn) | ||||||
|  |  | ||||||
|             deleteBtn.setOnClickListener { |             deleteBtn.setOnClickListener { | ||||||
|                 val (id) = items[bindingAdapterPosition] |                 val (id, title) = items[bindingAdapterPosition] | ||||||
|                 CoroutineScope(Dispatchers.IO).launch { |                 CoroutineScope(Dispatchers.IO).launch { | ||||||
|                     val successfullyDeletedSource = repository.deleteSource(id) |                     val successfullyDeletedSource = repository.deleteSource(id, title) | ||||||
|                     if (successfullyDeletedSource) { |                     if (successfullyDeletedSource) { | ||||||
|                         items.removeAt(bindingAdapterPosition) |                         items.removeAt(bindingAdapterPosition) | ||||||
|                         notifyItemRemoved(bindingAdapterPosition) |                         notifyItemRemoved(bindingAdapterPosition) | ||||||
|   | |||||||
| @@ -58,6 +58,7 @@ class RepositoryTest { | |||||||
|             data = SelfossModel.Stats(NUMBER_ARTICLES, NUMBER_UNREAD, NUMBER_STARRED) |             data = SelfossModel.Stats(NUMBER_ARTICLES, NUMBER_UNREAD, NUMBER_STARRED) | ||||||
|         ) |         ) | ||||||
|  |  | ||||||
|  |         every { db.itemsQueries.deleteItemsWhereSource(any()) } returns Unit | ||||||
|         every { db.itemsQueries.items().executeAsList() } returns generateTestDBItems() |         every { db.itemsQueries.items().executeAsList() } returns generateTestDBItems() | ||||||
|         every { db.tagsQueries.deleteAllTags() } returns Unit |         every { db.tagsQueries.deleteAllTags() } returns Unit | ||||||
|         every { db.tagsQueries.transaction(any(), any()) } returns Unit |         every { db.tagsQueries.transaction(any(), any()) } returns Unit | ||||||
| @@ -798,10 +799,11 @@ class RepositoryTest { | |||||||
|         initializeRepository() |         initializeRepository() | ||||||
|         var response: Boolean |         var response: Boolean | ||||||
|         runBlocking { |         runBlocking { | ||||||
|             response = repository.deleteSource(5) |             response = repository.deleteSource(5, "src") | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         coVerify(exactly = 1) { api.deleteSource(5) } |         coVerify(exactly = 1) { api.deleteSource(5) } | ||||||
|  |         coVerify(exactly = 1) { db.itemsQueries.deleteItemsWhereSource("src") } | ||||||
|         assertSame(true, response) |         assertSame(true, response) | ||||||
|     } |     } | ||||||
|  |  | ||||||
| @@ -812,10 +814,11 @@ class RepositoryTest { | |||||||
|         initializeRepository() |         initializeRepository() | ||||||
|         var response: Boolean |         var response: Boolean | ||||||
|         runBlocking { |         runBlocking { | ||||||
|             response = repository.deleteSource(5) |             response = repository.deleteSource(5, "src") | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         coVerify(exactly = 1) { api.deleteSource(5) } |         coVerify(exactly = 1) { api.deleteSource(5) } | ||||||
|  |         coVerify(exactly = 0) { db.itemsQueries.deleteItemsWhereSource("src") } | ||||||
|         assertSame(false, response) |         assertSame(false, response) | ||||||
|     } |     } | ||||||
|  |  | ||||||
| @@ -826,10 +829,11 @@ class RepositoryTest { | |||||||
|         initializeRepository(MutableStateFlow(false)) |         initializeRepository(MutableStateFlow(false)) | ||||||
|         var response: Boolean |         var response: Boolean | ||||||
|         runBlocking { |         runBlocking { | ||||||
|             response = repository.deleteSource(5) |             response = repository.deleteSource(5, "src") | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         coVerify(exactly = 0) { api.deleteSource(5) } |         coVerify(exactly = 0) { api.deleteSource(5) } | ||||||
|  |         coVerify(exactly = 1) { db.itemsQueries.deleteItemsWhereSource("src") } | ||||||
|         assertSame(false, response) |         assertSame(false, response) | ||||||
|     } |     } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -359,13 +359,20 @@ class Repository( | |||||||
|         return response |         return response | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     suspend fun deleteSource(id: Int): Boolean { |     suspend fun deleteSource(id: Int, title: String): Boolean { | ||||||
|         var success = false |         var success = false | ||||||
|         if (isNetworkAvailable()) { |         if (isNetworkAvailable()) { | ||||||
|             val response = api.deleteSource(id) |             val response = api.deleteSource(id) | ||||||
|             success = response.isSuccess |             success = response.isSuccess | ||||||
|         } |         } | ||||||
|  |  | ||||||
|  |         // We filter on success or if the network isn't available | ||||||
|  |         if (success || !isNetworkAvailable()) { | ||||||
|  |             items = ArrayList(items.filter { it.sourcetitle != title }) | ||||||
|  |             setReaderItems(items) | ||||||
|  |             db.itemsQueries.deleteItemsWhereSource(title) | ||||||
|  |         } | ||||||
|  |  | ||||||
|         return success |         return success | ||||||
|     } |     } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -27,5 +27,8 @@ INSERT OR REPLACE INTO ITEM VALUES ?; | |||||||
| deleteItem: | deleteItem: | ||||||
| DELETE FROM ITEM WHERE `id` = ?; | DELETE FROM ITEM WHERE `id` = ?; | ||||||
|  |  | ||||||
|  | deleteItemsWhereSource: | ||||||
|  | DELETE FROM ITEM WHERE `sourcetitle` = ?; | ||||||
|  |  | ||||||
| updateItem: | updateItem: | ||||||
| UPDATE ITEM SET `datetime` = ?, `title` = ?, `content` = ?, `unread` = ?, `starred` = ?, `thumbnail` = ?, `icon` = ?, `link` = ?, `sourcetitle` = ?, `tags` = ? WHERE `id` = ?; | UPDATE ITEM SET `datetime` = ?, `title` = ?, `content` = ?, `unread` = ?, `starred` = ?, `thumbnail` = ?, `icon` = ?, `link` = ?, `sourcetitle` = ?, `tags` = ? WHERE `id` = ?; | ||||||
		Reference in New Issue
	
	Block a user