2022-05-05 15:19:35 +00:00
|
|
|
import fastify from 'fastify';
|
2022-05-05 18:11:43 +00:00
|
|
|
import cors from '@fastify/cors';
|
|
|
|
import rateLimit from '@fastify/rate-limit';
|
2022-05-23 16:13:55 +00:00
|
|
|
import v1EntriesRoutes from 'routes/v1/entries';
|
2022-05-05 15:19:35 +00:00
|
|
|
import v1ReportRoutes from 'routes/v1/report';
|
2022-06-28 15:55:13 +00:00
|
|
|
import v2DataRoutes from 'routes/v2/data';
|
2022-07-05 15:47:24 +00:00
|
|
|
import v2ReportRoutes from 'routes/v2/report';
|
2023-01-18 18:55:54 +00:00
|
|
|
import v3DataRoutes from 'routes/v3/data';
|
|
|
|
import v3ReportRoutes from 'routes/v3/report';
|
2024-08-03 11:10:44 +00:00
|
|
|
import v4DataRoutes from 'routes/v4/data';
|
|
|
|
import v4ReportRoutes from 'routes/v4/report';
|
2024-10-10 09:43:13 +00:00
|
|
|
import v5DataRoutes from 'routes/v5/data';
|
|
|
|
import v5IssuesRoutes from 'routes/v5/issues';
|
|
|
|
import v5ReportRoutes from 'routes/v5/report';
|
2024-10-18 14:18:52 +00:00
|
|
|
import v6DataRoutes from 'routes/v6/data';
|
|
|
|
import v6IssuesRoutes from 'routes/v6/issues';
|
|
|
|
import v6ReportRoutes from 'routes/v6/report';
|
2022-05-05 15:19:35 +00:00
|
|
|
import environment from 'services/environment';
|
|
|
|
|
|
|
|
const server = fastify({ logger: true });
|
|
|
|
|
|
|
|
server.register(cors, {
|
2022-05-23 16:13:55 +00:00
|
|
|
origin: [
|
|
|
|
/chrome-extension:\/\/[a-z]{32}/g,
|
|
|
|
/moz-extension:\/\/[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}/g,
|
|
|
|
'https://www.cookie-dialog-monster.com',
|
|
|
|
],
|
2022-05-05 15:19:35 +00:00
|
|
|
});
|
|
|
|
|
2022-10-15 09:11:30 +00:00
|
|
|
server.register(rateLimit, {
|
|
|
|
global: false,
|
|
|
|
});
|
2022-05-05 15:19:35 +00:00
|
|
|
|
2022-05-23 16:13:55 +00:00
|
|
|
server.register(v1EntriesRoutes, { prefix: '/rest/v1' });
|
2022-05-05 15:19:35 +00:00
|
|
|
server.register(v1ReportRoutes, { prefix: '/rest/v1' });
|
2022-06-28 15:55:13 +00:00
|
|
|
server.register(v2DataRoutes, { prefix: '/rest/v2' });
|
2022-07-05 15:47:24 +00:00
|
|
|
server.register(v2ReportRoutes, { prefix: '/rest/v2' });
|
2023-01-18 18:55:54 +00:00
|
|
|
server.register(v3DataRoutes, { prefix: '/rest/v3' });
|
|
|
|
server.register(v3ReportRoutes, { prefix: '/rest/v3' });
|
2024-08-03 11:10:44 +00:00
|
|
|
server.register(v4DataRoutes, { prefix: '/rest/v4' });
|
|
|
|
server.register(v4ReportRoutes, { prefix: '/rest/v4' });
|
2024-10-10 09:43:13 +00:00
|
|
|
server.register(v5DataRoutes, { prefix: '/rest/v5' });
|
|
|
|
server.register(v5IssuesRoutes, { prefix: '/rest/v5' });
|
|
|
|
server.register(v5ReportRoutes, { prefix: '/rest/v5' });
|
2024-10-18 14:18:52 +00:00
|
|
|
server.register(v6DataRoutes, { prefix: '/rest/v6' });
|
|
|
|
server.register(v6IssuesRoutes, { prefix: '/rest/v6' });
|
|
|
|
server.register(v6ReportRoutes, { prefix: '/rest/v6' });
|
2022-05-05 15:19:35 +00:00
|
|
|
|
2022-06-21 23:03:42 +00:00
|
|
|
server.listen({ host: '0.0.0.0', port: environment.port }, (error, address) => {
|
2022-05-05 15:19:35 +00:00
|
|
|
if (error) {
|
|
|
|
console.error(error);
|
|
|
|
process.exit(1);
|
|
|
|
}
|
|
|
|
|
|
|
|
console.log(`Server listening at ${address}`);
|
|
|
|
});
|