mirror of
https://github.com/janishutz/MusicPlayer.git
synced 2026-09-10 14:25:24 +02:00
53 lines
1.5 KiB
TypeScript
53 lines
1.5 KiB
TypeScript
import {
|
|
Config
|
|
} from '../../dtype/config';
|
|
import express from 'express';
|
|
import {
|
|
getLoginSdk
|
|
} from '../../sdk';
|
|
import {
|
|
getOwnershipManager
|
|
} from '../../manager/users/ownership';
|
|
import rooms from '../../manager/rooms';
|
|
import tracking from './tracking';
|
|
import update from './update';
|
|
|
|
const routes = ( app: express.Application, foss: boolean, config: Config ) => {
|
|
const sdk = getLoginSdk( foss );
|
|
const ownership = getOwnershipManager( foss );
|
|
|
|
tracking.routes( app, foss );
|
|
update.routes( app, foss, config );
|
|
|
|
app.get(
|
|
'/room/create',
|
|
sdk.loginCheck(),
|
|
ownership.middleware(),
|
|
( request: express.Request, response: express.Response ) => {
|
|
if ( !request.query.room || !( /^[a-zA-Z0-9-]{3,20}/ ).test( String( request.query.room ) ) ) return response.sendStatus( 400 );
|
|
|
|
if ( rooms.create( String( request.query.room ), sdk.getUID( request )! ) )
|
|
response.sendStatus( 200 );
|
|
else
|
|
response.sendStatus( 409 );
|
|
}
|
|
);
|
|
|
|
app.get(
|
|
'/room/:id/close',
|
|
sdk.loginCheck(),
|
|
( request: express.Request, response: express.Response ) => {
|
|
if ( typeof request.params.room !== 'string' ) return response.sendStatus( 400 );
|
|
|
|
if ( rooms.close( String( request.query.room ), sdk.getUID( request )! ) )
|
|
response.sendStatus( 200 );
|
|
else
|
|
response.sendStatus( 500 );
|
|
}
|
|
);
|
|
};
|
|
|
|
export default {
|
|
routes
|
|
};
|