From 57ca9d73800c5562ac0235da2c375f76c1baddd1 Mon Sep 17 00:00:00 2001 From: Rohan Sircar Date: Thu, 12 Dec 2019 14:53:54 +0530 Subject: [PATCH] initial commit of message loading with paging --- .../ts/src/model/ChatModelHelper.ts | 10 ++++++- .../javascript/ts/src/singleton/JsonAPI.ts | 28 ++++++++++++++++++- 2 files changed, 36 insertions(+), 2 deletions(-) diff --git a/chatto/src/main/javascript/ts/src/model/ChatModelHelper.ts b/chatto/src/main/javascript/ts/src/model/ChatModelHelper.ts index e456604..9ec0482 100644 --- a/chatto/src/main/javascript/ts/src/model/ChatModelHelper.ts +++ b/chatto/src/main/javascript/ts/src/model/ChatModelHelper.ts @@ -11,6 +11,7 @@ import { fetchErrorHandler } from "./FetchErrorHandler"; import { EncryptionService } from "../service/EncryptionService"; import { SJCLEncryptionService } from "../service/SJCLEncryptionService"; import { ChatModel } from "./ChatModel" +import { Sprintf } from "../singleton/Sprintf"; export class ChatModelHelper { private static readonly _encryptionService: EncryptionService = new SJCLEncryptionService(); @@ -46,7 +47,14 @@ export class ChatModelHelper { return; }; headers.append('X-AUTH-TOKEN', JsonAPI.authToken); - const response = await fetch(`${JsonAPI.CHAT_MESSAGES_GET}/${toUser}`, { + // const url = Sprintf(JsonAPI.CHAT_MESSAGES_GET, toUser); + const url = Sprintf(JsonAPI.CHAT_MESSAGE_PAGE_GET, toUser,1,5); + log.debug(url) + // const response = await fetch(`${JsonAPI.CHAT_MESSAGES_GET}/${toUser}`, { + // method: 'GET', + // headers: headers + // }); + const response = await fetch(url, { method: 'GET', headers: headers }); diff --git a/chatto/src/main/javascript/ts/src/singleton/JsonAPI.ts b/chatto/src/main/javascript/ts/src/singleton/JsonAPI.ts index 4884f47..488f5c7 100644 --- a/chatto/src/main/javascript/ts/src/singleton/JsonAPI.ts +++ b/chatto/src/main/javascript/ts/src/singleton/JsonAPI.ts @@ -4,7 +4,33 @@ export namespace JsonAPI { export let contactName: string | null; export let authToken: string | null = localStorage.getItem('authToken'); export const ACTIVE_USERS_GET = `/api/chat/get/active-users`; - export const CHAT_MESSAGES_GET = `/api/chat/get/messages`; + /** + * Json API URL for retrieving all messages between two users + * + * @format /api/chat/get/messages/some-user + * + * ### With sprintf + * const url = Sprintf(JsonAPI.CHAT_MESSAGES_GET, toUser); + * + * @param toUser + * The user whose messages wish to retrieve. The 'from user' part of the message is given by the current user logged in. + * /api/chat/get/messages/{toUser} + * + */ + export const CHAT_MESSAGES_GET = `/api/chat/get/messages/%s`; export const MESSAGE_POST = '/api/chat/post/message'; + /** + * Json API URL for retrieving paginated messages between two users + * + * @format /api/chat/get/messages/some-user?page=1&size=5 will give the first page with size 5 + * + * ### With sprintf + * const url = Sprintf(JsonAPI.CHAT_MESSAGES_GET, toUser); + * + * @param toUser The user whose messages wish to retrieve. The 'from user' part of the message is given by the current user logged in. + * @param page Denotes the page required + * @param denotes the size of each page + */ + export const CHAT_MESSAGE_PAGE_GET = `/api/chat/get/messages/%s?page=%d&size=%d`; } \ No newline at end of file