@@ -3,8 +3,7 @@ id INTEGER PRIMARY KEY NOT NULL,
33link TEXT NOT NULL,
44name TEXT NOT NULL DEFAULT '',
55createdAt TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP,
6- openedCount INTEGER NOT NULL DEFAULT 0,
7- lastOpenedAt TEXT
6+ openedCount INTEGER NOT NULL DEFAULT 0
87);
98
109CREATE TABLE Tags (
@@ -20,6 +19,13 @@ FOREIGN KEY (linkId) REFERENCES Deepr(id) ON DELETE CASCADE,
2019FOREIGN KEY (tagId) REFERENCES Tags(id) ON DELETE CASCADE
2120);
2221
22+ CREATE TABLE DeeprOpenLog (
23+ id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
24+ deeplinkId INTEGER NOT NULL,
25+ openedAt TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP,
26+ FOREIGN KEY (deeplinkId) REFERENCES Deepr(id) ON DELETE CASCADE
27+ );
28+
2329lastInsertRowId:
2430SELECT last_insert_rowid();
2531
3339 Deepr.name,
3440 Deepr.createdAt,
3541 Deepr.openedCount,
36- Deepr.lastOpenedAt,
42+ (SELECT openedAt FROM DeeprOpenLog WHERE deeplinkId = Deepr.id ORDER BY openedAt DESC LIMIT 1) AS lastOpenedAt,
3743 GROUP_CONCAT(Tags.name, ', ') AS tagsNames,
3844 GROUP_CONCAT(Tags.id, ', ') AS tagsIds
3945FROM
7884 Deepr.name,
7985 Deepr.createdAt,
8086 Deepr.openedCount,
81- Deepr.lastOpenedAt,
87+ (SELECT openedAt FROM DeeprOpenLog WHERE deeplinkId = Deepr.id ORDER BY openedAt DESC LIMIT 1) AS lastOpenedAt,
8288 GROUP_CONCAT(Tags.name, ', ') AS tagsNames
8389FROM
8490 Deepr
@@ -93,7 +99,7 @@ deleteDeeprById:
9399DELETE FROM Deepr WHERE id = ?;
94100
95101incrementOpenedCount:
96- UPDATE Deepr SET openedCount = openedCount + 1, lastOpenedAt = CURRENT_TIMESTAMP WHERE id = ?;
102+ UPDATE Deepr SET openedCount = openedCount + 1 WHERE id = ?;
97103
98104updateDeeplink:
99105UPDATE Deepr SET link = ? , name = ? WHERE id = ?;
@@ -144,3 +150,11 @@ SELECT Tags.id,Tags.name FROM Tags INNER JOIN LinkTags ON Tags.id = LinkTags.tag
144150
145151hasTagLinks:
146152SELECT COUNT(*) FROM LinkTags WHERE tagId = ?;
153+
154+ -- Deeplink Open Log operations
155+ insertDeeprOpenLog:
156+ INSERT INTO DeeprOpenLog (deeplinkId) VALUES (?);
157+
158+ getLastOpenedTime:
159+ SELECT openedAt FROM DeeprOpenLog WHERE deeplinkId = ? ORDER BY openedAt DESC LIMIT 1;
160+
0 commit comments