41 lines
1.3 KiB
TypeScript
Raw Normal View History

2019-08-14 19:00:22 +03:00
import {log} from "../node_modules/assemblyscript-sdk/assembly/logger";
2019-08-15 12:50:41 +03:00
import {query} from "../node_modules/db-connector/assembly/sqlite"
2019-08-14 19:00:22 +03:00
function doRequest(request: string): string {
log("[doRequest] Request: " + request);
let result = query(request);
log("[doRequest] Result: ");
log("[doRequest] " + result);
return result;
}
export function initTables(): void {
2019-08-15 19:10:13 +03:00
let request = "CREATE TABLE messages(msg text, username text)";
2019-08-14 19:00:22 +03:00
let resp = doRequest(request);
}
2019-08-15 19:10:13 +03:00
export function addMessage(msg: string, username: string): void {
let request = "INSERT INTO messages VALUES(\"" + msg + "\", \"" + username + "\")";
2019-08-14 19:00:22 +03:00
doRequest(request);
}
2019-08-15 19:10:13 +03:00
export function getMessages(username: string | null): string {
if (username) {
let request = "SELECT json_group_array(json_object('msg', msg, 'username', username)) AS json_result FROM (SELECT * FROM messages WHERE username = '" + username + "')";
2019-08-15 12:50:41 +03:00
return doRequest(request);
} else {
2019-08-15 19:10:13 +03:00
let request = "SELECT json_group_array(json_object('msg', msg, 'username', username)) AS json_result FROM (SELECT * FROM messages)";
2019-08-15 12:50:41 +03:00
return doRequest(request);
}
}
export function getPostsCount(): u32 {
let request = "SELECT COUNT(*) from messages";
2019-08-14 19:00:22 +03:00
let result = doRequest(request);
2019-08-15 12:50:41 +03:00
return U32.parseInt(result);
2019-08-14 19:00:22 +03:00
}