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 {
let request = "CREATE TABLE messages(msg text, handle text)" ;
let resp = doRequest ( request ) ;
}
export function addMessage ( msg : string , handle : string ) : void {
let request = "INSERT INTO messages VALUES(\"" + msg + "\", \"" + handle + "\")" ;
doRequest ( request ) ;
}
2019-08-15 12:50:41 +03:00
export function getMessages ( handle : string | null ) : string {
if ( handle ) {
let request = 'SELECT json_group_array(json_object("msg", msg, "handle", handle)) AS json_result FROM (SELECT * FROM messages WHERE handle = "' + handle + '")' ;
return doRequest ( request ) ;
} else {
let request = "SELECT json_group_array(json_object('msg', msg, 'handle', handle)) AS json_result FROM (SELECT * FROM messages)" ;
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
}