2019-08-18 18:54:35 +03:00

37 lines
1.3 KiB
TypeScript

import {query} from "../node_modules/db-connector/assembly/sqlite"
export function createScheme(): void {
let request = `CREATE TABLE messages(message text, username text)`;
query(request);
}
export function addMessage(message: string, username: string): void {
let request = `INSERT INTO messages VALUES("` + message + `", "` + username + `")`;
query(request);
}
export function getMessages(username: string | null, offset: i64, count: i64): string {
let limitClause = ` LIMIT ` + count.toString() + ` OFFSET ` + offset.toString() + ` `;
if (username) {
let whereClause = ` WHERE username = "` + username + `" `;
let request =
`SELECT json_group_array(
json_object('message', message, 'username', username)
) AS json_result FROM
(SELECT * FROM messages` + whereClause + limitClause + `)`;
return query(request);
} else {
let request =
`SELECT json_group_array(
json_object('message', message, 'username', username)
) AS json_result FROM (SELECT * FROM messages` + limitClause + `)`;
return query(request);
}
}
export function getPostsCount(): u32 {
let request = `SELECT COUNT(*) from messages`;
let result = query(request);
return U32.parseInt(result);
}