31 lines
787 B
TypeScript
31 lines
787 B
TypeScript
/*
|
|
* SPDX-FileCopyrightText: syuilo and misskey-project
|
|
* SPDX-License-Identifier: AGPL-3.0-only
|
|
*/
|
|
|
|
import { Module } from '@nestjs/common';
|
|
|
|
import { CoreModule } from '@/core/CoreModule.js';
|
|
import * as endpointsObject from './endpoint-list.js';
|
|
import { GetterService } from './GetterService.js';
|
|
import { ApiLoggerService } from './ApiLoggerService.js';
|
|
import type { Provider } from '@nestjs/common';
|
|
|
|
const endpoints = Object.entries(endpointsObject);
|
|
const endpointProviders = endpoints.map(([path, endpoint]): Provider => ({ provide: `ep:${path}`, useClass: endpoint.default }));
|
|
|
|
@Module({
|
|
imports: [
|
|
CoreModule,
|
|
],
|
|
providers: [
|
|
GetterService,
|
|
ApiLoggerService,
|
|
...endpointProviders,
|
|
],
|
|
exports: [
|
|
...endpointProviders,
|
|
],
|
|
})
|
|
export class EndpointsModule {}
|