add loc.sh routes and systems
parent
98c73ca2e9
commit
4d6af1ea5f
|
@ -0,0 +1,6 @@
|
|||
import { Server, ServerManagement } from '../../class';
|
||||
|
||||
export default function (management: ServerManagement) {
|
||||
const server = new Server(management, 3890, `${__dirname}/routes`);
|
||||
return server;
|
||||
}
|
|
@ -0,0 +1,22 @@
|
|||
import { Route, Server } from '../../../class';
|
||||
import { RedirectInterface } from '../../../models';
|
||||
|
||||
export default class Root extends Route {
|
||||
constructor(server: Server) {
|
||||
super(server, { path: '/' });
|
||||
}
|
||||
|
||||
public bind() {
|
||||
this.router.get('/:key', async (req, res) => {
|
||||
try {
|
||||
// @ts-ignore
|
||||
const link: RedirectInterface = await this.server.client.db.redirect.findOne({ key: req.params.key }).lean().exec();
|
||||
if (!link) return res.status(404).json({ code: this.constants.codes.NOT_FOUND, message: this.constants.messages.NOT_FOUND });
|
||||
return res.redirect(link.to);
|
||||
} catch (err) {
|
||||
this.server.client.util.handleError(err);
|
||||
return res.status(500).json({ code: this.constants.codes.SERVER_ERROR, message: this.constants.messages.SERVER_ERROR });
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
|
@ -0,0 +1 @@
|
|||
|
Loading…
Reference in New Issue