refactoring

This commit is contained in:
folex
2019-08-16 12:27:30 +03:00
parent 50747bbcd3
commit b85eea0963
8 changed files with 94 additions and 60 deletions

View File

@ -1,40 +0,0 @@
import {log} from "../node_modules/assemblyscript-sdk/assembly/logger";
import {query} from "../node_modules/db-connector/assembly/sqlite"
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 {
let request = "CREATE TABLE messages(msg text, username text)";
let resp = doRequest(request);
}
export function addMessage(msg: string, username: string): void {
let request = "INSERT INTO messages VALUES(\"" + msg + "\", \"" + username + "\")";
doRequest(request);
}
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 + "')";
return doRequest(request);
} else {
let request = "SELECT json_group_array(json_object('msg', msg, 'username', username)) AS json_result FROM (SELECT * FROM messages)";
return doRequest(request);
}
}
export function getPostsCount(): u32 {
let request = "SELECT COUNT(*) from messages";
let result = doRequest(request);
return U32.parseInt(result);
}

View File

@ -1,8 +1,8 @@
import {Action, decode, FetchRequest, PostRequest} from "./request";
import {PostResponse, Message, FetchResponse, UnknownResponse} from "./response";
import {addMessage, getMessages, getPostsCount, initTables} from "./database";
import {PostResponse, UnknownResponse} from "./response";
import {addMessage, createScheme, getMessages, getPostsCount} from "./model";
initTables();
createScheme();
// main handler for an application
export function handler(input: string): string {

View File

@ -0,0 +1,35 @@
import {query} from "../node_modules/db-connector/assembly/sqlite"
export function createScheme(): void {
let request = `CREATE TABLE messages(msg text, username text)`;
query(request);
}
export function addMessage(msg: string, username: string): void {
let request = `INSERT INTO messages VALUES("` + msg + `", "` + username + `")`;
query(request);
}
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 + `")`;
return query(request);
} else {
let request =
`SELECT json_group_array(
json_object('msg', msg, 'username', username)
) AS json_result FROM (SELECT * FROM messages)`;
return query(request);
}
}
export function getPostsCount(): u32 {
let request = `SELECT COUNT(*) from messages`;
let result = query(request);
return U32.parseInt(result);
}