mirror of
https://github.com/fluencelabs/fluid
synced 2025-04-25 14:52:19 +00:00
fixes, updates
This commit is contained in:
parent
e4a1cf40d2
commit
97de277e07
@ -34,17 +34,17 @@ export class UnknownResponse extends Response {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export class PostResponse extends Response {
|
export class PostResponse extends Response {
|
||||||
numberOfTwits: i32;
|
msgCount: i32;
|
||||||
constructor(numberOfTwits: i32) {
|
constructor(msgCount: i32) {
|
||||||
super();
|
super();
|
||||||
this.numberOfTwits = numberOfTwits;
|
this.msgCount = msgCount;
|
||||||
}
|
}
|
||||||
|
|
||||||
serialize(): string {
|
serialize(): string {
|
||||||
let encoder = new JSONEncoder();
|
let encoder = new JSONEncoder();
|
||||||
encoder.pushObject(null);
|
encoder.pushObject(null);
|
||||||
encoder.setString("action", "Post");
|
encoder.setString("action", "Post");
|
||||||
encoder.setInteger("number_of_twits", this.numberOfTwits);
|
encoder.setInteger("count", this.msgCount);
|
||||||
encoder.popObject();
|
encoder.popObject();
|
||||||
|
|
||||||
return encoder.toString();
|
return encoder.toString();
|
||||||
@ -52,20 +52,20 @@ export class PostResponse extends Response {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export class FetchResponse extends Response {
|
export class FetchResponse extends Response {
|
||||||
messageList: Array<string>;
|
posts: Array<string>;
|
||||||
|
|
||||||
constructor(messageList: Array<string>) {
|
constructor(posts: Array<string>) {
|
||||||
super();
|
super();
|
||||||
this.messageList = messageList;
|
this.posts = posts;
|
||||||
}
|
}
|
||||||
|
|
||||||
serialize(): string {
|
serialize(): string {
|
||||||
let encoder = new JSONEncoder();
|
let encoder = new JSONEncoder();
|
||||||
encoder.pushObject(null);
|
encoder.pushObject(null);
|
||||||
encoder.setString("action", "Fetch");
|
encoder.setString("action", "Fetch");
|
||||||
encoder.pushArray("msg_list");
|
encoder.pushArray("posts");
|
||||||
for (let i = 0; i < this.messageList.length; i++) {
|
for (let i = 0; i < this.posts.length; i++) {
|
||||||
let message = this.messageList[i];
|
let message = this.posts[i];
|
||||||
encoder.pushObject(null);
|
encoder.pushObject(null);
|
||||||
encoder.setString("msg", message);
|
encoder.setString("msg", message);
|
||||||
encoder.popObject();
|
encoder.popObject();
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
import {Action, decode, FetchRequest, PostRequest} from "./request";
|
import {Action, decode, FetchRequest, PostRequest} from "./request";
|
||||||
import {PostResponse, Message, FetchResponse, UnknownResponse} from "./response";
|
import {PostResponse, Message, FetchResponse, UnknownResponse} from "./response";
|
||||||
|
|
||||||
let messageList: Array<Message> = new Array<Message>();
|
let posts: Array<Message> = new Array<Message>();
|
||||||
|
|
||||||
// main handler for an application
|
// main handler for an application
|
||||||
export function handler(input: string): string {
|
export function handler(input: string): string {
|
||||||
@ -10,19 +10,19 @@ export function handler(input: string): string {
|
|||||||
|
|
||||||
if (request.action == Action.Post) {
|
if (request.action == Action.Post) {
|
||||||
let post = request as PostRequest;
|
let post = request as PostRequest;
|
||||||
messageList.push(new Message(post.msg, post.handle));
|
posts.push(new Message(post.msg, post.handle));
|
||||||
let response = new PostResponse(messageList.length);
|
let response = new PostResponse(posts.length);
|
||||||
return response.serialize()
|
return response.serialize()
|
||||||
} else if (request.action == Action.Fetch) {
|
} else if (request.action == Action.Fetch) {
|
||||||
let fetch = request as FetchRequest;
|
let fetch = request as FetchRequest;
|
||||||
var messages: Array<Message>;
|
var messages: Array<Message>;
|
||||||
if (fetch.filter_handle == null) {
|
if (fetch.filter_handle == null) {
|
||||||
messages = messageList
|
messages = posts
|
||||||
} else {
|
} else {
|
||||||
let filter_handle = fetch.filter_handle as string;
|
let filter_handle = fetch.filter_handle as string;
|
||||||
let filtered = new Array<Message>();
|
let filtered = new Array<Message>();
|
||||||
for (let i = 0; i < messageList.length; i++) {
|
for (let i = 0; i < posts.length; i++) {
|
||||||
let message = messageList[i];
|
let message = posts[i];
|
||||||
if (message.handle == filter_handle) {
|
if (message.handle == filter_handle) {
|
||||||
filtered.push(message)
|
filtered.push(message)
|
||||||
}
|
}
|
||||||
|
@ -34,17 +34,17 @@ export class UnknownResponse extends Response {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export class PostResponse extends Response {
|
export class PostResponse extends Response {
|
||||||
numberOfTwits: i32;
|
msgCount: i32;
|
||||||
constructor(numberOfTwits: i32) {
|
constructor(msgCount: i32) {
|
||||||
super();
|
super();
|
||||||
this.numberOfTwits = numberOfTwits;
|
this.msgCount = msgCount;
|
||||||
}
|
}
|
||||||
|
|
||||||
serialize(): string {
|
serialize(): string {
|
||||||
let encoder = new JSONEncoder();
|
let encoder = new JSONEncoder();
|
||||||
encoder.pushObject(null);
|
encoder.pushObject(null);
|
||||||
encoder.setString("action", "Post");
|
encoder.setString("action", "Post");
|
||||||
encoder.setInteger("number_of_twits", this.numberOfTwits);
|
encoder.setInteger("count", this.msgCount);
|
||||||
encoder.popObject();
|
encoder.popObject();
|
||||||
|
|
||||||
return encoder.toString();
|
return encoder.toString();
|
||||||
@ -52,20 +52,20 @@ export class PostResponse extends Response {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export class FetchResponse extends Response {
|
export class FetchResponse extends Response {
|
||||||
messageList: Array<Message>;
|
posts: Array<Message>;
|
||||||
|
|
||||||
constructor(messageList: Array<Message>) {
|
constructor(posts: Array<Message>) {
|
||||||
super();
|
super();
|
||||||
this.messageList = messageList;
|
this.posts = posts;
|
||||||
}
|
}
|
||||||
|
|
||||||
serialize(): string {
|
serialize(): string {
|
||||||
let encoder = new JSONEncoder();
|
let encoder = new JSONEncoder();
|
||||||
encoder.pushObject(null);
|
encoder.pushObject(null);
|
||||||
encoder.setString("action", "Fetch");
|
encoder.setString("action", "Fetch");
|
||||||
encoder.pushArray("message_list");
|
encoder.pushArray("posts");
|
||||||
for (let i = 0; i < this.messageList.length; i++) {
|
for (let i = 0; i < this.posts.length; i++) {
|
||||||
let twit = this.messageList[i];
|
let twit = this.posts[i];
|
||||||
encoder.pushObject(null);
|
encoder.pushObject(null);
|
||||||
encoder.setString("msg", twit.msg);
|
encoder.setString("msg", twit.msg);
|
||||||
encoder.setString("handle", twit.handle);
|
encoder.setString("handle", twit.handle);
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import {log} from "../node_modules/assemblyscript-sdk/assembly/logger";
|
import {log} from "../node_modules/assemblyscript-sdk/assembly/logger";
|
||||||
import {query} from "../node_modules/db-connector/assembly/index"
|
import {query} from "../node_modules/db-connector/assembly/sqlite"
|
||||||
|
|
||||||
function doRequest(request: string): string {
|
function doRequest(request: string): string {
|
||||||
|
|
||||||
@ -23,8 +23,18 @@ export function addMessage(msg: string, handle: string): void {
|
|||||||
doRequest(request);
|
doRequest(request);
|
||||||
}
|
}
|
||||||
|
|
||||||
export function getMessages(): string {
|
export function getMessages(handle: string | null): string {
|
||||||
let request = "SELECT * FROM messages";
|
if (handle) {
|
||||||
let result = doRequest(request);
|
let request = 'SELECT json_group_array(json_object("msg", msg, "handle", handle)) AS json_result FROM (SELECT * FROM messages WHERE handle = "' + handle + '")';
|
||||||
return result;
|
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";
|
||||||
|
let result = doRequest(request);
|
||||||
|
return U32.parseInt(result);
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
import {Action, decode, FetchRequest, PostRequest} from "./request";
|
import {Action, decode, FetchRequest, PostRequest} from "./request";
|
||||||
import {PostResponse, Message, FetchResponse, UnknownResponse} from "./response";
|
import {PostResponse, Message, FetchResponse, UnknownResponse} from "./response";
|
||||||
import {addMessage, getMessages, initTables} from "./database";
|
import {addMessage, getMessages, getPostsCount, initTables} from "./database";
|
||||||
|
|
||||||
initTables();
|
initTables();
|
||||||
|
|
||||||
@ -12,29 +12,15 @@ export function handler(input: string): string {
|
|||||||
if (request.action == Action.Post) {
|
if (request.action == Action.Post) {
|
||||||
let post = request as PostRequest;
|
let post = request as PostRequest;
|
||||||
addMessage(post.msg, post.handle);
|
addMessage(post.msg, post.handle);
|
||||||
let response = new PostResponse(0);
|
let count = getPostsCount();
|
||||||
|
|
||||||
|
let response = new PostResponse(count);
|
||||||
return response.serialize()
|
return response.serialize()
|
||||||
} else if (request.action == Action.Fetch) {
|
} else if (request.action == Action.Fetch) {
|
||||||
let fetch = request as FetchRequest;
|
let fetch = request as FetchRequest;
|
||||||
|
|
||||||
let result = getMessages();
|
let result = getMessages(fetch.handle);
|
||||||
return result;
|
return result;
|
||||||
|
|
||||||
/*if (fetch.filter_handle == null) {
|
|
||||||
messages = messageList
|
|
||||||
} else {
|
|
||||||
let filter_handle = fetch.filter_handle as string;
|
|
||||||
let filtered = new Array<Message>();
|
|
||||||
for (let i = 0; i < messageList.length; i++) {
|
|
||||||
let message = messageList[i];
|
|
||||||
if (message.handle == filter_handle) {
|
|
||||||
filtered.push(message)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
messages = filtered;
|
|
||||||
}
|
|
||||||
let response = new FetchResponse(messages);
|
|
||||||
return response.serialize()*/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
let response = new UnknownResponse();
|
let response = new UnknownResponse();
|
||||||
|
@ -25,12 +25,12 @@ export class PostRequest extends Request {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export class FetchRequest extends Request {
|
export class FetchRequest extends Request {
|
||||||
public readonly filter_handle: string | null;
|
public readonly handle: string | null;
|
||||||
|
|
||||||
constructor(filter_handle: string | null) {
|
constructor(handle: string | null) {
|
||||||
super();
|
super();
|
||||||
this.action = Action.Fetch;
|
this.action = Action.Fetch;
|
||||||
this.filter_handle = filter_handle;
|
this.handle = handle;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -83,7 +83,6 @@ class RequestJSONEventsHandler extends JSONHandler {
|
|||||||
this.msg = value;
|
this.msg = value;
|
||||||
} else if (name == "handle") {
|
} else if (name == "handle") {
|
||||||
this.handle = value;
|
this.handle = value;
|
||||||
} else if (name == "filter_handle") {
|
|
||||||
this.filter_handle = value;
|
this.filter_handle = value;
|
||||||
}
|
}
|
||||||
// json scheme is not strict, so we won't throw an error on excess fields
|
// json scheme is not strict, so we won't throw an error on excess fields
|
||||||
|
@ -34,17 +34,17 @@ export class UnknownResponse extends Response {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export class PostResponse extends Response {
|
export class PostResponse extends Response {
|
||||||
numberOfTwits: i32;
|
msgCount: u32;
|
||||||
constructor(numberOfTwits: i32) {
|
constructor(msgCount: u32) {
|
||||||
super();
|
super();
|
||||||
this.numberOfTwits = numberOfTwits;
|
this.msgCount = msgCount;
|
||||||
}
|
}
|
||||||
|
|
||||||
serialize(): string {
|
serialize(): string {
|
||||||
let encoder = new JSONEncoder();
|
let encoder = new JSONEncoder();
|
||||||
encoder.pushObject(null);
|
encoder.pushObject(null);
|
||||||
encoder.setString("action", "Post");
|
encoder.setString("action", "Post");
|
||||||
encoder.setInteger("number_of_twits", this.numberOfTwits);
|
encoder.setInteger("count", this.msgCount);
|
||||||
encoder.popObject();
|
encoder.popObject();
|
||||||
|
|
||||||
return encoder.toString();
|
return encoder.toString();
|
||||||
@ -52,20 +52,20 @@ export class PostResponse extends Response {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export class FetchResponse extends Response {
|
export class FetchResponse extends Response {
|
||||||
messageList: Array<Message>;
|
posts: Array<Message>;
|
||||||
|
|
||||||
constructor(messageList: Array<Message>) {
|
constructor(posts: Array<Message>) {
|
||||||
super();
|
super();
|
||||||
this.messageList = messageList;
|
this.posts = posts;
|
||||||
}
|
}
|
||||||
|
|
||||||
serialize(): string {
|
serialize(): string {
|
||||||
let encoder = new JSONEncoder();
|
let encoder = new JSONEncoder();
|
||||||
encoder.pushObject(null);
|
encoder.pushObject(null);
|
||||||
encoder.setString("action", "Fetch");
|
encoder.setString("action", "Fetch");
|
||||||
encoder.pushArray("message_list");
|
encoder.pushArray("posts");
|
||||||
for (let i = 0; i < this.messageList.length; i++) {
|
for (let i = 0; i < this.posts.length; i++) {
|
||||||
let twit = this.messageList[i];
|
let twit = this.posts[i];
|
||||||
encoder.pushObject(null);
|
encoder.pushObject(null);
|
||||||
encoder.setString("msg", twit.msg);
|
encoder.setString("msg", twit.msg);
|
||||||
encoder.setString("handle", twit.handle);
|
encoder.setString("handle", twit.handle);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user