Files
Automata/packages/cli/src/license/license.controller.ts
कारतोफ्फेलस्क्रिप्ट™ 2811f77798 refactor(core): Rename RequireGlobalScope to GlobalScope (no-changelog) (#8760)
2024-02-28 14:40:02 +01:00

36 lines
1.0 KiB
TypeScript

import { Authorized, Get, Post, GlobalScope, RestController } from '@/decorators';
import { LicenseRequest } from '@/requests';
import { LicenseService } from './license.service';
@Authorized()
@RestController('/license')
export class LicenseController {
constructor(private readonly licenseService: LicenseService) {}
@Get('/')
async getLicenseData() {
return await this.licenseService.getLicenseData();
}
@Post('/activate')
@GlobalScope('license:manage')
async activateLicense(req: LicenseRequest.Activate) {
const { activationKey } = req.body;
await this.licenseService.activateLicense(activationKey);
return await this.getTokenAndData();
}
@Post('/renew')
@GlobalScope('license:manage')
async renewLicense() {
await this.licenseService.renewLicense();
return await this.getTokenAndData();
}
private async getTokenAndData() {
const managementToken = this.licenseService.getManagementJwt();
const data = await this.licenseService.getLicenseData();
return { ...data, managementToken };
}
}