-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathServiceModule.kt
More file actions
107 lines (88 loc) · 2.95 KB
/
ServiceModule.kt
File metadata and controls
107 lines (88 loc) · 2.95 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
package com.paw.key.data.di
import com.paw.key.data.service.ArchivedListService
import com.paw.key.data.service.LikeService
import com.paw.key.data.service.SavedListService
import com.paw.key.data.service.auth.ReissueService
import com.paw.key.data.service.home.HomeRegionService
import com.paw.key.data.service.image.ImageService
import com.paw.key.data.service.image.S3Service
import com.paw.key.data.service.login.LoginService
import com.paw.key.data.service.posts.PostsService
import com.paw.key.data.service.region.RegionService
import com.paw.key.data.service.mypage.MypageService
import com.paw.key.data.service.sharedwalk.SharedWalkService
import com.paw.key.data.service.user.UserService
import com.paw.key.data.service.walk.WalkService
import com.paw.key.data.service.walkpreparation.WalkPreparationService
import dagger.Module
import dagger.Provides
import dagger.hilt.InstallIn
import dagger.hilt.components.SingletonComponent
import retrofit2.Retrofit
import retrofit2.create
import javax.inject.Named
import javax.inject.Singleton
@Module
@InstallIn(SingletonComponent::class)
object ServiceModule {
@Provides
@Singleton
fun providesRegionService(retrofit: Retrofit ): RegionService =
retrofit.create()
@Provides
@Singleton
fun provideUserInfoService(retrofit: Retrofit): UserService =
retrofit.create()
@Provides
@Singleton
fun provideSharedWalkService(retrofit: Retrofit): SharedWalkService =
retrofit.create()
@Provides
@Singleton
fun provideHomeRegionService(retrofit: Retrofit): HomeRegionService =
retrofit.create()
@Provides
@Singleton
fun provideSavedListService(retrofit: Retrofit): SavedListService =
retrofit.create()
@Provides
@Singleton
fun provideArchivedListService(retrofit: Retrofit): ArchivedListService =
retrofit.create()
@Provides
@Singleton
fun provideLikeService(retrofit: Retrofit): LikeService =
retrofit.create()
@Provides
@Singleton
fun provideLoginService(retrofit: Retrofit): LoginService =
retrofit.create()
@Provides
@Singleton
fun provideImageService(retrofit: Retrofit): ImageService =
retrofit.create()
@Provides
@Singleton
fun provideImageS3Service(@Named("s3") retrofit: Retrofit): S3Service =
retrofit.create()
@Provides
@Singleton
fun provideWalkPreparationService(retrofit: Retrofit): WalkPreparationService =
retrofit.create()
@Provides
@Singleton
fun provideWalkService(retrofit: Retrofit): WalkService =
retrofit.create()
@Provides
@Singleton
fun provideReissueService(@Named("auth") retrofit: Retrofit): ReissueService =
retrofit.create()
@Provides
@Singleton
fun providePostsService(retrofit: Retrofit): PostsService =
retrofit.create()
@Provides
@Singleton
fun provideMypageService(retrofit: Retrofit): MypageService =
retrofit.create()
}