Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
import EntitiesController from '../controllers/entitiesController';
import { submitFilesToUsers, submitToUsers } from '../index';
import PagesController from '../controllers/pagesController';
import UsersController from '../controllers/usersController';
export const websocketRoute = async (req: any) => {
switch (req.event) {
// create
case 'createUser':
const createdUserData = await UsersController.createUser(req);
submitToUsers('createEntity', createdUserData.startEntity);
submitToUsers('createPage', createdUserData.homePage);
submitToUsers('createUser', createdUserData.createdUser);
break;
case 'createPage':
const createdPage = await PagesController.createPage(req);
submitToUsers('createPage', createdPage);
break;
case 'createEntity':
const createdEntity = await EntitiesController.createEntity(req);
submitToUsers('createEntity', createdEntity);
break;
// read
case 'getUser':
const userInfo = await UsersController.getUser(req);
submitToUsers('getUser', userInfo);
break;
case 'getPage':
const pageInfo = await PagesController.getPage(req);
submitToUsers('getPage', pageInfo);
break;
case 'getPageBackground':
const homeBackground = await PagesController.getPageBackground(req);
submitFilesToUsers(homeBackground);
break;
case 'getPageEntities':
const getPageEntitiesData = await EntitiesController.getEntities(req);
getPageEntitiesData.entitiesImages.forEach((entityBuffer: Buffer) => {
submitFilesToUsers(entityBuffer);
});
submitToUsers('getPageEntities', getPageEntitiesData.entities);
break;
// update
case 'editUser':
const editedUser = await UsersController.editUser(req);
submitToUsers('editUser', editedUser);
break;
case 'editPage':
const editedPage = await PagesController.editPage(req);
submitToUsers('editPage', editedPage);
break;
case 'editPageBackground':
await PagesController.editPageBackground(req);
submitToUsers('editPageBackground', { ...req.body });
break;
case 'editEntity': {
const editedHomeEntity = await EntitiesController.editEntity(req);
submitToUsers('editEntity', editedHomeEntity);
break;
}
case 'cropImage': {
await EntitiesController.cropImage(req);
case 'returnOriginalSizeImage': {
const result = await EntitiesController!.returnOriginalSizeImage(req);
submitFilesToUsers(result.buffer);
submitToUsers('returnOriginalSizeImage', result.entity);
break;
}
case 'changeEntitiesOrder':
const changedEntitiesOrders = await EntitiesController.changeEntitiesOrder(req);
submitToUsers('changeEntitiesOrder', changedEntitiesOrders);
break;
// delete
case 'deleteUser':
const deletedUser = await UsersController.deleteUser(req);
submitToUsers('deleteUser', deletedUser);
break;
case 'deletePage':
const deletedPage = await PagesController.deletePage(req);
submitToUsers('deletePage', deletedPage);
break;
case 'deletePageBackground':
await PagesController.deletePageBackground(req);
break;
case 'deleteEntity':
const deletedEntity = await EntitiesController.deleteEntity(req);
submitToUsers('deleteEntity', deletedEntity);
break;
}
};