Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature/refactor usecase #145

Merged
merged 87 commits into from
Dec 16, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
87 commits
Select commit Hold shift + click to select a range
c0ceb37
Create some use cases
hieuwu Oct 13, 2022
81af79c
Create update profile use case
hieuwu Oct 14, 2022
d8e72a7
Provide use cases
hieuwu Oct 14, 2022
bf1ff23
Comment out unused code
hieuwu Oct 14, 2022
b054f43
Implement get profile use case
hieuwu Oct 14, 2022
ec6ecc8
Implement sign out use cas
hieuwu Oct 14, 2022
3cae42e
Apply new signout use case
hieuwu Oct 14, 2022
3ca3715
Code caching
hieuwu Oct 14, 2022
1969658
Create get current cart use case
hieuwu Oct 14, 2022
634a64d
Implement update profile use case
hieuwu Oct 14, 2022
0abc6df
Refactor sign out use case
hieuwu Oct 14, 2022
64109c4
Comment unused code
hieuwu Oct 14, 2022
834de1d
Mark as derpecated
hieuwu Oct 14, 2022
ce74019
Mark as deprecated, remove unused code
hieuwu Oct 14, 2022
549d6cd
Implement get current cart use case
hieuwu Oct 14, 2022
dc319fe
Create submit order use case
hieuwu Oct 14, 2022
15afa3f
Implement submit order use case
hieuwu Oct 14, 2022
05bd815
Mark as deprecated
hieuwu Oct 14, 2022
0efcbda
Create use cases
hieuwu Oct 14, 2022
0540512
Mark as deprecated
hieuwu Oct 14, 2022
f30c63e
Implement create new order use case & mark old as deprecated
hieuwu Oct 14, 2022
3a9aede
Implement get categories use case
hieuwu Oct 14, 2022
be69431
Implement search product use cas
hieuwu Oct 14, 2022
d5e7e46
Implement add to cart use case
hieuwu Oct 14, 2022
01f4202
Mark as deprecated
hieuwu Oct 14, 2022
162ad2c
Implement get product detail use case
hieuwu Oct 14, 2022
4bb8658
Create use case classes
hieuwu Oct 14, 2022
7b6f53d
Implement get products use case
hieuwu Oct 14, 2022
6ab7e2e
Implement get product by categories use cases
hieuwu Oct 14, 2022
28d40ee
Mark as deprecated
hieuwu Oct 14, 2022
c4f60dd
Implement update user settings use case
hieuwu Oct 14, 2022
23c45a3
Refactor refresh data use case
hieuwu Oct 14, 2022
46a3b99
Refactor usage of use case
hieuwu Oct 14, 2022
508b6be
Revert changes
hieuwu Oct 14, 2022
d9f889d
Migrate to new use cases
hieuwu Oct 20, 2022
5c86f84
Add new usecases
hieuwu Oct 20, 2022
653b31a
Refactor usecase
hieuwu Oct 20, 2022
799fa32
Remove old use cases
hieuwu Oct 20, 2022
4b58a2c
Provide new use case
hieuwu Oct 20, 2022
c8bb9e2
Inject add to cart use case
hieuwu Oct 21, 2022
b7bd952
Display list when not empty
hieuwu Oct 22, 2022
c27cdc0
Replace add to cart use case
hieuwu Oct 22, 2022
98ece95
Provide get products by category
hieuwu Oct 22, 2022
f9069de
Update use case
hieuwu Oct 22, 2022
cde66c9
Refactor method call with args name
hieuwu Oct 22, 2022
41dcf41
Remove unused import
hieuwu Oct 22, 2022
76f1273
Remove deprecated code
hieuwu Oct 22, 2022
8f52cf0
Remove unused imports
hieuwu Oct 22, 2022
c31db80
Replace use case
hieuwu Oct 23, 2022
5d06953
Temporarily comment out crash code
hieuwu Oct 23, 2022
df9cc1d
Replace update profile use case
hieuwu Oct 30, 2022
70be7c6
Handle error
hieuwu Oct 30, 2022
0d7dfcc
Merge remote-tracking branch 'origin/main' into main
hieuwu Oct 30, 2022
efebf95
Merge branch 'main' into feature/refactor-usecase
hieuwu Oct 31, 2022
b99ab58
Replace use case
hieuwu Oct 31, 2022
c63281a
Replace use case
hieuwu Oct 31, 2022
88c6eb3
Replace use cases & provide use case
hieuwu Nov 1, 2022
273a66e
Provide use case
hieuwu Nov 1, 2022
5e7e205
Update with new use cases
hieuwu Dec 10, 2022
7ce66d4
Bind search product use cases
hieuwu Dec 10, 2022
66e8982
Update property
hieuwu Dec 10, 2022
d488467
Remove unused use case
hieuwu Dec 10, 2022
570c1c1
Remove unused use cases
hieuwu Dec 16, 2022
5091cd0
Move implementation to impl directory
hieuwu Dec 16, 2022
145fe75
Remove unused import
hieuwu Dec 16, 2022
b34dbcc
Reformat code
hieuwu Dec 16, 2022
c580f70
Move to impl
hieuwu Dec 16, 2022
90be82e
Move to impl
hieuwu Dec 16, 2022
27a80c9
Move to impl
hieuwu Dec 16, 2022
97461e8
Move to impl
hieuwu Dec 16, 2022
1d53d27
Move to impl
hieuwu Dec 16, 2022
a6dfb76
Move to impl
hieuwu Dec 16, 2022
82b2526
Move to impl
hieuwu Dec 16, 2022
74f6182
Move to impl
hieuwu Dec 16, 2022
c3f2925
Move to impl
hieuwu Dec 16, 2022
bb6f5b1
Move to impl
hieuwu Dec 16, 2022
4ab8c22
Move to impl
hieuwu Dec 16, 2022
9aa0327
Move to impl
hieuwu Dec 16, 2022
7f04437
Move to impl
hieuwu Dec 16, 2022
8276349
Move to impl
hieuwu Dec 16, 2022
5b39afc
Move to impl
hieuwu Dec 16, 2022
3dfab48
Move to impl
hieuwu Dec 16, 2022
7d6d2c9
Reformat code
hieuwu Dec 16, 2022
7b3f41c
Move to data layer
hieuwu Dec 16, 2022
c56d4c3
Move repositories to impl
hieuwu Dec 16, 2022
a19c4b3
Refactor data layer
hieuwu Dec 16, 2022
400198e
Refactor data layer
hieuwu Dec 16, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .idea/jarRepositories.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,13 @@ import androidx.lifecycle.asLiveData
import androidx.room.Room
import androidx.test.InstrumentationRegistry
import androidx.test.runner.AndroidJUnit4
import com.hieuwu.groceriesstore.data.GroceriesStoreDatabase
import com.hieuwu.groceriesstore.data.dao.LineItemDao
import com.hieuwu.groceriesstore.data.dao.OrderDao
import com.hieuwu.groceriesstore.data.dao.ProductDao
import com.hieuwu.groceriesstore.data.entities.LineItem
import com.hieuwu.groceriesstore.data.entities.Order
import com.hieuwu.groceriesstore.data.entities.Product
import com.hieuwu.groceriesstore.data.database.GroceriesStoreDatabase
import com.hieuwu.groceriesstore.data.database.dao.LineItemDao
import com.hieuwu.groceriesstore.data.database.dao.OrderDao
import com.hieuwu.groceriesstore.data.database.dao.ProductDao
import com.hieuwu.groceriesstore.data.database.entities.LineItem
import com.hieuwu.groceriesstore.data.database.entities.Order
import com.hieuwu.groceriesstore.data.database.entities.Product
import com.hieuwu.groceriesstore.utilities.OrderStatus
import java.io.IOException
import junit.framework.Assert.assertEquals
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
package com.hieuwu.groceriesstore.data.database

import androidx.room.Database
import androidx.room.RoomDatabase
import com.hieuwu.groceriesstore.data.database.dao.CategoryDao
import com.hieuwu.groceriesstore.data.database.dao.LineItemDao
import com.hieuwu.groceriesstore.data.database.dao.OrderDao
import com.hieuwu.groceriesstore.data.database.dao.ProductDao
import com.hieuwu.groceriesstore.data.database.dao.RecipeDao
import com.hieuwu.groceriesstore.data.database.dao.UserDao
import com.hieuwu.groceriesstore.data.database.entities.Category
import com.hieuwu.groceriesstore.data.database.entities.LineItem
import com.hieuwu.groceriesstore.data.database.entities.Order
import com.hieuwu.groceriesstore.data.database.entities.Product
import com.hieuwu.groceriesstore.data.database.entities.Recipe
import com.hieuwu.groceriesstore.data.database.entities.User

@Database(
entities = [Product::class, LineItem::class, Order::class, Category::class, User::class, Recipe::class],
version = 1,
exportSchema = false
)
abstract class GroceriesStoreDatabase : RoomDatabase() {
abstract fun productDao(): ProductDao
abstract fun lineItemDao(): LineItemDao
abstract fun orderDao(): OrderDao
abstract fun categoryDao(): CategoryDao
abstract fun userDao(): UserDao
abstract fun recipeDao(): RecipeDao
}
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
package com.hieuwu.groceriesstore.data.dao
package com.hieuwu.groceriesstore.data.database.dao

import androidx.room.Dao
import androidx.room.Insert
import androidx.room.OnConflictStrategy
import androidx.room.Query
import com.hieuwu.groceriesstore.data.entities.Category
import com.hieuwu.groceriesstore.data.database.entities.Category
import com.hieuwu.groceriesstore.utilities.CATEGORY_TABLE
import kotlinx.coroutines.flow.Flow

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.hieuwu.groceriesstore.data.dao
package com.hieuwu.groceriesstore.data.database.dao

import androidx.room.Dao
import androidx.room.Delete
Expand All @@ -7,8 +7,8 @@ import androidx.room.OnConflictStrategy
import androidx.room.Query
import androidx.room.Transaction
import androidx.room.Update
import com.hieuwu.groceriesstore.data.entities.LineItem
import com.hieuwu.groceriesstore.data.entities.ProductAndLineItem
import com.hieuwu.groceriesstore.data.database.entities.LineItem
import com.hieuwu.groceriesstore.data.database.entities.ProductAndLineItem
import com.hieuwu.groceriesstore.utilities.LINE_ITEM_TABLE
import kotlinx.coroutines.flow.Flow

Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
package com.hieuwu.groceriesstore.data.dao
package com.hieuwu.groceriesstore.data.database.dao

import androidx.lifecycle.LiveData
import androidx.room.Dao
import androidx.room.Insert
import androidx.room.Query
import androidx.room.Transaction
import androidx.room.Update
import com.hieuwu.groceriesstore.data.entities.Order
import com.hieuwu.groceriesstore.data.entities.OrderWithLineItems
import com.hieuwu.groceriesstore.data.database.entities.Order
import com.hieuwu.groceriesstore.data.database.entities.OrderWithLineItems
import com.hieuwu.groceriesstore.utilities.ORDER_TABLE
import kotlinx.coroutines.flow.Flow

Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
package com.hieuwu.groceriesstore.data.dao
package com.hieuwu.groceriesstore.data.database.dao

import androidx.room.Dao
import androidx.room.Insert
import androidx.room.OnConflictStrategy
import androidx.room.Query
import androidx.room.Update
import com.hieuwu.groceriesstore.data.entities.Product
import com.hieuwu.groceriesstore.data.database.entities.Product
import com.hieuwu.groceriesstore.utilities.PRODUCT_TABLE
import kotlinx.coroutines.flow.Flow

Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
package com.hieuwu.groceriesstore.data.dao
package com.hieuwu.groceriesstore.data.database.dao

import androidx.room.Dao
import androidx.room.Insert
import androidx.room.OnConflictStrategy
import androidx.room.Query
import com.hieuwu.groceriesstore.data.entities.Recipe
import com.hieuwu.groceriesstore.data.database.entities.Recipe
import com.hieuwu.groceriesstore.utilities.RECIPE_TABLE
import kotlinx.coroutines.flow.Flow

Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
package com.hieuwu.groceriesstore.data.dao
package com.hieuwu.groceriesstore.data.database.dao

import androidx.room.Dao
import androidx.room.Insert
import androidx.room.OnConflictStrategy
import androidx.room.Query
import com.hieuwu.groceriesstore.data.entities.User
import com.hieuwu.groceriesstore.data.database.entities.User
import com.hieuwu.groceriesstore.utilities.USER_TABLE
import kotlinx.coroutines.flow.Flow

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.hieuwu.groceriesstore.data.entities
package com.hieuwu.groceriesstore.data.database.entities

import androidx.annotation.NonNull
import androidx.room.ColumnInfo
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.hieuwu.groceriesstore.data.entities
package com.hieuwu.groceriesstore.data.database.entities

import androidx.room.ColumnInfo
import androidx.room.Entity
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.hieuwu.groceriesstore.data.entities
package com.hieuwu.groceriesstore.data.database.entities

import androidx.room.ColumnInfo
import androidx.room.Entity
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.hieuwu.groceriesstore.data.entities
package com.hieuwu.groceriesstore.data.database.entities

import androidx.room.Embedded
import androidx.room.Relation
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.hieuwu.groceriesstore.data.entities
package com.hieuwu.groceriesstore.data.database.entities

import androidx.annotation.NonNull
import androidx.room.ColumnInfo
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.hieuwu.groceriesstore.data.entities
package com.hieuwu.groceriesstore.data.database.entities

import androidx.room.Embedded
import androidx.room.Relation
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.hieuwu.groceriesstore.data.entities
package com.hieuwu.groceriesstore.data.database.entities

import androidx.room.ColumnInfo
import androidx.room.Entity
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.hieuwu.groceriesstore.data.entities
package com.hieuwu.groceriesstore.data.database.entities

import androidx.room.ColumnInfo
import androidx.room.Entity
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package com.hieuwu.groceriesstore.data.network

import com.hieuwu.groceriesstore.data.dto.RecipeListResponse
import com.hieuwu.groceriesstore.data.network.dto.RecipeListResponse
import com.jakewharton.retrofit2.adapter.kotlin.coroutines.CoroutineCallAdapterFactory
import com.squareup.moshi.Moshi
import com.squareup.moshi.kotlin.reflect.KotlinJsonAdapterFactory
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package com.hieuwu.groceriesstore.data.dto
package com.hieuwu.groceriesstore.data.network.dto

import com.hieuwu.groceriesstore.data.entities.Recipe
import com.hieuwu.groceriesstore.data.database.entities.Recipe
import com.squareup.moshi.Json

data class RecipeDto(
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.hieuwu.groceriesstore.data.dto
package com.hieuwu.groceriesstore.data.network.dto

import com.squareup.moshi.Json

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.hieuwu.groceriesstore.domain.repository
package com.hieuwu.groceriesstore.data.repository

import androidx.lifecycle.LiveData
import com.hieuwu.groceriesstore.domain.models.CategoryModel
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package com.hieuwu.groceriesstore.domain.repository
package com.hieuwu.groceriesstore.data.repository

import com.hieuwu.groceriesstore.data.entities.LineItem
import com.hieuwu.groceriesstore.data.entities.Order
import com.hieuwu.groceriesstore.data.database.entities.LineItem
import com.hieuwu.groceriesstore.data.database.entities.Order
import com.hieuwu.groceriesstore.domain.models.OrderModel
import com.hieuwu.groceriesstore.utilities.OrderStatus
import kotlinx.coroutines.flow.Flow
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.hieuwu.groceriesstore.domain.repository
package com.hieuwu.groceriesstore.data.repository

import androidx.lifecycle.LiveData
import com.hieuwu.groceriesstore.domain.models.ProductModel
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.hieuwu.groceriesstore.domain.repository
package com.hieuwu.groceriesstore.data.repository

import androidx.lifecycle.LiveData
import com.hieuwu.groceriesstore.domain.models.RecipeModel
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.hieuwu.groceriesstore.domain.repository
package com.hieuwu.groceriesstore.data.repository

import androidx.lifecycle.LiveData
import com.hieuwu.groceriesstore.domain.models.UserModel
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
package com.hieuwu.groceriesstore.data.repository
package com.hieuwu.groceriesstore.data.repository.impl

import androidx.lifecycle.Transformations
import androidx.lifecycle.asLiveData
import com.google.firebase.firestore.ktx.firestore
import com.google.firebase.ktx.Firebase
import com.hieuwu.groceriesstore.data.dao.CategoryDao
import com.hieuwu.groceriesstore.data.entities.Category
import com.hieuwu.groceriesstore.data.entities.asDomainModel
import com.hieuwu.groceriesstore.domain.repository.CategoryRepository
import com.hieuwu.groceriesstore.data.database.dao.CategoryDao
import com.hieuwu.groceriesstore.data.database.entities.Category
import com.hieuwu.groceriesstore.data.database.entities.asDomainModel
import com.hieuwu.groceriesstore.data.repository.CategoryRepository
import com.hieuwu.groceriesstore.utilities.CollectionNames
import com.hieuwu.groceriesstore.utilities.convertCategoryDocumentToEntity
import javax.inject.Inject
Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
package com.hieuwu.groceriesstore.data.repository
package com.hieuwu.groceriesstore.data.repository.impl

import com.google.firebase.firestore.ktx.firestore
import com.google.firebase.ktx.Firebase
import com.hieuwu.groceriesstore.data.dao.LineItemDao
import com.hieuwu.groceriesstore.data.dao.OrderDao
import com.hieuwu.groceriesstore.data.entities.LineItem
import com.hieuwu.groceriesstore.data.entities.Order
import com.hieuwu.groceriesstore.data.entities.asDomainModel
import com.hieuwu.groceriesstore.data.database.dao.LineItemDao
import com.hieuwu.groceriesstore.data.database.dao.OrderDao
import com.hieuwu.groceriesstore.data.database.entities.LineItem
import com.hieuwu.groceriesstore.data.database.entities.Order
import com.hieuwu.groceriesstore.data.database.entities.asDomainModel
import com.hieuwu.groceriesstore.data.repository.OrderRepository
import com.hieuwu.groceriesstore.domain.models.OrderModel
import com.hieuwu.groceriesstore.domain.repository.OrderRepository
import com.hieuwu.groceriesstore.utilities.CollectionNames
import com.hieuwu.groceriesstore.utilities.OrderStatus
import com.hieuwu.groceriesstore.utilities.convertOrderEntityToDocument
Expand Down
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
package com.hieuwu.groceriesstore.data.repository
package com.hieuwu.groceriesstore.data.repository.impl

import androidx.lifecycle.Transformations
import androidx.lifecycle.asLiveData
import com.google.firebase.firestore.ktx.firestore
import com.google.firebase.ktx.Firebase
import com.hieuwu.groceriesstore.data.dao.LineItemDao
import com.hieuwu.groceriesstore.data.dao.ProductDao
import com.hieuwu.groceriesstore.data.entities.Product
import com.hieuwu.groceriesstore.data.entities.asDomainModel
import com.hieuwu.groceriesstore.data.database.dao.LineItemDao
import com.hieuwu.groceriesstore.data.database.dao.ProductDao
import com.hieuwu.groceriesstore.data.database.entities.Product
import com.hieuwu.groceriesstore.data.database.entities.asDomainModel
import com.hieuwu.groceriesstore.data.repository.ProductRepository
import com.hieuwu.groceriesstore.domain.models.ProductModel
import com.hieuwu.groceriesstore.domain.repository.ProductRepository
import com.hieuwu.groceriesstore.utilities.CollectionNames
import com.hieuwu.groceriesstore.utilities.convertProductDocumentToEntity
import javax.inject.Inject
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
package com.hieuwu.groceriesstore.data.repository
package com.hieuwu.groceriesstore.data.repository.impl

import androidx.lifecycle.Transformations
import androidx.lifecycle.asLiveData
import com.hieuwu.groceriesstore.data.dao.RecipeDao
import com.hieuwu.groceriesstore.data.dto.asEntity
import com.hieuwu.groceriesstore.data.entities.asDomainModel
import com.hieuwu.groceriesstore.data.database.dao.RecipeDao
import com.hieuwu.groceriesstore.data.network.dto.asEntity
import com.hieuwu.groceriesstore.data.database.entities.asDomainModel
import com.hieuwu.groceriesstore.data.network.Api
import com.hieuwu.groceriesstore.domain.repository.RecipeRepository
import com.hieuwu.groceriesstore.data.repository.RecipeRepository
import javax.inject.Inject
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.withContext
Expand Down
Loading