Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
103 commits
Select commit Hold shift + click to select a range
b1eb29e
code clean
ftrtyfytfjh Jun 23, 2025
f365251
Skeetch for Workspaces
ftrtyfytfjh Jun 23, 2025
70c74ed
Fixing graph draw
ftrtyfytfjh Jun 26, 2025
12a1825
fixing .sq
ftrtyfytfjh Jul 3, 2025
11abdb2
Creating workspace api
ftrtyfytfjh Jul 8, 2025
62ed9c8
Registering and adding test
ftrtyfytfjh Jul 8, 2025
1803a83
test for login - it shoudl return a workspace
ftrtyfytfjh Jul 8, 2025
dbf5a15
implementing workspace repository
ftrtyfytfjh Jul 8, 2025
730389a
fixing implementation
ftrtyfytfjh Jul 8, 2025
28326f7
Changing workspace name in DOcumentEntity.sq
ftrtyfytfjh Jul 15, 2025
e9db73d
FIxing compilation
ftrtyfytfjh Aug 4, 2025
400d362
Update AppDaosInjection.kt
ftrtyfytfjh Aug 4, 2025
92031be
Changing workspace in repositories
ftrtyfytfjh Aug 5, 2025
7ca8a9b
Update RoomDocumentRepository.kt
ftrtyfytfjh Aug 5, 2025
2c5c761
renaming workspace_id in queries
ftrtyfytfjh Aug 5, 2025
3f06b3b
Making workspace not nullable
ftrtyfytfjh Aug 5, 2025
951d76e
Fixing tests build
ftrtyfytfjh Aug 5, 2025
40f09c5
implementing workspace sync
ftrtyfytfjh Aug 10, 2025
3d78d64
rebasing and compiling
ftrtyfytfjh Aug 28, 2025
4bd78b4
Cleaning code and fixing logic for WorkspaceSync
ftrtyfytfjh Aug 29, 2025
1462385
outdatted documents by workspace id
ftrtyfytfjh Aug 31, 2025
fbdae32
fizing compilation
ftrtyfytfjh Aug 31, 2025
65c0fa7
Connection
ftrtyfytfjh Aug 31, 2025
354e9ef
Feedback for syncing workspace
ftrtyfytfjh Sep 1, 2025
a470369
Error message
ftrtyfytfjh Sep 1, 2025
6944875
Fixing diff in workspace
ftrtyfytfjh Sep 1, 2025
4a13d4a
creating endpoint for diff of workspace
ftrtyfytfjh Sep 1, 2025
5eef57f
Adding sync of workspace with tests
ftrtyfytfjh Sep 1, 2025
400ae6b
code clean
ftrtyfytfjh Sep 1, 2025
4e86751
Fixing start documents
ftrtyfytfjh Sep 1, 2025
6cfddad
Adding folders
ftrtyfytfjh Sep 1, 2025
744e704
fixing build
ftrtyfytfjh Sep 1, 2025
800c088
fixing build for backend
ftrtyfytfjh Sep 1, 2025
06e18f0
Sync returning 200
ftrtyfytfjh Sep 1, 2025
2e6a06e
debug mode for register
ftrtyfytfjh Sep 1, 2025
75419a5
Fixing auth for workspace sync
ftrtyfytfjh Sep 2, 2025
bf4bd60
printing workspaces
ftrtyfytfjh Sep 3, 2025
d512577
Creating system to add user to multiple workspaces
ftrtyfytfjh Sep 3, 2025
fa02c76
Adding n:m relation for workspace and user
ftrtyfytfjh Sep 4, 2025
2146d34
fixing endpoint
ftrtyfytfjh Sep 7, 2025
bb28a61
sketch of a test for adding a user to another workspace
ftrtyfytfjh Sep 7, 2025
b408c70
Update DefaultDrawersDesktop.kt
ftrtyfytfjh Sep 15, 2025
1c104ae
Adding tests for adding users to workspaces
ftrtyfytfjh Sep 22, 2025
595dd0d
idea
ftrtyfytfjh Sep 22, 2025
2085af1
Adding a way to add users to workspace without admin key
ftrtyfytfjh Sep 22, 2025
fd2d4a5
Adding role to workspace
ftrtyfytfjh Sep 22, 2025
e698b64
Adding delete logic for workspace
ftrtyfytfjh Sep 22, 2025
3fdd67a
removing unused import
ftrtyfytfjh Sep 22, 2025
4d3aa5b
Fixing bug of account menu for disconnected user
ftrtyfytfjh Sep 23, 2025
8bd8913
Adding check. User must be a member of workspace
ftrtyfytfjh Sep 24, 2025
455e772
Adding workspace
ftrtyfytfjh Sep 27, 2025
db2d728
Fixing compilation
ftrtyfytfjh Sep 28, 2025
571a2ed
Choose team
ftrtyfytfjh Sep 29, 2025
fa8970c
Adding UI for workspace choose
ftrtyfytfjh Oct 15, 2025
8161497
libraries bump
ftrtyfytfjh Oct 15, 2025
cca9852
updating libraries
ftrtyfytfjh Oct 15, 2025
76204d8
Update libs.versions.toml
ftrtyfytfjh Oct 15, 2025
44f57b3
Update SettingsDialog.kt
ftrtyfytfjh Oct 15, 2025
e81bf4f
reverting libs
ftrtyfytfjh Oct 15, 2025
84a5812
kotlin bump
ftrtyfytfjh Oct 15, 2025
de615ea
fixing build
ftrtyfytfjh Oct 15, 2025
55eaed9
baseline
ftrtyfytfjh Oct 15, 2025
a7bd16b
Adding workspaces
ftrtyfytfjh Oct 17, 2025
bde9177
Removing unused imports
ftrtyfytfjh Oct 17, 2025
f04d854
MOving classes
ftrtyfytfjh Oct 17, 2025
6ec9cbb
Showing users of workspace
ftrtyfytfjh Oct 19, 2025
157e24b
Adding yours to your workspace
ftrtyfytfjh Oct 20, 2025
e04ba3b
ui fix
ftrtyfytfjh Oct 20, 2025
731bc95
fixing tests
ftrtyfytfjh Oct 20, 2025
fb48de7
Fixing compilation of ios
ftrtyfytfjh Oct 20, 2025
1f33a01
Adding sketch of workspace choice
ftrtyfytfjh Oct 22, 2025
5d472a9
Adding workspace selection
ftrtyfytfjh Oct 23, 2025
954fc30
debudding workspace switch
ftrtyfytfjh Oct 23, 2025
498b2a3
Showing documents of workspace
ftrtyfytfjh Oct 24, 2025
cba6135
showing documents in side menu
ftrtyfytfjh Oct 24, 2025
d2fb817
adding folders in root
ftrtyfytfjh Oct 24, 2025
663cf99
Inserting documents correctly
ftrtyfytfjh Oct 24, 2025
fc248b6
debugging workspace change
ftrtyfytfjh Oct 24, 2025
2375c38
Fixing edition of folder
ftrtyfytfjh Oct 24, 2025
16ce1e2
Expanding folders in side menu
ftrtyfytfjh Oct 24, 2025
5a0dfd4
Unselecting workspace before selecting another one
ftrtyfytfjh Oct 24, 2025
a0122c4
Fixing tests
ftrtyfytfjh Oct 24, 2025
35bdb6e
fixing tests
ftrtyfytfjh Oct 29, 2025
16fe39c
ktx
ftrtyfytfjh Oct 30, 2025
2b25440
Fixing tests and compilation of mobile
ftrtyfytfjh Oct 30, 2025
26f8dc1
base line
ftrtyfytfjh Oct 30, 2025
3474708
Fixing test for adding user
ftrtyfytfjh Oct 30, 2025
24a4be7
Fixing registration
ftrtyfytfjh Oct 30, 2025
423bb83
adding workspace name
ftrtyfytfjh Oct 30, 2025
120ec3f
Update MainViewController.kt
ftrtyfytfjh Oct 30, 2025
0c725c1
Fixing auth
ftrtyfytfjh Oct 30, 2025
037aac8
baseline
ftrtyfytfjh Oct 30, 2025
356c4d1
Choosing offline workspace
ftrtyfytfjh Oct 31, 2025
23c61b2
Fixing sync
ftrtyfytfjh Oct 31, 2025
aa54e8d
baseline
ftrtyfytfjh Oct 31, 2025
94d647f
fixing rebase conflict
ftrtyfytfjh Oct 31, 2025
aa8c817
Fixing search
ftrtyfytfjh Nov 4, 2025
3009fa7
migrating tables
ftrtyfytfjh Nov 5, 2025
ef8889a
changing id work disconnected workspace
ftrtyfytfjh Nov 5, 2025
9007cf5
fixing build
ftrtyfytfjh Nov 5, 2025
8c026da
code clean
ftrtyfytfjh Nov 5, 2025
e5d1245
Update build.gradle.kts
ftrtyfytfjh Nov 5, 2025
3e545a0
Update .editorconfig
ftrtyfytfjh Nov 5, 2025
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
3 changes: 3 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -28,5 +28,8 @@ ktlint_function_naming_ignore_when_annotated_with = Composable
ktlint_standard_filename = disabled
ktlint_standard_property-naming = disabled
ktlint_standard_import-ordering = disabled
ktlint_standard_no-multi-spaces = disabled
ktlint_standard_chain-method-continuation = disabled



Original file line number Diff line number Diff line change
@@ -1,3 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<baseline version="1.0">
<file name="src/commonMain/kotlin/io/writeopia/notes/desktop/components/App.kt">
<error line="119" column="32" source="standard:chain-method-continuation" />
<error line="290" column="37" source="standard:chain-method-continuation" />
<error line="310" column="37" source="standard:chain-method-continuation" />
</file>
<file name="src/commonMain/kotlin/io/writeopia/notes/desktop/components/GlobalHeader.kt">
<error line="35" column="28" source="standard:chain-method-continuation" />
</file>
</baseline>
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
package io.writeopia.notes.desktop

object ClearCache {

fun clearAllCache() {}
}
Original file line number Diff line number Diff line change
Expand Up @@ -221,8 +221,11 @@ fun DesktopApp(
downloadModelState = globalShellViewModel.downloadModelState,
userOnlineState = globalShellViewModel.userState,
showDeleteConfirmation = globalShellViewModel.showDeleteConfirmation,
syncWorkspaceState = globalShellViewModel.lastWorkspaceSync,
workspaceToEdit = globalShellViewModel.workspaceToEdit,
onDismissRequest = globalShellViewModel::hideSettings,
selectColorTheme = selectColorTheme,
workspaces = globalShellViewModel.availableWorkspaces,
selectWorkplacePath = globalShellViewModel::changeWorkspaceLocalPath,
ollamaUrlChange = globalShellViewModel::changeOllamaUrl,
ollamaModelChange = globalShellViewModel::selectOllamaModel,
Expand All @@ -242,7 +245,12 @@ fun DesktopApp(
globalShellViewModel.deleteAccount(
sideEffect = navigateToRegister
)
}
},
syncWorkspace = globalShellViewModel::syncWorkspace,
addUserToTeam = globalShellViewModel::addUserToTeam,
selectWorkspaceToManage =
globalShellViewModel::selectWorkspaceToManage,
usersInSelectedWorkspace = globalShellViewModel.usersOfWorkspaceToEdit,
)
}

Expand Down
4 changes: 2 additions & 2 deletions application/composeApp/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -168,15 +168,15 @@ compose.desktop {

android {
namespace = "io.writeopia"
compileSdk = 35
compileSdk = libs.versions.compileSdk.get().toInt()

defaultConfig {
val baseUrl = "https://writeopia.dev"
buildConfigField("String", "BASE_URL", "\"$baseUrl\"")

applicationId = "io.writeopia"
minSdk = 24
targetSdk = 35
targetSdk = libs.versions.targetSdk.get().toInt()
versionCode = 35
versionName = "0.22.0"

Expand Down
28 changes: 28 additions & 0 deletions application/composeApp/config/ktlint/baseline.xml
Original file line number Diff line number Diff line change
@@ -1,3 +1,31 @@
<?xml version="1.0" encoding="utf-8"?>
<baseline version="1.0">
<file name="build.gradle.kts">
<error line="171" column="42" source="standard:chain-method-continuation" />
<error line="171" column="48" source="standard:chain-method-continuation" />
<error line="179" column="44" source="standard:chain-method-continuation" />
<error line="179" column="50" source="standard:chain-method-continuation" />
</file>
<file name="src/androidInstrumentedTest/kotlin/io/writeopia/robots/AndroidDocumentEditPageRobot.kt">
<error line="8" column="36" source="standard:class-signature" />
<error line="8" column="80" source="standard:class-signature" />
</file>
<file name="src/commonMain/kotlin/io/writeopia/mobile/AppMobile.kt">
<error line="64" column="50" source="standard:chain-method-continuation" />
<error line="88" column="63" source="standard:chain-method-continuation" />
</file>
<file name="src/commonMain/kotlin/io/writeopia/navigation/MobileNavigationViewModel.kt">
<error line="9" column="35" source="standard:class-signature" />
<error line="9" column="48" source="standard:class-signature" />
</file>
<file name="src/commonMain/kotlin/io/writeopia/navigation/NavItemName.kt">
<error line="5" column="24" source="standard:class-signature" />
<error line="5" column="41" source="standard:class-signature" />
</file>
<file name="src/commonMain/kotlin/io/writeopia/navigation/StartUp.kt">
<error line="39" column="33" source="standard:chain-method-continuation" />
</file>
<file name="src/jvmMain/kotlin/io/writeopia/desktop/MainDesktop.kt">
<error line="25" column="1" source="standard:no-unused-imports" />
</file>
</baseline>
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@ import androidx.lifecycle.viewmodel.compose.viewModel
import androidx.navigation.NavHostController
import androidx.navigation.compose.rememberNavController
import io.writeopia.BuildConfig
import io.writeopia.auth.di.AuthInjection
import io.writeopia.auth.navigation.authNavigation
import io.writeopia.common.utils.Destinations
import io.writeopia.common.utils.NotesNavigation
Expand Down Expand Up @@ -73,7 +72,6 @@ fun NavigationGraph(
WriteopiaConnectionInjector.setBaseUrl(BuildConfig.BASE_URL)
val uiConfigViewModel = uiConfigInjection.provideUiConfigurationViewModel()
val repositoryInjection = RoomRepositoryInjection.singleton()
val authInjection = AuthInjection()
val editorInjector = EditorKmpInjector.mobile(repositoryInjection)
val notesMenuInjection = NotesMenuKmpInjection.mobile(repositoryInjection)

Expand All @@ -96,9 +94,9 @@ fun NavigationGraph(
editorInjector = editorInjector,
navigationViewModel = navigationViewModel
) {
startScreen(navController, authInjection, colorThemeState)
startScreen(navController, colorThemeState)

authNavigation(navController, authInjection, colorThemeState) {
authNavigation(navController, colorThemeState) {
navController.navigateToNotes(NotesNavigation.Root)
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,8 @@ import kotlinx.coroutines.flow.StateFlow

fun NavGraphBuilder.startScreen(
navigationController: NavController,
authInjection: AuthInjection,
colorTheme: StateFlow<ColorThemeOption?>
colorTheme: StateFlow<ColorThemeOption?>,
authInjection: AuthInjection = AuthInjection.singleton()
) {
composable(route = Destinations.START_APP.id) {
val authMenuViewModel: AuthMenuViewModel =
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ import androidx.compose.runtime.rememberCoroutineScope
import androidx.compose.ui.window.ComposeUIViewController
import androidx.lifecycle.viewmodel.compose.viewModel
import androidx.navigation.compose.rememberNavController
import io.writeopia.auth.di.AuthInjection
import io.writeopia.auth.navigation.authNavigation
import io.writeopia.common.utils.Destinations
import io.writeopia.common.utils.NotesNavigation
import io.writeopia.editor.di.EditorKmpInjector
import io.writeopia.features.search.di.KmpSearchInjection
Expand Down Expand Up @@ -55,20 +55,23 @@ fun MainViewController() = ComposeUIViewController {

val editorInjector = EditorKmpInjector.mobile(sqlDelightDaoInjector)

val authInjection = AuthInjection(sqlDelightDaoInjector)
val navigationViewModel = viewModel { MobileNavigationViewModel() }

val navController = rememberNavController()
val uiConfigInjection = UiConfigurationInjector.singleton()
val uiConfigViewModel = uiConfigInjection.provideUiConfigurationViewModel()
val colorThemeState = uiConfigViewModel.listenForColorTheme { "disconnected_user" }

AppMobile(
startDestination = Destinations.START_APP.id,
navController = navController,
searchInjector = searchInjection,
uiConfigViewModel = uiConfigurationViewModel,
notesMenuInjection = notesMenuInjection,
editorInjector = editorInjector,
navigationViewModel = navigationViewModel,
) {
authNavigation(navController, authInjection) {
authNavigation(navController, colorThemeState) {
navController.navigateToNotes(NotesNavigation.Root)
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -222,9 +222,10 @@ private fun ApplicationScope.App(onCloseRequest: () -> Unit = ::exitApplication)
val database = databaseState.writeopiaDb

WriteopiaDbInjector.initialize(database)
WriteopiaConnectionInjector.setBaseUrl("https://writeopia.dev")

val authInjection = AuthInjection()
WriteopiaConnectionInjector.setBaseUrl(
"https://writeopia.dev"
// "http://localhost:8080"
)

val uiConfigurationInjector = UiConfigurationInjector.singleton()

Expand All @@ -249,7 +250,7 @@ private fun ApplicationScope.App(onCloseRequest: () -> Unit = ::exitApplication)
Destinations.MAIN_APP.id
}
) {
startScreen(navigationController, authInjection, colorTheme)
startScreen(navigationController, colorTheme)

composable(route = Destinations.MAIN_APP.id) {
DesktopApp(
Expand All @@ -276,7 +277,6 @@ private fun ApplicationScope.App(onCloseRequest: () -> Unit = ::exitApplication)

authNavigation(
navController = navigationController,
authInjection = authInjection,
colorThemeOption = colorTheme
) {
navigationController.navigate(Destinations.MAIN_APP.id)
Expand Down
11 changes: 10 additions & 1 deletion application/core/auth_core/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -43,9 +43,11 @@ kotlin {
implementation(project(":plugins:writeopia_serialization"))

implementation(project(":application:core:connection"))
implementation(project(":common:endpoints"))

implementation(libs.kotlinx.coroutines.core)
implementation(libs.kotlinx.serialization.json)
implementation(libs.kotlinx.datetime)

implementation(libs.ktor.client.core)
}
Expand All @@ -56,6 +58,13 @@ kotlin {
}
}

val jvmTest by getting {
dependencies {
implementation(libs.kotlin.test)
implementation(libs.kotlinx.coroutines.test)
}
}

val jsMain by getting {
dependencies {
}
Expand All @@ -75,7 +84,7 @@ kotlin {

android {
namespace = "io.writeopia.auth.core"
compileSdk = 35
compileSdk = libs.versions.compileSdk.get().toInt()

defaultConfig {
minSdk = 24
Expand Down
42 changes: 42 additions & 0 deletions application/core/auth_core/config/ktlint/baseline.xml
Original file line number Diff line number Diff line change
@@ -1,3 +1,45 @@
<?xml version="1.0" encoding="utf-8"?>
<baseline version="1.0">
<file name="build.gradle.kts">
<error line="87" column="42" source="standard:chain-method-continuation" />
<error line="87" column="48" source="standard:chain-method-continuation" />
</file>
<file name="src/androidMain/kotlin/io/writeopia/auth/core/repository/RoomAuthRepository.kt">
<error line="50" column="1" source="standard:no-blank-line-before-rbrace" />
<error line="50" column="1" source="standard:no-empty-first-line-in-method-block" />
</file>
<file name="src/commonMain/kotlin/io/writeopia/auth/core/data/AuthApi.kt">
<error line="21" column="15" source="standard:class-signature" />
<error line="21" column="47" source="standard:class-signature" />
<error line="21" column="74" source="standard:class-signature" />
<error line="22" column="82" source="standard:function-expression-body" />
<error line="24" column="34" source="standard:chain-method-continuation" />
<error line="42" column="33" source="standard:function-expression-body" />
<error line="44" column="34" source="standard:chain-method-continuation" />
<error line="56" column="85" source="standard:function-expression-body" />
<error line="75" column="67" source="standard:function-expression-body" />
<error line="77" column="34" source="standard:chain-method-continuation" />
</file>
<file name="src/commonMain/kotlin/io/writeopia/auth/core/data/WorkspaceApi.kt">
<error line="24" column="20" source="standard:class-signature" />
<error line="24" column="52" source="standard:class-signature" />
<error line="24" column="79" source="standard:class-signature" />
<error line="52" column="84" source="standard:function-expression-body" />
<error line="54" column="34" source="standard:chain-method-continuation" />
</file>
<file name="src/commonMain/kotlin/io/writeopia/auth/core/manager/AuthRepository.kt">
<error line="14" column="76" source="standard:curly-spacing" />
</file>
<file name="src/commonMain/kotlin/io/writeopia/auth/core/manager/SqlDelightAuthRepository.kt">
<error line="16" column="51" source="standard:function-expression-body" />
<error line="17" column="27" source="standard:chain-method-continuation" />
<error line="28" column="24" source="standard:chain-method-continuation" />
<error line="56" column="50" source="standard:function-expression-body" />
<error line="57" column="27" source="standard:chain-method-continuation" />
<error line="72" column="20" source="standard:chain-method-continuation" />
<error line="87" column="20" source="standard:chain-method-continuation" />
</file>
<file name="src/commonMain/kotlin/io/writeopia/auth/core/utils/UserExtensions.kt">
<error line="7" column="52" source="standard:function-expression-body" />
</file>
</baseline>
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,11 @@ actual class AuthCoreInjectionNeo(
) {

actual fun provideAuthRepository(): AuthRepository =
RoomAuthRepository(appsDaosInjection.provideUserDao(), appsDaosInjection.provideTokenDao())
RoomAuthRepository(
appsDaosInjection.provideUserDao(),
appsDaosInjection.provideTokenDao(),
appsDaosInjection.provideWorkspaceDao()
)

actual fun provideAuthApi(): AuthApi =
AuthApi(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,15 @@ package io.writeopia.auth.core.repository
import io.writeopia.auth.core.manager.AuthRepository
import io.writeopia.common.utils.persistence.daos.TokenCommonDao
import io.writeopia.common.utils.persistence.daos.UserCommonDao
import io.writeopia.common.utils.persistence.daos.WorkspaceCommonDao
import io.writeopia.sdk.models.workspace.Workspace
import io.writeopia.sdk.models.user.WriteopiaUser
import io.writeopia.sdk.models.utils.ResultData

class RoomAuthRepository(
private val userDao: UserCommonDao,
private val tokenCommonDao: TokenCommonDao
private val tokenCommonDao: TokenCommonDao,
private val workspaceCommonDao: WorkspaceCommonDao
) : AuthRepository {
override suspend fun getUser(): WriteopiaUser = userDao.selectCurrentUser()

Expand All @@ -33,6 +36,17 @@ class RoomAuthRepository(
override suspend fun getAuthToken(): String? = tokenCommonDao.getTokenByUserId(getUser().id)

override suspend fun useOffline() {
saveUser(WriteopiaUser.disconnectedUser().copy(id = WriteopiaUser.OFFLINE), true)
saveUser(WriteopiaUser.disconnectedUser().copy(id = WriteopiaUser.DISCONNECTED), true)
}

override suspend fun getWorkspace(): Workspace =
workspaceCommonDao.selectCurrentWorkspace() ?: Workspace.disconnectedWorkspace()

override suspend fun saveWorkspace(workspace: Workspace) {
workspaceCommonDao.insertWorkspace(workspace, true)
}

override suspend fun unselectAllWorkspaces() {

}
}
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@ import io.writeopia.sdk.serialization.data.auth.RegisterRequest
import io.writeopia.sdk.serialization.data.auth.ResetPasswordRequest

class AuthApi(private val client: HttpClient, private val baseUrl: String) {

suspend fun login(email: String, password: String): ResultData<AuthResponse> {
return try {
val response = client.post("$baseUrl/api/login") {
Expand All @@ -29,24 +28,27 @@ class AuthApi(private val client: HttpClient, private val baseUrl: String) {

ResultData.Complete(response)
} catch (e: Exception) {
println("login error: ${e.message}")
e.printStackTrace()
ResultData.Error(e)
}
}

suspend fun register(
name: String,
email: String,
company: String,
workspaceName: String,
password: String
): ResultData<AuthResponse> {
return try {
val response = client.post("$baseUrl/api/register") {
contentType(ContentType.Application.Json)
setBody(RegisterRequest(name, email, company, password))
setBody(RegisterRequest(name, email, workspaceName, password))
}.body<AuthResponse>()

ResultData.Complete(response)
} catch (e: Exception) {
e.printStackTrace()
ResultData.Error(e)
}
}
Expand Down
Loading