Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions config/test.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
server:
port: 8761
env: dev
region: CN
region_code: 1

redis:
host: 127.0.0.1
Expand Down
3 changes: 3 additions & 0 deletions src/constants/Config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,9 @@ export const Server = {
name: "flat-server",
version: packages.version,
env: config.server.env,
region: config.server.region || "CN",
// value: 1-9
regionCode: config.server.region_code || 1,
};

export const Redis = {
Expand Down
17 changes: 9 additions & 8 deletions src/plugins/__tests__/ajv.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,17 +10,18 @@ test(`${namespace} - inject self plugin`, ava => {
const ajv = new Ajv();
ajvSelfPlugin(ajv);

ava.deepEqual(Object.keys(ajv.formats), [
"unix-timestamp",
"uuid-v4",
"file-suffix",
ava.deepEqual(Object.keys(ajv.formats).sort(), [
"avatar-suffix",
"oauth-logo-suffix",
"url",
"https",
"phone",
"directory-name",
"directory-path",
"file-suffix",
"https",
"oauth-logo-suffix",
"phone",
"temp-photo-suffix",
"unix-timestamp",
"url",
"uuid-v4",
]);
});

Expand Down
2 changes: 2 additions & 0 deletions src/utils/ParseConfig.ts
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,8 @@ type Config = {
server: {
port: number;
env: string;
region: string | null;
region_code: number | null;
};
redis: {
host: string;
Expand Down
1 change: 0 additions & 1 deletion src/v1/controller/room/cancel/History.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@ export class CancelHistory extends AbstractController<RequestType, ResponseType>
properties: {
roomUUID: {
type: "string",
format: "uuid-v4",
},
},
},
Expand Down
1 change: 0 additions & 1 deletion src/v1/controller/room/cancel/Ordinary.ts
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@ export class CancelOrdinary extends AbstractController<RequestType, ResponseType
properties: {
roomUUID: {
type: "string",
format: "uuid-v4",
},
},
},
Expand Down
5 changes: 2 additions & 3 deletions src/v1/controller/room/create/Ordinary.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
import { RoomType } from "../../../../model/room/Constants";
import { Region, Status } from "../../../../constants/Project";
import { FastifySchema, Response, ResponseError } from "../../../../types/Server";
import { v4 } from "uuid";
import { ErrorCode } from "../../../../ErrorCode";
import {
beginTimeLessEndTime,
Expand All @@ -12,7 +11,7 @@ import { AbstractController, ControllerClassParams } from "../../../../abstract/
import { Controller } from "../../../../decorator/Controller";
import { ControllerError } from "../../../../error/ControllerError";
import { ServiceRoom, ServiceRoomUser } from "../../../service";
import { generateRoomInviteCode } from "./Utils";
import { generateRoomInviteCode, generateRoomUUID } from "./Utils";
import { rtcQueue } from "../../../queue";
import { aliGreenText } from "../../../utils/AliGreen";
import { dataSource } from "../../../../thirdPartyService/TypeORMService";
Expand Down Expand Up @@ -59,7 +58,7 @@ export class CreateOrdinary extends AbstractController<RequestType, ResponseType
roomUser: ServiceRoomUser;
};

private readonly roomUUID: string = v4();
private readonly roomUUID: string = generateRoomUUID();

public constructor(params: ControllerClassParams) {
super(params);
Expand Down
9 changes: 8 additions & 1 deletion src/v1/controller/room/create/Utils.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
import { v4 } from "uuid";
import { Logger, LoggerAPI, parseError } from "../../../../logger";
import RedisService from "../../../../thirdPartyService/RedisService";
import { RedisKey } from "../../../../utils/Redis";
import { generateInviteCode } from "../utils/GenerateInviteCode";
import { Server } from "../../../../constants/Config";

export const generateRoomInviteCode = async (
roomUUID: string,
Expand All @@ -10,7 +12,8 @@ export const generateRoomInviteCode = async (
let inviteCode = "";
try {
// when invite code is used up, fallback to uuid
inviteCode = (await generateInviteCode()) || roomUUID;
const code = await generateInviteCode();
inviteCode = code === null ? roomUUID : `${Server.regionCode}`.concat(code);
} catch (error) {
logger.warn("generate invite code failed", parseError(error));
inviteCode = roomUUID;
Expand Down Expand Up @@ -41,3 +44,7 @@ export const generateRoomInviteCode = async (

return inviteCode;
};

export const generateRoomUUID = (): string => {
return `${Server.region}-` + v4();
};
1 change: 0 additions & 1 deletion src/v1/controller/room/info/Ordinary.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@ export class OrdinaryInfo extends AbstractController<RequestType, ResponseType>
properties: {
roomUUID: {
type: "string",
format: "uuid-v4",
},
},
},
Expand Down
1 change: 0 additions & 1 deletion src/v1/controller/room/info/Users.ts
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@ export class UserInfo extends AbstractController<RequestType, ResponseType> {
properties: {
roomUUID: {
type: "string",
format: "uuid-v4",
},
usersUUID: {
type: "array",
Expand Down
1 change: 0 additions & 1 deletion src/v1/controller/room/record/Info.ts
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@ export class RecordInfo extends AbstractController<RequestType, ResponseType> {
properties: {
roomUUID: {
type: "string",
format: "uuid-v4",
},
},
},
Expand Down
1 change: 0 additions & 1 deletion src/v1/controller/room/record/Started.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@ export class RecordStarted extends AbstractController<RequestType, ResponseType>
properties: {
roomUUID: {
type: "string",
format: "uuid-v4",
},
},
},
Expand Down
1 change: 0 additions & 1 deletion src/v1/controller/room/record/Stopped.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@ export class RecordStopped extends AbstractController<RequestType, ResponseType>
properties: {
roomUUID: {
type: "string",
format: "uuid-v4",
},
},
},
Expand Down
1 change: 0 additions & 1 deletion src/v1/controller/room/updateStatus/Paused.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@ export class UpdateStatusPaused extends AbstractController<RequestType, Response
properties: {
roomUUID: {
type: "string",
format: "uuid-v4",
},
},
},
Expand Down
1 change: 0 additions & 1 deletion src/v1/controller/room/updateStatus/Started.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@ export class UpdateStatusStarted extends AbstractController<RequestType, Respons
properties: {
roomUUID: {
type: "string",
format: "uuid-v4",
},
},
},
Expand Down
1 change: 0 additions & 1 deletion src/v1/controller/room/updateStatus/Stopped.ts
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,6 @@ export class UpdateStatusStopped extends AbstractController<RequestType, Respons
properties: {
roomUUID: {
type: "string",
format: "uuid-v4",
},
},
},
Expand Down
1 change: 1 addition & 0 deletions src/v1/controller/room/utils/GenerateInviteCode.ts
Original file line number Diff line number Diff line change
Expand Up @@ -22,5 +22,6 @@ export const generateInviteCode = async (): Promise<string | null> => {
inviteCodeList.push(inviteCodeFn());
}

// insert region code at front
return await RedisService.vacantKey(inviteCodeList);
};
7 changes: 4 additions & 3 deletions src/v2/services/cloud-storage/__tests__/convert.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -322,15 +322,16 @@ test.serial(`${namespace} - start whiteboard projector - failed`, async ava => {
}),
{
instanceOf: FError,
message: `${Status.Failed}: ${ErrorCode.FileConvertFailed}`,
// it won't start when step != None
message: `${Status.Failed}: ${ErrorCode.FileNotIsConvertNone}`,
},
);

const data = await cloudStorageFilesDAO.findOne(t, 'payload', {
const data = await cloudStorageFilesDAO.findOne(t, "payload", {
file_uuid: fileUUID,
});

ava.is((data.payload as any)?.convertStep, FileConvertStep.Failed);
ava.is((data.payload as any)?.convertStep, undefined);

stubAxios.restore();
await releaseRunner();
Expand Down