Browse Source

Refactored model out of chat frntend submodule

master
Rohan Sircar 4 years ago
parent
commit
0d78d057bc
  1. 2
      src/main/frontend/chat/controller/AbstractController.ts
  2. 10
      src/main/frontend/chat/controller/ChatController.ts
  3. 10
      src/main/frontend/chat/controller/UserController.ts
  4. 6
      src/main/frontend/chat/main.ts
  5. 7
      src/main/frontend/chat/model/AbstractModel.ts
  6. 2
      src/main/frontend/chat/view/AbstractView.ts
  7. 4
      src/main/frontend/chat/view/ChatView.ts
  8. 4
      src/main/frontend/chat/view/ChatViewDeps.ts
  9. 4
      src/main/frontend/chat/view/UserView.ts
  10. 4
      src/main/frontend/chat/view/UserViewDeps.ts
  11. 7
      src/main/frontend/common/model/AbstractModel.ts
  12. 14
      src/main/frontend/common/model/ChatModel.ts
  13. 14
      src/main/frontend/common/model/ChatModelHelper.ts
  14. 4
      src/main/frontend/common/model/FetchErrorHandler.ts
  15. 0
      src/main/frontend/common/model/ModelFactory.ts
  16. 10
      src/main/frontend/common/model/UserModel.ts
  17. 2
      src/main/frontend/workers/encryption-worker/main.ts

2
src/main/frontend/chat/controller/AbstractController.ts

@ -1,4 +1,4 @@
import { Model } from "../model/AbstractModel";
import { Model } from "../../common/model/AbstractModel";
import { View } from "../view/AbstractView";
// simple restrictions that MVC impose: The Control has a reference to the View and Model + the View has a reference to the Model and the Controller.It also does not have any Observer implementation in the Model, so that the View can update based on it.

10
src/main/frontend/chat/controller/ChatController.ts

@ -1,12 +1,12 @@
import { Controller } from "./AbstractController";
import "../model/AbstractModel"
import "../model/UserModel"
import "../../common/model/AbstractModel"
import "../../common/model/UserModel"
import "../view/AbstractView"
import "../view/UserView"
import { Model } from "../model/AbstractModel";
import { Model } from "../../common/model/AbstractModel";
import { View } from "../view/AbstractView";
import { ChatMessageViewModel } from "../viewmodel/ChatMessageViewModel";
import { ChatModel } from "../model/ChatModel";
import { ChatModel } from "../../common/model/ChatModel";
import { ChatView } from "../view/ChatView";
export class ChatController {
@ -37,5 +37,5 @@ export class ChatController {
chatMessageViewModels.push(chatMessageViewModelMock);
}
}

10
src/main/frontend/chat/controller/UserController.ts

@ -1,13 +1,13 @@
import { Controller } from "./AbstractController";
import "../model/AbstractModel"
import "../model/UserModel"
import "../../common/model/AbstractModel"
import "../../common/model/UserModel"
import "../view/AbstractView"
import "../view/UserView"
import { Model } from "../model/AbstractModel";
import { Model } from "../../common/model/AbstractModel";
import { View } from "../view/AbstractView";
import { ActiveUserViewModel } from "../viewmodel/ActiveUserViewModel";
import { UserView } from "../view/UserView";
import { UserModel } from "../model/UserModel";
import { UserModel } from "../../common/model/UserModel";
export class UserController {
private _model: UserModel;
@ -46,5 +46,5 @@ export class UserController {
this._model.getActiveUsers();
}
}

6
src/main/frontend/chat/main.ts

@ -3,9 +3,9 @@ import * as Handlebars from "handlebars";
import * as log from "loglevel";
import { ChatController } from "./controller/ChatController";
import { UserController } from "./controller/UserController";
import { ChatModel } from "./model/ChatModel";
import { ChatModelHelper } from "./model/ChatModelHelper";
import { UserModel } from "./model/UserModel";
import { ChatModel } from "../common/model/ChatModel";
import { ChatModelHelper } from "../common/model/ChatModelHelper";
import { UserModel } from "../common/model/UserModel";
import { AlertifyNotificationService } from "./service/AlertifyNotificationService";
import { EncryptionServiceFactory } from "./service/EncryptionServiceFactory";
import { FuseSearchService } from "./service/FuseSearchService";

7
src/main/frontend/chat/model/AbstractModel.ts

@ -1,7 +0,0 @@
import { Subject } from "../observe/Observable";
import { ActiveUserViewModel } from "../viewmodel/ActiveUserViewModel";
export interface Model extends Subject<any> {
someBusinessMethod(data: Object): void;
}

2
src/main/frontend/chat/view/AbstractView.ts

@ -1,5 +1,5 @@
// simple restrictions that MVC impose: The Control has a reference to the View and Model + the View has a reference to the Model and the Controller.It also does not have any Observer implementation in the Model, so that the View can update based on it.
import { Model } from "../model/AbstractModel";
import { Model } from "../../common/model/AbstractModel";
import { Controller } from "../controller/AbstractController";
import { Observer } from "../observe/Observer";
export interface View extends Observer<any> {

4
src/main/frontend/chat/view/ChatView.ts

@ -2,7 +2,7 @@ import * as DOMPurify from "dompurify";
import * as log from "loglevel";
import { ChatMessageDTO } from "../dto/ChatMessageDTO";
import { MessageCipherDTO } from "../dto/MessageCipherDTO";
import { ChatModel } from "../model/ChatModel";
import { ChatModel } from "../../common/model/ChatModel";
import { Observer } from "../observe/Observer";
import { EncryptionService } from "../service/EncryptionService";
import { MarkDownService } from "../service/MarkDownService";
@ -12,7 +12,7 @@ import { ChatViewDeps } from "./ChatViewDeps";
import { fetchHandler } from "./FetchHandler";
import { ObserverData } from "../observe/ObserverData";
import { NotificationService } from "../service/NotificationService";
import { UserModel } from "../model/UserModel";
import { UserModel } from "../../common/model/UserModel";
export class ChatView implements Observer<ChatMessageViewModel> {
private readonly _chatModel: ChatModel;

4
src/main/frontend/chat/view/ChatViewDeps.ts

@ -1,9 +1,9 @@
import { ChatMessageViewModel } from "../viewmodel/ChatMessageViewModel";
import { ChatModel } from "../model/ChatModel";
import { ChatModel } from "../../common/model/ChatModel";
import { MarkDownService } from "../service/MarkDownService";
import { EncryptionService } from "../service/EncryptionService";
import { NotificationService } from "../service/NotificationService";
import { UserModel } from "../model/UserModel";
import { UserModel } from "../../common/model/UserModel";
export interface ChatViewDeps {
chatModel: ChatModel;

4
src/main/frontend/chat/view/UserView.ts

@ -1,10 +1,10 @@
import { Observer } from "../observe/Observer";
import { ActiveUserViewModel } from "../viewmodel/ActiveUserViewModel";
import { ChatModel } from "../model/ChatModel";
import { ChatModel } from "../../common/model/ChatModel";
import log = require("loglevel");
import * as DOMPurify from "dompurify";
import { SearchService } from "../service/SearchService";
import { UserModel } from "../model/UserModel";
import { UserModel } from "../../common/model/UserModel";
import { UserViewDeps } from "./UserViewDeps";
import { ObserverData } from "../observe/ObserverData";
import { JsonAPI } from "../singleton/JsonAPI";

4
src/main/frontend/chat/view/UserViewDeps.ts

@ -1,6 +1,6 @@
import { UserModel } from "../model/UserModel";
import { UserModel } from "../../common/model/UserModel";
import { ChatModel } from "../model/ChatModel";
import { ChatModel } from "../../common/model/ChatModel";
import { SearchService } from "../service/SearchService";

7
src/main/frontend/common/model/AbstractModel.ts

@ -0,0 +1,7 @@
import { Subject } from "../../chat/observe/Observable";
import { ActiveUserViewModel } from "../../chat/viewmodel/ActiveUserViewModel";
export interface Model extends Subject<any> {
someBusinessMethod(data: Object): void;
}

14
src/main/frontend/chat/model/ChatModel.ts → src/main/frontend/common/model/ChatModel.ts

@ -1,11 +1,11 @@
import { Subject } from "../observe/Observable";
import { Observer } from "../observe/Observer";
import { JsonAPI } from "../singleton/JsonAPI";
import { ChatMessageViewModel } from "../viewmodel/ChatMessageViewModel";
import { Subject } from "../../chat/observe/Observable";
import { Observer } from "../../chat/observe/Observer";
import { JsonAPI } from "../../chat/singleton/JsonAPI";
import { ChatMessageViewModel } from "../../chat/viewmodel/ChatMessageViewModel";
import { ChatModelHelper } from "./ChatModelHelper";
import log = require("loglevel");
import { ObserverData } from "../observe/ObserverData";
import { ActiveUserViewModel } from "../viewmodel/ActiveUserViewModel";
import { ObserverData } from "../../chat/observe/ObserverData";
import { ActiveUserViewModel } from "../../chat/viewmodel/ActiveUserViewModel";
import moment = require("moment");
interface Params {
@ -141,7 +141,7 @@ export class ChatModel implements Subject<ChatMessageViewModel> {
}
}
public someBusinessMethod(chatMessageList: ChatMessageViewModel[]): void {}
public someBusinessMethod(chatMessageList: ChatMessageViewModel[]): void { }
public clear(): void {
log.info("Clearing model");

14
src/main/frontend/chat/model/ChatModelHelper.ts → src/main/frontend/common/model/ChatModelHelper.ts

@ -1,10 +1,10 @@
import * as log from "loglevel";
import { ChatMessageDTO } from "../dto/ChatMessageDTO";
import { EncryptionService } from "../service/EncryptionService";
import { NotificationService } from "../service/NotificationService";
import { JsonAPI } from "../singleton/JsonAPI";
import { Sprintf } from "../singleton/Sprintf";
import { ChatMessageViewModel } from "../viewmodel/ChatMessageViewModel";
import { ChatMessageDTO } from "../../chat/dto/ChatMessageDTO";
import { EncryptionService } from "../../chat/service/EncryptionService";
import { NotificationService } from "../../chat/service/NotificationService";
import { JsonAPI } from "../../chat/singleton/JsonAPI";
import { Sprintf } from "../../chat/singleton/Sprintf";
import { ChatMessageViewModel } from "../../chat/viewmodel/ChatMessageViewModel";
import { fetchErrorHandler } from "./FetchErrorHandler";
export class ChatModelHelper {
@ -224,7 +224,7 @@ export class ChatModelHelper {
}
);
log.debug(response.clone());
if(!response.ok) location.reload();
if (!response.ok) location.reload();
const data: Promise<any> = await response.json();
function func(data: any) {
const d1 = data.map((d: any) => {

4
src/main/frontend/chat/model/FetchErrorHandler.ts → src/main/frontend/common/model/FetchErrorHandler.ts

@ -1,6 +1,6 @@
import log = require("loglevel");
import { NotificationService } from "../service/NotificationService";
import { Sprintf } from "../singleton/Sprintf";
import { NotificationService } from "../../chat/service/NotificationService";
import { Sprintf } from "../../chat/singleton/Sprintf";
// import { sprintf } from "sprintf-js";
///<reference path="../SprintfTest.d.ts" />

0
src/main/frontend/chat/model/ModelFactory.ts → src/main/frontend/common/model/ModelFactory.ts

10
src/main/frontend/chat/model/UserModel.ts → src/main/frontend/common/model/UserModel.ts

@ -1,10 +1,10 @@
import * as log from "loglevel";
import { Subject } from "../observe/Observable";
import { Observer } from "../observe/Observer";
import { JsonAPI } from "../singleton/JsonAPI";
import { ActiveUserViewModel } from "../viewmodel/ActiveUserViewModel";
import { Subject } from "../../chat/observe/Observable";
import { Observer } from "../../chat/observe/Observer";
import { JsonAPI } from "../../chat/singleton/JsonAPI";
import { ActiveUserViewModel } from "../../chat/viewmodel/ActiveUserViewModel";
import { fetchErrorHandler } from "./FetchErrorHandler";
import { NotificationService } from "../service/NotificationService";
import { NotificationService } from "../../chat/service/NotificationService";
export class UserModel implements Subject<ActiveUserViewModel> {
/**

2
src/main/frontend/workers/encryption-worker/main.ts

@ -2,7 +2,7 @@ import registerPromiseWorker from 'promise-worker/register';
import * as sjcl from 'sjcl'
registerPromiseWorker((payload) => {
registerPromiseWorker((payload: { passphrase: string, cipher: string }) => {
// console.log(payload)
// console.log('decrypted = ' + sjcl.decrypt(payload.passphrase, JSON.stringify(payload.cipher)));
return sjcl.decrypt(payload.passphrase, JSON.stringify(payload.cipher))
Loading…
Cancel
Save