Skip to content

Commit

Permalink
feat: add router api
Browse files Browse the repository at this point in the history
  • Loading branch information
woody146 committed Jun 8, 2023
1 parent c6647fb commit 2d20281
Show file tree
Hide file tree
Showing 6 changed files with 27 additions and 1 deletion.
5 changes: 5 additions & 0 deletions src/apis/slave/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
import { router } from './router.js';

const apiRouters = [...router];

export default apiRouters;
12 changes: 12 additions & 0 deletions src/apis/slave/router.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import { MediasoupRouterService } from '../../services/index.js';
import { RouteConfig } from '../../utils/index.js';

export const router: Array<RouteConfig> = [
{
method: 'POST',
url: '/routers',
handler: () => {
return new MediasoupRouterService().create();
},
},
];
5 changes: 5 additions & 0 deletions src/entities/mediasoup.room.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,18 @@ import {
BaseEntity,
CreateDateColumn,
Column,
Index,
} from 'typeorm';

@Entity()
export class MediasoupRoom extends BaseEntity {
@PrimaryGeneratedColumn('uuid')
id!: string;

@Index()
@Column('integer')
slaveId!: number;

@Column('text')
routerId!: string;

Expand Down
3 changes: 2 additions & 1 deletion src/run_slave.ts
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
import 'node-fetch';

import apiRouters from './apis/slave/index.js';
import {
MediasoupSlaveService,
mediasoupWorkerManager,
} from './services/index.js';
import { startServer, getDataSource } from './utils/index.js';

async function bootstrap() {
await startServer([]);
await startServer(apiRouters);
try {
await mediasoupWorkerManager.init();
await new MediasoupSlaveService(getDataSource()).addFromEnv();
Expand Down
1 change: 1 addition & 0 deletions src/services/index.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
export * from './mediasoup.slave.js';
export * from './mediasoup.room.js';
export * from './mediasoup.worker.js';
export * from './mediasoup.router.js';
2 changes: 2 additions & 0 deletions src/services/mediasoup.room.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@ import { MediasoupRoom } from '../entities/index.js';
import { BaseService } from './base.js';
import { MediasoupSlaveService } from './mediasoup.slave.js';

// for master server

export class MediasoupRoomService extends BaseService {
async create(data: { metadata?: any }) {
const slave = await this.createService(
Expand Down

0 comments on commit 2d20281

Please sign in to comment.