A self hosted chat application with end-to-end encrypted messaging.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

40 lines
1.2 KiB

  1. import { Controller } from "./AbstractController";
  2. import "../model/AbstractModel"
  3. import "../model/UserModel"
  4. import "../view/AbstractView"
  5. import "../view/UserView"
  6. import { Model } from "../model/AbstractModel";
  7. import { View } from "../view/AbstractView";
  8. import { ChatMessageViewModel } from "../viewmodel/ChatMessageViewModel";
  9. import { ChatModel } from "../model/ChatModel";
  10. import { ChatView } from "../view/ChatView";
  11. export class ChatController {
  12. private _model: ChatModel;
  13. private _view: ChatView;
  14. constructor(model: ChatModel, view: ChatView) {
  15. this._model = model;
  16. this._view = view;
  17. }
  18. /**
  19. * eventHandler
  20. */
  21. public eventHandler(vm: ChatMessageViewModel[]): void {
  22. this._model.someBusinessMethod(vm);
  23. }
  24. public test(): void {
  25. const chatMessageViewModels: ChatMessageViewModel[] = [];
  26. let chatMessageViewModelMock = new ChatMessageViewModel();
  27. chatMessageViewModelMock.fromUser = "user1";
  28. chatMessageViewModelMock.toUser = "user2";
  29. chatMessageViewModelMock.message = "";
  30. chatMessageViewModelMock.messageTime = new Date();
  31. chatMessageViewModels.push(chatMessageViewModelMock);
  32. }
  33. }