♻️Removed unused websockets
This commit is contained in:
@@ -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"],
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user