hexabot/api/src/helper/helper.controller.ts

35 lines
1.2 KiB
TypeScript
Raw Normal View History

2024-09-10 09:50:11 +00:00
/*
* Copyright © 2024 Hexastack. All rights reserved.
*
* Licensed under the GNU Affero General Public License v3.0 (AGPLv3) with the following additional terms:
* 1. The name "Hexabot" is a trademark of Hexastack. You may not use this name in derivative works without express written permission.
* 2. All derivative works must include clear attribution to the original creator and software, Hexastack and Hexabot, in a prominent location (e.g., in the software's "About" section, documentation, and README file).
*/
2024-10-21 14:09:59 +00:00
import { Controller, Get, Param } from '@nestjs/common';
2024-09-10 09:50:11 +00:00
2024-10-21 14:09:59 +00:00
import { Roles } from '@/utils/decorators/roles.decorator';
2024-09-10 09:50:11 +00:00
2024-10-21 14:09:59 +00:00
import { HelperService } from './helper.service';
import { HelperType } from './types';
@Controller('helper')
export class HelperController {
constructor(private readonly helperService: HelperService) {}
2024-09-10 09:50:11 +00:00
/**
2024-10-21 14:09:59 +00:00
* Retrieves a list of helpers.
2024-09-10 09:50:11 +00:00
*
* @returns An array of objects containing the name of each NLP helper.
*/
2024-10-21 14:09:59 +00:00
@Roles('public')
@Get(':type')
getHelpers(@Param('type') type: HelperType) {
return this.helperService.getAllByType(type).map((helper) => {
2024-09-10 09:50:11 +00:00
return {
name: helper.getName(),
};
});
}
}