File

src/issuer/credentials/credentials.controller.ts

Prefix

issuer-management/credentials

Description

Controller for managing credential configurations.

Index

Methods

Methods

deleteIssuanceConfiguration
deleteIssuanceConfiguration(id: string, user: TokenPayload)
Decorators :
@Delete(':id')

Deletes an credential configuration.

Parameters :
Name Type Optional
id string No
user TokenPayload No
Returns : any
getConfigs
getConfigs(user: TokenPayload)
Decorators :
@Get()

Returns the credential configurations for this tenant.

Parameters :
Name Type Optional
user TokenPayload No
Returns : any
storeCredentialConfiguration
storeCredentialConfiguration(config: CredentialConfig, user: TokenPayload)
Decorators :
@Post()

Stores the credential configuration for this tenant.

Parameters :
Name Type Optional
config CredentialConfig No
user TokenPayload No
Returns : any
import {
    Controller,
    Delete,
    Get,
    Param,
    Post,
    Body,
    UseGuards,
} from '@nestjs/common';
import { ApiSecurity, ApiTags } from '@nestjs/swagger';
import { Token, TokenPayload } from '../../auth/token.decorator';
import { CredentialConfigService } from './credential-config/credential-config.service';
import { CredentialConfig } from './entities/credential.entity';
import { JwtAuthGuard } from '../../auth/auth.guard';

/**
 * Controller for managing credential configurations.
 */
@ApiTags('Issuer management')
@UseGuards(JwtAuthGuard)
@ApiSecurity('oauth2')
@Controller('issuer-management/credentials')
export class CredentialsController {
    /**
     * Initializes the CredentialsController with the CredentialConfigService.
     * @param credentialsService
     */
    constructor(private readonly credentialsService: CredentialConfigService) {}

    /**
     * Returns the credential configurations for this tenant.
     * @returns
     */
    @Get()
    getConfigs(@Token() user: TokenPayload) {
        return this.credentialsService.get(user.sub);
    }

    /**
     * Stores the credential configuration for this tenant.
     * @param config
     * @returns
     */
    @Post()
    storeCredentialConfiguration(
        @Body() config: CredentialConfig,
        @Token() user: TokenPayload,
    ) {
        return this.credentialsService.store(user.sub, config);
    }

    /**
     * Deletes an credential configuration.
     * @param id
     * @returns
     */
    @Delete(':id')
    deleteIssuanceConfiguration(
        @Param('id') id: string,
        @Token() user: TokenPayload,
    ) {
        return this.credentialsService.delete(user.sub, id);
    }
}

results matching ""

    No results matching ""