mirror of
https://github.com/msfjarvis/compose-lobsters
synced 2025-08-15 01:47:03 +05:30
refactor(database): split out JVM and Android parts
This commit is contained in:
parent
1b1984064c
commit
7b0b206905
31 changed files with 33 additions and 19 deletions
22
database/core/build.gradle.kts
Normal file
22
database/core/build.gradle.kts
Normal file
|
@ -0,0 +1,22 @@
|
|||
/*
|
||||
* Copyright © 2021-2023 Harsh Shandilya.
|
||||
* Use of this source code is governed by an MIT-style
|
||||
* license that can be found in the LICENSE file or at
|
||||
* https://opensource.org/licenses/MIT.
|
||||
*/
|
||||
import dev.msfjarvis.claw.gradle.addTestDependencies
|
||||
|
||||
plugins {
|
||||
id("dev.msfjarvis.claw.kotlin-jvm")
|
||||
alias(libs.plugins.sqldelight)
|
||||
}
|
||||
|
||||
sqldelight {
|
||||
databases {
|
||||
create("LobstersDatabase") {
|
||||
packageName.set("dev.msfjarvis.claw.database")
|
||||
schemaOutputDirectory.set(file("src/main/sqldelight/databases"))
|
||||
verifyMigrations.set(true)
|
||||
}
|
||||
}
|
||||
}
|
4
database/core/lint-baseline.xml
Normal file
4
database/core/lint-baseline.xml
Normal file
|
@ -0,0 +1,4 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<issues format="6" by="lint 8.3.0-alpha05" type="baseline" client="gradle" dependencies="true" name="AGP (8.3.0-alpha05)" variant="all" version="8.3.0-alpha05">
|
||||
|
||||
</issues>
|
BIN
database/core/src/main/sqldelight/databases/1.db
Normal file
BIN
database/core/src/main/sqldelight/databases/1.db
Normal file
Binary file not shown.
|
@ -0,0 +1,17 @@
|
|||
import kotlin.String;
|
||||
import kotlin.collections.List;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS PostComments(
|
||||
postId TEXT NOT NULL PRIMARY KEY,
|
||||
commentIds TEXT AS List<String> NOT NULL
|
||||
);
|
||||
|
||||
rememberComments:
|
||||
INSERT OR REPLACE
|
||||
INTO PostComments
|
||||
VALUES ?;
|
||||
|
||||
getCommentIds:
|
||||
SELECT *
|
||||
FROM PostComments
|
||||
WHERE postId = ?;
|
|
@ -0,0 +1,17 @@
|
|||
CREATE TABLE ReadPosts(
|
||||
id TEXT NOT NULL PRIMARY KEY
|
||||
);
|
||||
|
||||
markRead:
|
||||
INSERT OR REPLACE
|
||||
INTO ReadPosts(id)
|
||||
VALUES (?);
|
||||
|
||||
markUnread:
|
||||
DELETE FROM ReadPosts
|
||||
WHERE id = ?;
|
||||
|
||||
isRead:
|
||||
SELECT *
|
||||
FROM ReadPosts
|
||||
WHERE id = ?;
|
|
@ -0,0 +1,43 @@
|
|||
import kotlin.Int;
|
||||
import kotlin.String;
|
||||
import kotlin.collections.List;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS SavedPost(
|
||||
shortId TEXT NOT NULL PRIMARY KEY,
|
||||
title TEXT NOT NULL,
|
||||
url TEXT NOT NULL,
|
||||
createdAt TEXT NOT NULL,
|
||||
commentCount INTEGER AS Int,
|
||||
commentsUrl TEXT NOT NULL,
|
||||
submitterName TEXT NOT NULL,
|
||||
submitterAvatarUrl TEXT NOT NULL,
|
||||
tags TEXT AS List<String> NOT NULL,
|
||||
description TEXT NOT NULL DEFAULT ""
|
||||
);
|
||||
|
||||
insertOrReplacePost:
|
||||
INSERT OR REPLACE
|
||||
INTO SavedPost
|
||||
VALUES ?;
|
||||
|
||||
selectAllPosts:
|
||||
SELECT *
|
||||
FROM SavedPost;
|
||||
|
||||
selectCount:
|
||||
SELECT COUNT(*)
|
||||
FROM SavedPost;
|
||||
|
||||
deleteAllPosts:
|
||||
DELETE
|
||||
FROM SavedPost;
|
||||
|
||||
deletePost:
|
||||
DELETE
|
||||
FROM SavedPost
|
||||
WHERE shortId = ?;
|
||||
|
||||
selectPost:
|
||||
SELECT *
|
||||
FROM SavedPost
|
||||
WHERE shortId = ?;
|
3
database/core/src/main/sqldelight/migrations/1.sqm
Normal file
3
database/core/src/main/sqldelight/migrations/1.sqm
Normal file
|
@ -0,0 +1,3 @@
|
|||
import kotlin.Int;
|
||||
|
||||
ALTER TABLE SavedPost ADD COLUMN commentCount INTEGER AS Int;
|
23
database/core/src/main/sqldelight/migrations/2.sqm
Normal file
23
database/core/src/main/sqldelight/migrations/2.sqm
Normal file
|
@ -0,0 +1,23 @@
|
|||
import kotlin.Int;
|
||||
import kotlin.String;
|
||||
import kotlin.collections.List;
|
||||
|
||||
ALTER TABLE SavedPost RENAME TO SavedPost_Old;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS SavedPost(
|
||||
shortId TEXT NOT NULL PRIMARY KEY,
|
||||
title TEXT NOT NULL,
|
||||
url TEXT NOT NULL,
|
||||
createdAt TEXT NOT NULL,
|
||||
commentCount INTEGER AS Int,
|
||||
commentsUrl TEXT NOT NULL,
|
||||
submitterName TEXT NOT NULL,
|
||||
submitterAvatarUrl TEXT NOT NULL,
|
||||
tags TEXT AS List<String> NOT NULL
|
||||
);
|
||||
|
||||
INSERT INTO SavedPost(shortId, title, url, createdAt, commentCount, commentsUrl, submitterName, submitterAvatarUrl, tags)
|
||||
SELECT shortId, title, url, createdAt, commentCount, commentsUrl, submitterName, submitterAvatarUrl, tags
|
||||
FROM SavedPost_Old;
|
||||
|
||||
DROP TABLE SavedPost_Old;
|
2
database/core/src/main/sqldelight/migrations/3.sqm
Normal file
2
database/core/src/main/sqldelight/migrations/3.sqm
Normal file
|
@ -0,0 +1,2 @@
|
|||
ALTER TABLE SavedPost
|
||||
ADD COLUMN description TEXT NOT NULL DEFAULT "";
|
7
database/core/src/main/sqldelight/migrations/4.sqm
Normal file
7
database/core/src/main/sqldelight/migrations/4.sqm
Normal file
|
@ -0,0 +1,7 @@
|
|||
import kotlin.String;
|
||||
import kotlin.collections.List;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS PostComments(
|
||||
postId TEXT NOT NULL PRIMARY KEY,
|
||||
commentIds TEXT AS List<String> NOT NULL
|
||||
);
|
3
database/core/src/main/sqldelight/migrations/5.sqm
Normal file
3
database/core/src/main/sqldelight/migrations/5.sqm
Normal file
|
@ -0,0 +1,3 @@
|
|||
CREATE TABLE ReadPosts(
|
||||
id TEXT NOT NULL PRIMARY KEY
|
||||
);
|
Loading…
Add table
Add a link
Reference in a new issue