angular-t9n
Version:
A translation tool for Angular i18n
47 lines (39 loc) • 1.27 kB
text/typescript
import {
BadRequestException,
Controller,
Get,
NotFoundException,
Param,
Post,
} from '@nestjs/common';
import { LinkHelper } from '../link-helper';
import { TargetResponse, TargetsResponse } from '../models';
import { TranslationTargetRegistry } from '../persistence';
('targets')
export class TargetsController {
constructor(
private _translationTargetRegistry: TranslationTargetRegistry,
private _linkHelper: LinkHelper,
) {}
()
targets(): TargetsResponse {
return new TargetsResponse(this._translationTargetRegistry.keys(), this._linkHelper);
}
(':language')
target(('language') language: string) {
const target = this._translationTargetRegistry.get(language);
if (!target) {
throw new NotFoundException('Target does not exist');
}
return new TargetResponse(target, this._linkHelper);
}
(':language')
async createTarget(('language') language: string) {
const existingTarget = this._translationTargetRegistry.get(language);
if (existingTarget) {
throw new BadRequestException('Target already exists');
}
const target = await this._translationTargetRegistry.create(language);
return new TargetResponse(target, this._linkHelper);
}
}