♻️Removed unused websockets

This commit is contained in:
Anton SHEPILOV
2024-05-24 00:19:31 +02:00
parent 757a4759f8
commit 6f0bfbcd09
51 changed files with 7 additions and 1620 deletions
@@ -1,45 +0,0 @@
import { WebsocketMetadata } from "../../utils/types";
import CompanyEntity from "./entities/company";
import UserEntity from "./entities/user";
/**
* User Rooms
*/
export function getUserRooms(user: UserEntity): WebsocketMetadata[] {
return [
{
room: getUserRoom(user.id),
},
];
}
export function getUserRoom(userId: string): string {
return `/me/${userId}`;
}
export function getPublicUserRoom(userId: string): string {
return `/users/${userId}`;
}
export function getUserName(userId: string): string {
return `user-room-${userId}`;
}
/**
* Company Rooms
*/
export function getCompanyRooms(company: CompanyEntity): WebsocketMetadata[] {
return [
{
room: getCompanyRoom(company.id),
},
];
}
export function getCompanyRoom(companyId: string): string {
return `/company/${companyId}`;
}
export function getCompanyName(companyId: string): string {
return `company-room-${companyId}`;
}
@@ -30,8 +30,7 @@ import ExternalGroup, {
ExternalGroupPrimaryKey,
getInstance as getExternalGroupInstance,
} from "../entities/external_company";
import { logger, RealtimeSaved } from "../../../core/platform/framework";
import { getCompanyRoom, getUserRoom } from "../realtime";
import { logger } from "../../../core/platform/framework";
import gr from "../../global-resolver";
import { localEventBus } from "../../../core/platform/framework/event-bus";
@@ -59,15 +58,6 @@ export class CompanyServiceImpl {
return this.externalCompanyRepository.findOne(pk, {}, context);
}
// eslint-disable-next-line @typescript-eslint/no-unused-vars
@RealtimeSaved<Company>((company, _context) => {
return [
{
room: getCompanyRoom(company.id),
resource: company,
},
];
})
async updateCompany<SaveOptions>(
company: Company,
// eslint-disable-next-line @typescript-eslint/no-unused-vars
@@ -186,14 +176,6 @@ export class CompanyServiceImpl {
);
}
@RealtimeSaved<CompanyUser>((companyUser, _) => {
return [
{
room: getUserRoom(companyUser?.user_id),
resource: companyUser,
},
];
})
async removeUserFromCompany(
companyPk: CompanyPrimaryKey,
userPk: UserPrimaryKey,
@@ -249,14 +231,6 @@ export class CompanyServiceImpl {
return new DeleteResult<Company>("company", instance, !!instance);
}
@RealtimeSaved<CompanyUser>((companyUser, _) => {
return [
{
room: getUserRoom(companyUser?.user_id),
resource: companyUser,
},
];
})
async setUserRole(
companyId: uuid,
userId: uuid,
@@ -28,11 +28,8 @@ import assert from "assert";
import { localEventBus } from "../../../../core/platform/framework/event-bus";
import { ResourceEventsPayload } from "../../../../utils/types";
import { isNumber, isString } from "lodash";
import { RealtimeSaved } from "../../../../core/platform/framework";
import { getPublicUserRoom, getUserRoom } from "../../realtime";
import NodeCache from "node-cache";
import gr from "../../../global-resolver";
import { formatUser } from "../../../../utils/users";
import { TYPE as DriveFileType, DriveFile } from "../../../documents/entities/drive-file";
export class UserServiceImpl {
@@ -99,34 +96,11 @@ export class UserServiceImpl {
throw new Error("Method not implemented.");
}
@RealtimeSaved<User>((user, _context) => {
return [
{
room: getPublicUserRoom(user.id),
resource: user,
},
];
})
async publishPublicUserRealtime(userId: string): Promise<void> {
const user = await this.get({ id: userId });
new SaveResult("user", formatUser(user, { includeCompanies: true }), OperationType.UPDATE);
}
@RealtimeSaved<User>((user, _context) => {
return [
{
room: getUserRoom(user.id),
resource: formatUser(user), // FIX ME we should formatUser here
},
];
})
async save(user: User, context?: ExecutionContext): Promise<SaveResult<User>> {
this.assignDefaults(user);
await this.repository.save(user, context);
await this.updateExtRepository(user);
await this.publishPublicUserRealtime(user.id);
return new SaveResult("user", user, OperationType.UPDATE);
}
@@ -20,19 +20,18 @@ import {
CompanyParameters,
CompanyStatsObject,
CompanyUserObject,
CompanyUsersParameters,
DeregisterDeviceParams,
RegisterDeviceBody,
RegisterDeviceParams,
UserListQueryParameters,
UserObject,
UserParameters,
CompanyUsersParameters,
UserQuota,
} from "./types";
import Company from "../entities/company";
import CompanyUser from "../entities/company_user";
import coalesce from "../../../utils/coalesce";
import { getCompanyRooms, getUserRooms } from "../realtime";
import { formatCompany, getCompanyStats } from "../utils";
import { formatUser } from "../../../utils/users";
import gr from "../../global-resolver";
@@ -70,9 +69,6 @@ export class UsersCrudController
return {
resource: userObject,
websocket: context.user.id
? gr.platformServices.realtime.sign(getUserRooms(user), context.user.id)[0]
: undefined,
};
}
@@ -100,11 +96,7 @@ export class UsersCrudController
async setPreferences(
request: FastifyRequest<{ Body: User["preferences"] }>,
): Promise<User["preferences"]> {
const preferences = await gr.services.users.setPreferences(
{ id: request.currentUser.id },
request.body,
);
return preferences;
return await gr.services.users.setPreferences({ id: request.currentUser.id }, request.body);
}
async list(
@@ -143,7 +135,6 @@ export class UsersCrudController
// return users;
return {
resources: resUsers,
websockets: gr.platformServices.realtime.sign([], context.user.id),
};
}
@@ -220,7 +211,6 @@ export class UsersCrudController
return {
resources: combos.map(combo => formatCompany(...combo)),
websockets: gr.platformServices.realtime.sign([], context.user.id),
};
}
@@ -253,9 +243,6 @@ export class UsersCrudController
companyUserObj,
getCompanyStats(company, await gr.services.statistics.get(company.id, "messages")),
),
websocket: context.user?.id
? gr.platformServices.realtime.sign(getCompanyRooms(company), context.user.id)[0]
: undefined,
};
}
@@ -1,4 +1,3 @@
import { webSocketSchema } from "../../../utils/types";
import { CompanyFeaturesEnum, CompanyLimitsEnum } from "./types";
export const userObjectSchema = {
@@ -126,7 +125,6 @@ export const getUserSchema = {
type: "object",
properties: {
resource: userObjectSchema,
websocket: webSocketSchema,
},
required: ["resource"],
},
@@ -231,7 +229,6 @@ export const getCompanySchema = {
type: "object",
properties: {
resource: companyObjectSchema,
websocket: webSocketSchema,
},
required: ["resource"],
},