From f63b1522b65c04e48d4cb024f313f8fc49f5fdb7 Mon Sep 17 00:00:00 2001 From: Slava Date: Mon, 7 Aug 2023 14:27:05 +0600 Subject: [PATCH 1/4] SQL requests [+] refactoring SQL table [+] created functions to insert and get data from SQL table --- .../elevator/data/database/DriverFactory.kt | 2 +- .../office/elevator/data/database/DBSource.kt | 35 ++++++++- .../elevator/data/database/DBSourceImpl.kt | 72 ++++++++++++++++++- .../office/elevator/scheme/Profile.sq | 69 ++++++++++++++---- .../elevator/data/database/DriverFactory.kt | 2 +- 5 files changed, 157 insertions(+), 23 deletions(-) diff --git a/composeApp/src/androidMain/kotlin/band/effective/office/elevator/data/database/DriverFactory.kt b/composeApp/src/androidMain/kotlin/band/effective/office/elevator/data/database/DriverFactory.kt index 2a1a0a67..5a094d2b 100644 --- a/composeApp/src/androidMain/kotlin/band/effective/office/elevator/data/database/DriverFactory.kt +++ b/composeApp/src/androidMain/kotlin/band/effective/office/elevator/data/database/DriverFactory.kt @@ -7,6 +7,6 @@ import band.effective.office.elevator.Database actual class DriverFactory(private val context: Context) { actual fun createDriver(): SqlDriver { - return AndroidSqliteDriver(Database.Schema, context, "test.db") + return AndroidSqliteDriver(Database.Schema, context, "user.db") } } \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/band/effective/office/elevator/data/database/DBSource.kt b/composeApp/src/commonMain/kotlin/band/effective/office/elevator/data/database/DBSource.kt index 2af8dce6..0cdd9da6 100644 --- a/composeApp/src/commonMain/kotlin/band/effective/office/elevator/data/database/DBSource.kt +++ b/composeApp/src/commonMain/kotlin/band/effective/office/elevator/data/database/DBSource.kt @@ -1,8 +1,37 @@ package band.effective.office.elevator.data.database -import band.effective.office.elevator.ui.content.ContentComponent +import band.effective.office.elevator.domain.models.User -// TODO(edit this interface) interface DBSource { - fun getProfileName(): String + fun getIdToken(): String + + fun getName(): String + + fun getPost(): String + + fun getEmail(): String + + fun getPhoneNumber(): String + + fun getTelegramNick(): String + + fun getImageUrl(): String? + + fun getUser(): User + + fun updateToken(idToken: String) + + fun updateName(name: String, idToken: String) + + fun updatePost(post: String, idToken: String) + + fun updateEmail(email: String, idToken: String) + + fun updatePhoneNumber(phoneNumber: String, idToken: String) + + fun updateTelegramNick(telegramNick: String, idToken: String) + + fun updateImageUrl(imageUrl: String, idToken: String) + + fun insertUser(user: User) } \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/band/effective/office/elevator/data/database/DBSourceImpl.kt b/composeApp/src/commonMain/kotlin/band/effective/office/elevator/data/database/DBSourceImpl.kt index 7c530b09..bfa39c00 100644 --- a/composeApp/src/commonMain/kotlin/band/effective/office/elevator/data/database/DBSourceImpl.kt +++ b/composeApp/src/commonMain/kotlin/band/effective/office/elevator/data/database/DBSourceImpl.kt @@ -1,14 +1,80 @@ package band.effective.office.elevator.data.database import band.effective.office.elevator.Database +import band.effective.office.elevator.domain.models.User class DBSourceImpl( val database: Database -): DBSource { +) : DBSource { private val profileQueries = database.profileQueries - override fun getProfileName(): String { - return profileQueries.selectAll().executeAsOne().full_name + override fun getIdToken(): String = profileQueries.selectIdToken().executeAsOne() + + override fun getName(): String = profileQueries.selectName().executeAsOne() + + override fun getPost(): String = profileQueries.selectPost().executeAsOne() + + override fun getEmail(): String = profileQueries.selectEmail().executeAsOne() + + override fun getPhoneNumber(): String = profileQueries.selectPhoneNumber().executeAsOne() + + override fun getTelegramNick(): String = profileQueries.selectTelegramNick().executeAsOne() + + override fun getImageUrl(): String = profileQueries.selectImageUrl().executeAsOne() + + override fun getUser(): User = + with(profileQueries.selectAll().executeAsOne()) { + User( + id = idToken, + phoneNumber = phoneNumber, + post = post, + userName = name, + telegram = telegramNick, + email = email, + imageUrl = imageUrl + ) + } + + override fun updateToken(idToken: String) { + profileQueries.updateToken(idToken = idToken, idToken_ = idToken) + } + + override fun updateName(name: String, idToken: String) { + profileQueries.updateName(name = name, idToken = idToken) + } + + override fun updatePost(post: String, idToken: String) { + profileQueries.updatePost(post = post, idToken = idToken) + } + + override fun updateEmail(email: String, idToken: String) { + profileQueries.updateEmail(email = email, idToken = idToken) + } + + override fun updatePhoneNumber(phoneNumber: String, idToken: String) { + profileQueries.updatePhoneNumber(phoneNumber = phoneNumber, idToken = idToken) + } + + override fun updateTelegramNick(telegramNick: String, idToken: String) { + profileQueries.updateTelegramNick(telegramNick = telegramNick, idToken = idToken) + } + + override fun updateImageUrl(imageUrl: String, idToken: String) { + profileQueries.updateImageUrl(imageUrl = imageUrl, idToken = idToken) + } + + override fun insertUser(user: User) { + with(user) { + profileQueries.insert( + idToken = id, + name = userName, + post = post, + email = email, + phoneNumber = phoneNumber, + telegramNick = telegram, + imageUrl = imageUrl + ) + } } } \ No newline at end of file diff --git a/composeApp/src/commonMain/sqldelight/band/effective/office/elevator/scheme/Profile.sq b/composeApp/src/commonMain/sqldelight/band/effective/office/elevator/scheme/Profile.sq index bb1c4f4b..f61fee06 100644 --- a/composeApp/src/commonMain/sqldelight/band/effective/office/elevator/scheme/Profile.sq +++ b/composeApp/src/commonMain/sqldelight/band/effective/office/elevator/scheme/Profile.sq @@ -1,21 +1,60 @@ -CREATE TABLE hockeyPlayer ( - player_number INTEGER NOT NULL, - full_name TEXT NOT NULL +CREATE TABLE profileData ( + idToken TEXT NOT NULL DEFAULT '', + name TEXT NOT NULL DEFAULT '', + post TEXT NOT NULL DEFAULT '', + email TEXT NOT NULL DEFAULT '', + phoneNumber TEXT NOT NULL DEFAULT '', + telegramNick TEXT NOT NULL DEFAULT '', + imageUrl TEXT NOT NULL DEFAULT '' ); -CREATE INDEX hockeyPlayer_full_name ON hockeyPlayer(full_name); - -INSERT INTO hockeyPlayer (player_number, full_name) -VALUES (15, 'Ryan Getzlaf'); +CREATE INDEX idTokenIndex ON profileData(idToken); selectAll: -SELECT * -FROM hockeyPlayer; +SELECT * FROM profileData; -insert: -INSERT INTO hockeyPlayer(player_number, full_name) -VALUES (?, ?); +selectIdToken: +SELECT idToken FROM profileData; + +selectName: +SELECT name FROM profileData; + +selectPost: +SELECT post FROM profileData; + +selectEmail: +SELECT email FROM profileData; + +selectPhoneNumber: +SELECT phoneNumber FROM profileData; + +selectTelegramNick: +SELECT telegramNick FROM profileData; + +selectImageUrl: +SELECT imageUrl FROM profileData; -insertFullPlayerObject: -INSERT INTO hockeyPlayer(player_number, full_name) -VALUES ?; \ No newline at end of file +updateToken: +UPDATE profileData SET idToken = ? WHERE idToken = ?; + +updateName: +UPDATE profileData SET name = ? WHERE idToken = ?; + +updatePost: +UPDATE profileData SET post = ? WHERE idToken = ?; + +updateEmail: +UPDATE profileData SET email = ? WHERE idToken = ?; + +updatePhoneNumber: +UPDATE profileData SET phoneNumber = ? WHERE idToken = ?; + +updateTelegramNick: +UPDATE profileData SET telegramNick = ? WHERE idToken = ?; + +updateImageUrl: +UPDATE profileData SET imageUrl = ? WHERE idToken = ?; + +insert: +INSERT INTO profileData(idToken, name, post, email, phoneNumber, telegramNick, imageUrl) +VALUES (?, ?, ?, ?, ?, ?, ?); \ No newline at end of file diff --git a/composeApp/src/iosMain/kotlin/band/effective/office/elevator/data/database/DriverFactory.kt b/composeApp/src/iosMain/kotlin/band/effective/office/elevator/data/database/DriverFactory.kt index 8566be2e..32ad7d1f 100644 --- a/composeApp/src/iosMain/kotlin/band/effective/office/elevator/data/database/DriverFactory.kt +++ b/composeApp/src/iosMain/kotlin/band/effective/office/elevator/data/database/DriverFactory.kt @@ -6,6 +6,6 @@ import band.effective.office.elevator.Database actual class DriverFactory { actual fun createDriver(): SqlDriver { - return NativeSqliteDriver(Database.Schema, "test.db") + return NativeSqliteDriver(Database.Schema, "user.db") } } \ No newline at end of file -- GitLab From 28c2dc624eaca5e3f9035c4a4ccbddf22afe31bb Mon Sep 17 00:00:00 2001 From: Slava Date: Mon, 7 Aug 2023 14:39:45 +0600 Subject: [PATCH 2/4] SQL requests [+] refactoring SQL requests [~] created functions to get all users [~] model 'User' replaced with model 'ProfileData' --- .../office/elevator/data/database/DBSource.kt | 22 +++++---- .../elevator/data/database/DBSourceImpl.kt | 46 +++++++++++-------- .../office/elevator/scheme/Profile.sq | 17 ++++--- 3 files changed, 50 insertions(+), 35 deletions(-) diff --git a/composeApp/src/commonMain/kotlin/band/effective/office/elevator/data/database/DBSource.kt b/composeApp/src/commonMain/kotlin/band/effective/office/elevator/data/database/DBSource.kt index 0cdd9da6..6dedcb10 100644 --- a/composeApp/src/commonMain/kotlin/band/effective/office/elevator/data/database/DBSource.kt +++ b/composeApp/src/commonMain/kotlin/band/effective/office/elevator/data/database/DBSource.kt @@ -1,23 +1,25 @@ package band.effective.office.elevator.data.database -import band.effective.office.elevator.domain.models.User +import band.effective.office.elevator.scheme.ProfileData interface DBSource { - fun getIdToken(): String + fun getIdToken(idToken: String): String - fun getName(): String + fun getName(idToken: String): String - fun getPost(): String + fun getPost(idToken: String): String - fun getEmail(): String + fun getEmail(idToken: String): String - fun getPhoneNumber(): String + fun getPhoneNumber(idToken: String): String - fun getTelegramNick(): String + fun getTelegramNick(idToken: String): String - fun getImageUrl(): String? + fun getImageUrl(idToken: String): String? - fun getUser(): User + fun getUser(idToken: String): ProfileData + + fun getAll(): List fun updateToken(idToken: String) @@ -33,5 +35,5 @@ interface DBSource { fun updateImageUrl(imageUrl: String, idToken: String) - fun insertUser(user: User) + fun insertUser(profileData: ProfileData) } \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/band/effective/office/elevator/data/database/DBSourceImpl.kt b/composeApp/src/commonMain/kotlin/band/effective/office/elevator/data/database/DBSourceImpl.kt index bfa39c00..061c43b8 100644 --- a/composeApp/src/commonMain/kotlin/band/effective/office/elevator/data/database/DBSourceImpl.kt +++ b/composeApp/src/commonMain/kotlin/band/effective/office/elevator/data/database/DBSourceImpl.kt @@ -2,6 +2,7 @@ package band.effective.office.elevator.data.database import band.effective.office.elevator.Database import band.effective.office.elevator.domain.models.User +import band.effective.office.elevator.scheme.ProfileData class DBSourceImpl( val database: Database @@ -9,33 +10,42 @@ class DBSourceImpl( private val profileQueries = database.profileQueries - override fun getIdToken(): String = profileQueries.selectIdToken().executeAsOne() + override fun getIdToken(idToken: String): String = + profileQueries.selectIdToken(idToken = idToken).executeAsOne() - override fun getName(): String = profileQueries.selectName().executeAsOne() + override fun getName(idToken: String): String = + profileQueries.selectName(idToken = idToken).executeAsOne() - override fun getPost(): String = profileQueries.selectPost().executeAsOne() + override fun getPost(idToken: String): String = + profileQueries.selectPost(idToken = idToken).executeAsOne() - override fun getEmail(): String = profileQueries.selectEmail().executeAsOne() + override fun getEmail(idToken: String): String = + profileQueries.selectEmail(idToken = idToken).executeAsOne() - override fun getPhoneNumber(): String = profileQueries.selectPhoneNumber().executeAsOne() + override fun getPhoneNumber(idToken: String): String = + profileQueries.selectPhoneNumber(idToken = idToken).executeAsOne() - override fun getTelegramNick(): String = profileQueries.selectTelegramNick().executeAsOne() + override fun getTelegramNick(idToken: String): String = + profileQueries.selectTelegramNick(idToken = idToken).executeAsOne() - override fun getImageUrl(): String = profileQueries.selectImageUrl().executeAsOne() + override fun getImageUrl(idToken: String): String = + profileQueries.selectImageUrl(idToken = idToken).executeAsOne() - override fun getUser(): User = - with(profileQueries.selectAll().executeAsOne()) { - User( - id = idToken, + override fun getUser(idToken: String): ProfileData = + with(profileQueries.selectUser(idToken = idToken).executeAsOne()) { + ProfileData( + idToken = idToken, phoneNumber = phoneNumber, post = post, - userName = name, - telegram = telegramNick, + name = name, + telegramNick = telegramNick, email = email, imageUrl = imageUrl ) } + override fun getAll(): List = profileQueries.selectAll().executeAsList() + override fun updateToken(idToken: String) { profileQueries.updateToken(idToken = idToken, idToken_ = idToken) } @@ -64,15 +74,15 @@ class DBSourceImpl( profileQueries.updateImageUrl(imageUrl = imageUrl, idToken = idToken) } - override fun insertUser(user: User) { - with(user) { + override fun insertUser(profileData: ProfileData) { + with(profileData) { profileQueries.insert( - idToken = id, - name = userName, + idToken = idToken, + name = name, post = post, email = email, phoneNumber = phoneNumber, - telegramNick = telegram, + telegramNick = telegramNick, imageUrl = imageUrl ) } diff --git a/composeApp/src/commonMain/sqldelight/band/effective/office/elevator/scheme/Profile.sq b/composeApp/src/commonMain/sqldelight/band/effective/office/elevator/scheme/Profile.sq index f61fee06..aa819c79 100644 --- a/composeApp/src/commonMain/sqldelight/band/effective/office/elevator/scheme/Profile.sq +++ b/composeApp/src/commonMain/sqldelight/band/effective/office/elevator/scheme/Profile.sq @@ -13,26 +13,29 @@ CREATE INDEX idTokenIndex ON profileData(idToken); selectAll: SELECT * FROM profileData; +selectUser: +SELECT * FROM profileData WHERE idToken = ?; + selectIdToken: -SELECT idToken FROM profileData; +SELECT idToken FROM profileData WHERE idToken = ?; selectName: -SELECT name FROM profileData; +SELECT name FROM profileData WHERE idToken = ?; selectPost: -SELECT post FROM profileData; +SELECT post FROM profileData WHERE idToken = ?; selectEmail: -SELECT email FROM profileData; +SELECT email FROM profileData WHERE idToken = ?; selectPhoneNumber: -SELECT phoneNumber FROM profileData; +SELECT phoneNumber FROM profileData WHERE idToken = ?; selectTelegramNick: -SELECT telegramNick FROM profileData; +SELECT telegramNick FROM profileData WHERE idToken = ?; selectImageUrl: -SELECT imageUrl FROM profileData; +SELECT imageUrl FROM profileData WHERE idToken = ?; updateToken: UPDATE profileData SET idToken = ? WHERE idToken = ?; -- GitLab From c6f5819371b2b8f413b79fb13ca6026a74bc4bf1 Mon Sep 17 00:00:00 2001 From: Slava Date: Tue, 8 Aug 2023 17:35:51 +0600 Subject: [PATCH 3/4] Refactoring SQ [~] refactoring code --- .../office/elevator/data/database/DBSource.kt | 2 ++ .../office/elevator/data/database/DBSourceImpl.kt | 14 ++++++++++++++ .../effective/office/elevator/scheme/Profile.sq | 5 +++++ 3 files changed, 21 insertions(+) diff --git a/composeApp/src/commonMain/kotlin/band/effective/office/elevator/data/database/DBSource.kt b/composeApp/src/commonMain/kotlin/band/effective/office/elevator/data/database/DBSource.kt index 6dedcb10..6f480bc2 100644 --- a/composeApp/src/commonMain/kotlin/band/effective/office/elevator/data/database/DBSource.kt +++ b/composeApp/src/commonMain/kotlin/band/effective/office/elevator/data/database/DBSource.kt @@ -36,4 +36,6 @@ interface DBSource { fun updateImageUrl(imageUrl: String, idToken: String) fun insertUser(profileData: ProfileData) + + fun update(profileData: ProfileData) } \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/band/effective/office/elevator/data/database/DBSourceImpl.kt b/composeApp/src/commonMain/kotlin/band/effective/office/elevator/data/database/DBSourceImpl.kt index 061c43b8..81c7770e 100644 --- a/composeApp/src/commonMain/kotlin/band/effective/office/elevator/data/database/DBSourceImpl.kt +++ b/composeApp/src/commonMain/kotlin/band/effective/office/elevator/data/database/DBSourceImpl.kt @@ -87,4 +87,18 @@ class DBSourceImpl( ) } } + + override fun update(profileData: ProfileData) { + with(profileData) { + profileQueries.update( + idToken = idToken, + name = name, + post = post, + email = email, + phoneNumber = phoneNumber, + telegramNick = telegramNick, + imageUrl = imageUrl + ) + } + } } \ No newline at end of file diff --git a/composeApp/src/commonMain/sqldelight/band/effective/office/elevator/scheme/Profile.sq b/composeApp/src/commonMain/sqldelight/band/effective/office/elevator/scheme/Profile.sq index aa819c79..c1bf070c 100644 --- a/composeApp/src/commonMain/sqldelight/band/effective/office/elevator/scheme/Profile.sq +++ b/composeApp/src/commonMain/sqldelight/band/effective/office/elevator/scheme/Profile.sq @@ -58,6 +58,11 @@ UPDATE profileData SET telegramNick = ? WHERE idToken = ?; updateImageUrl: UPDATE profileData SET imageUrl = ? WHERE idToken = ?; +update: +INSERT OR REPLACE +INTO profileData(idToken, name, post, email, phoneNumber, telegramNick, imageUrl) +VALUES (?,?,?,?,?,?,?); + insert: INSERT INTO profileData(idToken, name, post, email, phoneNumber, telegramNick, imageUrl) VALUES (?, ?, ?, ?, ?, ?, ?); \ No newline at end of file -- GitLab From c2b18abd40276657cfde0abb02c271a5ff2db7e8 Mon Sep 17 00:00:00 2001 From: Slava Date: Thu, 10 Aug 2023 14:44:32 +0600 Subject: [PATCH 4/4] SQL [~] refactoring code --- .../office/elevator/data/database/DBSource.kt | 29 --------- .../elevator/data/database/DBSourceImpl.kt | 63 ------------------- .../office/elevator/scheme/Profile.sq | 50 +-------------- 3 files changed, 2 insertions(+), 140 deletions(-) diff --git a/composeApp/src/commonMain/kotlin/band/effective/office/elevator/data/database/DBSource.kt b/composeApp/src/commonMain/kotlin/band/effective/office/elevator/data/database/DBSource.kt index 6f480bc2..a4cf9518 100644 --- a/composeApp/src/commonMain/kotlin/band/effective/office/elevator/data/database/DBSource.kt +++ b/composeApp/src/commonMain/kotlin/band/effective/office/elevator/data/database/DBSource.kt @@ -3,39 +3,10 @@ package band.effective.office.elevator.data.database import band.effective.office.elevator.scheme.ProfileData interface DBSource { - fun getIdToken(idToken: String): String - - fun getName(idToken: String): String - - fun getPost(idToken: String): String - - fun getEmail(idToken: String): String - - fun getPhoneNumber(idToken: String): String - - fun getTelegramNick(idToken: String): String - - fun getImageUrl(idToken: String): String? fun getUser(idToken: String): ProfileData fun getAll(): List - fun updateToken(idToken: String) - - fun updateName(name: String, idToken: String) - - fun updatePost(post: String, idToken: String) - - fun updateEmail(email: String, idToken: String) - - fun updatePhoneNumber(phoneNumber: String, idToken: String) - - fun updateTelegramNick(telegramNick: String, idToken: String) - - fun updateImageUrl(imageUrl: String, idToken: String) - - fun insertUser(profileData: ProfileData) - fun update(profileData: ProfileData) } \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/band/effective/office/elevator/data/database/DBSourceImpl.kt b/composeApp/src/commonMain/kotlin/band/effective/office/elevator/data/database/DBSourceImpl.kt index 81c7770e..570fc4a3 100644 --- a/composeApp/src/commonMain/kotlin/band/effective/office/elevator/data/database/DBSourceImpl.kt +++ b/composeApp/src/commonMain/kotlin/band/effective/office/elevator/data/database/DBSourceImpl.kt @@ -10,27 +10,6 @@ class DBSourceImpl( private val profileQueries = database.profileQueries - override fun getIdToken(idToken: String): String = - profileQueries.selectIdToken(idToken = idToken).executeAsOne() - - override fun getName(idToken: String): String = - profileQueries.selectName(idToken = idToken).executeAsOne() - - override fun getPost(idToken: String): String = - profileQueries.selectPost(idToken = idToken).executeAsOne() - - override fun getEmail(idToken: String): String = - profileQueries.selectEmail(idToken = idToken).executeAsOne() - - override fun getPhoneNumber(idToken: String): String = - profileQueries.selectPhoneNumber(idToken = idToken).executeAsOne() - - override fun getTelegramNick(idToken: String): String = - profileQueries.selectTelegramNick(idToken = idToken).executeAsOne() - - override fun getImageUrl(idToken: String): String = - profileQueries.selectImageUrl(idToken = idToken).executeAsOne() - override fun getUser(idToken: String): ProfileData = with(profileQueries.selectUser(idToken = idToken).executeAsOne()) { ProfileData( @@ -46,48 +25,6 @@ class DBSourceImpl( override fun getAll(): List = profileQueries.selectAll().executeAsList() - override fun updateToken(idToken: String) { - profileQueries.updateToken(idToken = idToken, idToken_ = idToken) - } - - override fun updateName(name: String, idToken: String) { - profileQueries.updateName(name = name, idToken = idToken) - } - - override fun updatePost(post: String, idToken: String) { - profileQueries.updatePost(post = post, idToken = idToken) - } - - override fun updateEmail(email: String, idToken: String) { - profileQueries.updateEmail(email = email, idToken = idToken) - } - - override fun updatePhoneNumber(phoneNumber: String, idToken: String) { - profileQueries.updatePhoneNumber(phoneNumber = phoneNumber, idToken = idToken) - } - - override fun updateTelegramNick(telegramNick: String, idToken: String) { - profileQueries.updateTelegramNick(telegramNick = telegramNick, idToken = idToken) - } - - override fun updateImageUrl(imageUrl: String, idToken: String) { - profileQueries.updateImageUrl(imageUrl = imageUrl, idToken = idToken) - } - - override fun insertUser(profileData: ProfileData) { - with(profileData) { - profileQueries.insert( - idToken = idToken, - name = name, - post = post, - email = email, - phoneNumber = phoneNumber, - telegramNick = telegramNick, - imageUrl = imageUrl - ) - } - } - override fun update(profileData: ProfileData) { with(profileData) { profileQueries.update( diff --git a/composeApp/src/commonMain/sqldelight/band/effective/office/elevator/scheme/Profile.sq b/composeApp/src/commonMain/sqldelight/band/effective/office/elevator/scheme/Profile.sq index c1bf070c..87b87328 100644 --- a/composeApp/src/commonMain/sqldelight/band/effective/office/elevator/scheme/Profile.sq +++ b/composeApp/src/commonMain/sqldelight/band/effective/office/elevator/scheme/Profile.sq @@ -1,5 +1,5 @@ CREATE TABLE profileData ( - idToken TEXT NOT NULL DEFAULT '', + idToken TEXT PRIMARY KEY, name TEXT NOT NULL DEFAULT '', post TEXT NOT NULL DEFAULT '', email TEXT NOT NULL DEFAULT '', @@ -16,53 +16,7 @@ SELECT * FROM profileData; selectUser: SELECT * FROM profileData WHERE idToken = ?; -selectIdToken: -SELECT idToken FROM profileData WHERE idToken = ?; - -selectName: -SELECT name FROM profileData WHERE idToken = ?; - -selectPost: -SELECT post FROM profileData WHERE idToken = ?; - -selectEmail: -SELECT email FROM profileData WHERE idToken = ?; - -selectPhoneNumber: -SELECT phoneNumber FROM profileData WHERE idToken = ?; - -selectTelegramNick: -SELECT telegramNick FROM profileData WHERE idToken = ?; - -selectImageUrl: -SELECT imageUrl FROM profileData WHERE idToken = ?; - -updateToken: -UPDATE profileData SET idToken = ? WHERE idToken = ?; - -updateName: -UPDATE profileData SET name = ? WHERE idToken = ?; - -updatePost: -UPDATE profileData SET post = ? WHERE idToken = ?; - -updateEmail: -UPDATE profileData SET email = ? WHERE idToken = ?; - -updatePhoneNumber: -UPDATE profileData SET phoneNumber = ? WHERE idToken = ?; - -updateTelegramNick: -UPDATE profileData SET telegramNick = ? WHERE idToken = ?; - -updateImageUrl: -UPDATE profileData SET imageUrl = ? WHERE idToken = ?; - update: INSERT OR REPLACE INTO profileData(idToken, name, post, email, phoneNumber, telegramNick, imageUrl) -VALUES (?,?,?,?,?,?,?); - -insert: -INSERT INTO profileData(idToken, name, post, email, phoneNumber, telegramNick, imageUrl) -VALUES (?, ?, ?, ?, ?, ?, ?); \ No newline at end of file +VALUES (?,?,?,?,?,?,?); \ No newline at end of file -- GitLab