Skip to content

Commit

Permalink
Merge pull request #89 from Begin-Vegan/feature/BVVER24-138-user_info
Browse files Browse the repository at this point in the history
์œ ์ € ์ถ”๊ฐ€ ์ •๋ณด ์ž…๋ ฅ ๋ฐ JWT ํ† ํฐ์˜ ๋ฐœ๊ธ‰ ๋ฐ ๊ฒ€์ฆ ๋ฐฉ์‹ ๋ณ€๊ฒฝ
  • Loading branch information
CHOI97 authored Jul 10, 2024
2 parents ed11614 + 649db97 commit e0998ed
Show file tree
Hide file tree
Showing 122 changed files with 1,987 additions and 506 deletions.
Binary file modified .gradle/8.4/checksums/checksums.lock
Binary file not shown.
Binary file modified .gradle/8.4/checksums/md5-checksums.bin
Binary file not shown.
Binary file modified .gradle/8.4/checksums/sha1-checksums.bin
Binary file not shown.
Binary file modified .gradle/8.4/dependencies-accessors/dependencies-accessors.lock
Binary file not shown.
Binary file modified .gradle/8.4/executionHistory/executionHistory.bin
Binary file not shown.
Binary file modified .gradle/8.4/executionHistory/executionHistory.lock
Binary file not shown.
Binary file modified .gradle/8.4/fileHashes/fileHashes.bin
Binary file not shown.
Binary file modified .gradle/8.4/fileHashes/fileHashes.lock
Binary file not shown.
Binary file modified .gradle/8.4/fileHashes/resourceHashesCache.bin
Binary file not shown.
Binary file modified .gradle/buildOutputCleanup/buildOutputCleanup.lock
Binary file not shown.
Binary file modified .gradle/buildOutputCleanup/outputFiles.bin
Binary file not shown.
Binary file modified .gradle/file-system.probe
Binary file not shown.
Empty file.
4 changes: 2 additions & 2 deletions .idea/assetWizardSettings.xml

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

43 changes: 43 additions & 0 deletions .idea/navEditor.xml

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

21 changes: 19 additions & 2 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,28 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">

<uses-feature
android:name="android.hardware.camera"
android:required="false" />

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />

<uses-permission android:name="android.permission.INTERNET" />

<!-- ๊ฐค๋Ÿฌ๋ฆฌ ๊ถŒํ•œ-->
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"
android:maxSdkVersion="28" /> <!-- Android 10 ์ดํ•˜์—์„œ๋งŒ ์œ ํšจ -->

<!-- Android 12 ๋ฐ ์ดํ›„ ๋ฒ„์ „์šฉ ํผ๋ฏธ์…˜ ์„ค์ • -->
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES"
android:minSdkVersion="31" />

<!-- ์นด๋ฉ”๋ผ ๊ถŒํ•œ-->
<uses-permission android:name="android.permission.CAMERA" />

<application
android:name=".config.ApplicationClass"
android:allowBackup="true"
Expand All @@ -17,7 +35,6 @@
android:supportsRtl="true"
android:theme="@style/Theme.Beginvegan"
android:usesCleartextTraffic="true"
tools:targetApi="31">
</application>
tools:targetApi="31"></application>

</manifest>
Binary file modified buildSrc/.gradle/8.4/executionHistory/executionHistory.bin
Binary file not shown.
Binary file modified buildSrc/.gradle/8.4/executionHistory/executionHistory.lock
Binary file not shown.
Binary file modified buildSrc/.gradle/buildOutputCleanup/buildOutputCleanup.lock
Binary file not shown.
Binary file modified buildSrc/.gradle/file-system.probe
Binary file not shown.
Empty file.
Binary file modified buildSrc/build/kotlin/compileKotlin/cacheable/last-build.bin
Binary file not shown.
Binary file not shown.
Binary file modified buildSrc/build/libs/buildSrc.jar
Binary file not shown.
3 changes: 3 additions & 0 deletions data/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -86,4 +86,7 @@ dependencies {

// KaKao Login
implementation(Dependencies.KAKAO_LOGIN)

// DataStore
implementation("androidx.datastore:datastore-preferences:1.1.1")
}
10 changes: 7 additions & 3 deletions data/src/main/java/com/example/data/di/AlarmModule.kt
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package com.example.data.di

import com.example.data.mapper.alarms.AlarmMapper
import com.example.data.repository.local.auth.AuthTokenDataSource
import com.example.data.repository.remote.alarms.AlarmRemoteDataSource
import com.example.data.repository.remote.alarms.AlarmRemoteDataSourceImpl
import com.example.data.repository.remote.alarms.AlarmRepositoryImpl
Expand All @@ -13,7 +14,7 @@ import dagger.hilt.components.SingletonComponent
import retrofit2.Retrofit
import javax.inject.Singleton

@Module(includes = [NetworkModule::class])
@Module(includes = [NetworkModule::class, DataStoreModule::class])
@InstallIn(SingletonComponent::class)
class AlarmModule {
@Singleton
Expand All @@ -24,8 +25,11 @@ class AlarmModule {

@Provides
@Singleton
fun provideAlarmRemoteDataSource(alarmService: AlarmService): AlarmRemoteDataSource {
return AlarmRemoteDataSourceImpl(alarmService)
fun provideAlarmRemoteDataSource(
alarmService: AlarmService,
authTokenDataSource: AuthTokenDataSource
): AlarmRemoteDataSource {
return AlarmRemoteDataSourceImpl(alarmService, authTokenDataSource)
}

@Provides
Expand Down
8 changes: 5 additions & 3 deletions data/src/main/java/com/example/data/di/AuthModule.kt
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package com.example.data.di

import com.example.data.mapper.auth.AuthMapper
import com.example.data.repository.local.auth.AuthTokenDataSource
import com.example.data.repository.remote.auth.AuthRepositoryImpl
import com.example.data.repository.remote.auth.AuthRemoteDataSource
import com.example.data.repository.remote.auth.AuthRemoteDataSourceImpl
Expand All @@ -14,9 +15,9 @@ import retrofit2.Retrofit
import javax.inject.Singleton


@Module(includes = [NetworkModule::class])
@Module(includes = [NetworkModule::class,DataStoreModule::class])
@InstallIn(SingletonComponent::class)
class AuthModule {
object AuthModule {
@Singleton
@Provides
fun provideUserService(retrofit: Retrofit): UserService {
Expand All @@ -32,9 +33,10 @@ class AuthModule {
@Provides
fun provideAuthRepository(
authRemoteDataSource: AuthRemoteDataSource,
authTokenDataSource: AuthTokenDataSource,
authMapper: AuthMapper
): AuthRepository {
return AuthRepositoryImpl(authRemoteDataSource, authMapper)
return AuthRepositoryImpl(authRemoteDataSource, authTokenDataSource,authMapper)
}

@Provides
Expand Down
7 changes: 4 additions & 3 deletions data/src/main/java/com/example/data/di/BookmarkModule.kt
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package com.example.data.di

import com.example.data.repository.local.auth.AuthTokenDataSource
import com.example.data.repository.remote.bookmarks.BookmarkRemoteDataSource
import com.example.data.repository.remote.bookmarks.BookmarkRemoteDataSourceImpl
import com.example.data.repository.remote.bookmarks.BookmarkRepositoryImpl
Expand All @@ -12,7 +13,7 @@ import dagger.hilt.components.SingletonComponent
import retrofit2.Retrofit
import javax.inject.Singleton

@Module(includes = [NetworkModule::class])
@Module(includes = [NetworkModule::class,DataStoreModule::class])
@InstallIn(SingletonComponent::class)
class BookmarkModule {
@Singleton
Expand All @@ -23,8 +24,8 @@ class BookmarkModule {

@Provides
@Singleton
fun provideBookmarkRemoteDataSource(bookmarkService: BookmarkService): BookmarkRemoteDataSource {
return BookmarkRemoteDataSourceImpl(bookmarkService)
fun provideBookmarkRemoteDataSource(bookmarkService: BookmarkService,authTokenDataSource: AuthTokenDataSource): BookmarkRemoteDataSource {
return BookmarkRemoteDataSourceImpl(bookmarkService,authTokenDataSource)
}

@Provides
Expand Down
34 changes: 34 additions & 0 deletions data/src/main/java/com/example/data/di/DataStoreModule.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
package com.example.data.di

import android.content.Context
import androidx.datastore.core.DataStore
import androidx.datastore.preferences.core.PreferenceDataStoreFactory
import androidx.datastore.preferences.core.Preferences
import androidx.datastore.preferences.preferencesDataStoreFile
import com.example.data.repository.local.auth.AuthTokenDataSource
import com.example.data.repository.local.auth.AuthTokenDataSourceImpl
import dagger.Module
import dagger.Provides
import dagger.hilt.InstallIn
import dagger.hilt.android.qualifiers.ApplicationContext
import dagger.hilt.components.SingletonComponent
import javax.inject.Singleton

@Module
@InstallIn(SingletonComponent::class)
object DataStoreModule {

@Provides
@Singleton
fun provideDataStore(@ApplicationContext context: Context): DataStore<Preferences> {
return PreferenceDataStoreFactory.create {
context.preferencesDataStoreFile("auth_prefs")
}
}

@Provides
@Singleton
fun provideAuthTokenDataSource(authTokenDataSourceImpl: AuthTokenDataSourceImpl): AuthTokenDataSource {
return authTokenDataSourceImpl
}
}
18 changes: 14 additions & 4 deletions data/src/main/java/com/example/data/di/TipsMagazineModule.kt
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package com.example.data.di

import com.example.data.mapper.tips.TipsMagazineDetailMapper
import com.example.data.mapper.tips.TipsMagazineMapper
import com.example.data.repository.local.auth.AuthTokenDataSource
import com.example.data.repository.remote.tips.TipsMagazineRemoteDataSource
import com.example.data.repository.remote.tips.TipsMagazineRemoteDataSourceImpl
import com.example.data.repository.remote.tips.TipsMagazineRepositoryImpl
Expand All @@ -14,7 +15,7 @@ import dagger.hilt.components.SingletonComponent
import retrofit2.Retrofit
import javax.inject.Singleton

@Module(includes = [NetworkModule::class])
@Module(includes = [NetworkModule::class, DataStoreModule::class])
@InstallIn(SingletonComponent::class)
class TipsMagazineModule {
@Singleton
Expand All @@ -25,18 +26,27 @@ class TipsMagazineModule {

@Provides
@Singleton
fun provideTipsMagazineDataSource(tipsMagazineService: TipsMagazineService): TipsMagazineRemoteDataSource {
return TipsMagazineRemoteDataSourceImpl(tipsMagazineService)
fun provideTipsMagazineDataSource(
tipsMagazineService: TipsMagazineService,
authTokenDataSource: AuthTokenDataSource
): TipsMagazineRemoteDataSource {
return TipsMagazineRemoteDataSourceImpl(tipsMagazineService, authTokenDataSource)
}

@Provides
@Singleton
fun provideTipsMagazineRepository(
tipsMagazineRemoteDataSource: TipsMagazineRemoteDataSource,
authTokenDataSource: AuthTokenDataSource,
tipsMagazineMapper: TipsMagazineMapper,
tipsMagazineDetailMapper: TipsMagazineDetailMapper
): TipsMagazineRepository {
return TipsMagazineRepositoryImpl(tipsMagazineRemoteDataSource, tipsMagazineMapper, tipsMagazineDetailMapper)
return TipsMagazineRepositoryImpl(
tipsMagazineRemoteDataSource,
authTokenDataSource,
tipsMagazineMapper,
tipsMagazineDetailMapper
)
}

@Provides
Expand Down
18 changes: 13 additions & 5 deletions data/src/main/java/com/example/data/di/TipsRecipeModule.kt
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package com.example.data.di

import com.example.data.mapper.tips.TipsRecipeDetailMapper
import com.example.data.mapper.tips.TipsRecipeMapper
import com.example.data.repository.local.auth.AuthTokenDataSource
import com.example.data.repository.remote.tips.TipsRecipeRemoteDataSource
import com.example.data.repository.remote.tips.TipsRecipeRemoteDataSourceImpl
import com.example.data.repository.remote.tips.TipsRecipeRepositoryImpl
Expand All @@ -14,7 +15,7 @@ import dagger.hilt.components.SingletonComponent
import retrofit2.Retrofit
import javax.inject.Singleton

@Module(includes = [NetworkModule::class])
@Module(includes = [NetworkModule::class, DataStoreModule::class])
@InstallIn(SingletonComponent::class)
class TipsRecipeModule {
@Singleton
Expand All @@ -25,8 +26,11 @@ class TipsRecipeModule {

@Provides
@Singleton
fun provideTipsRecipeRemoteDataSource(tipsRecipeService: TipsRecipeService): TipsRecipeRemoteDataSource {
return TipsRecipeRemoteDataSourceImpl(tipsRecipeService)
fun provideTipsRecipeRemoteDataSource(
tipsRecipeService: TipsRecipeService,
authTokenDataSource: AuthTokenDataSource,
): TipsRecipeRemoteDataSource {
return TipsRecipeRemoteDataSourceImpl(tipsRecipeService, authTokenDataSource)
}

@Provides
Expand All @@ -36,7 +40,11 @@ class TipsRecipeModule {
tipsRecipeMapper: TipsRecipeMapper,
tipsRecipeDetailMapper: TipsRecipeDetailMapper
): TipsRecipeRepository {
return TipsRecipeRepositoryImpl(tipsRecipeRemoteDataSource, tipsRecipeMapper, tipsRecipeDetailMapper)
return TipsRecipeRepositoryImpl(
tipsRecipeRemoteDataSource,
tipsRecipeMapper,
tipsRecipeDetailMapper
)
}

@Provides
Expand All @@ -47,7 +55,7 @@ class TipsRecipeModule {

@Provides
@Singleton
fun provideTipsRecipeDetailMapper(): TipsRecipeDetailMapper{
fun provideTipsRecipeDetailMapper(): TipsRecipeDetailMapper {
return TipsRecipeDetailMapper()
}
}
54 changes: 54 additions & 0 deletions data/src/main/java/com/example/data/di/UserInfoModule.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
package com.example.data.di

import com.example.data.mapper.auth.AuthMapper
import com.example.data.mapper.core.BaseMapper
import com.example.data.repository.local.auth.AuthTokenDataSource
import com.example.data.repository.remote.auth.AuthRemoteDataSource
import com.example.data.repository.remote.auth.AuthRemoteDataSourceImpl
import com.example.data.repository.remote.auth.AuthRepositoryImpl
import com.example.data.repository.remote.userInfo.SaveUserInfoDataSource
import com.example.data.repository.remote.userInfo.SaveUserInfoDataSourceImpl
import com.example.data.repository.remote.userInfo.SaveUserInfoRepositoryImpl
import com.example.data.retrofit.UserInfoService
import com.example.data.retrofit.UserService
import com.example.domain.repository.auth.AuthRepository
import com.example.domain.repository.userInfo.SaveUserInfoRepository
import dagger.Module
import dagger.Provides
import dagger.hilt.InstallIn
import dagger.hilt.components.SingletonComponent
import retrofit2.Retrofit
import javax.inject.Singleton


@Module(includes = [NetworkModule::class,DataStoreModule::class])
@InstallIn(SingletonComponent::class)
object UserInfoModule {
@Singleton
@Provides
fun providerUserInfoService(retrofit: Retrofit): UserInfoService {
return retrofit.create(UserInfoService::class.java)
}

@Provides
@Singleton
fun provideUserInfoRemoteDataSource(
userServiceInfo: UserInfoService,
authTokenDataSource: AuthTokenDataSource
): SaveUserInfoDataSource {
return SaveUserInfoDataSourceImpl(userServiceInfo, authTokenDataSource)
}

@Provides
fun provideAuthRepository(
saveUserInfoDataSource: SaveUserInfoDataSource,
baseMapper: BaseMapper
): SaveUserInfoRepository {
return SaveUserInfoRepositoryImpl(saveUserInfoDataSource, baseMapper)
}

@Provides
fun providerBaseMapper(): BaseMapper {
return BaseMapper()
}
}
Loading

0 comments on commit e0998ed

Please sign in to comment.