File

src/issuer/configuration/credentials/credential-config.controller.ts

Prefix

issuer/credentials

Description

Controller for managing credential configurations.

Index

Methods

Methods

deleteIssuanceConfiguration
deleteIssuanceConfiguration(id: string, user: TokenPayload, req: Request)
Decorators :
@Delete(':id')
Parameters :
Name Type Optional
id string No
user TokenPayload No
req Request No
Returns : Promise<unknown>
getConfigById
getConfigById(id: string, user: TokenPayload)
Decorators :
@Get(':id')
Parameters :
Name Type Optional
id string No
user TokenPayload No
Returns : any
getConfigs
getConfigs(user: TokenPayload)
Decorators :
@Get()
Parameters :
Name Type Optional
user TokenPayload No
Returns : any
storeCredentialConfiguration
storeCredentialConfiguration(config: CredentialConfigCreate, user: TokenPayload, req: Request)
Decorators :
@Post()
Parameters :
Name Type Optional
config CredentialConfigCreate No
user TokenPayload No
req Request No
Returns : any
updateCredentialConfiguration
updateCredentialConfiguration(id: string, config: CredentialConfigUpdate, user: TokenPayload, req: Request)
Decorators :
@Patch(':id')
Parameters :
Name Type Optional
id string No
config CredentialConfigUpdate No
user TokenPayload No
req Request No
Returns : any
import {
    Body,
    Controller,
    Delete,
    Get,
    Param,
    Patch,
    Post,
    Req,
} from "@nestjs/common";
import { ApiTags } from "@nestjs/swagger";
import { Request } from "express";
import { Role } from "../../../auth/roles/role.enum";
import { Secured } from "../../../auth/secure.decorator";
import { Token, TokenPayload } from "../../../auth/token.decorator";
import { CredentialConfigService } from "./credential-config/credential-config.service";
import { CredentialConfigCreate } from "./dto/credential-config-create.dto";
import { CredentialConfigUpdate } from "./dto/credential-config-update.dto";

/**
 * Controller for managing credential configurations.
 */
@ApiTags("Issuer")
@Secured([Role.Issuances])
@Controller("issuer/credentials")
export class CredentialConfigController {
    constructor(private readonly credentialsService: CredentialConfigService) {}

    @Get()
    getConfigs(@Token() user: TokenPayload) {
        return this.credentialsService.get(user.entity!.id);
    }

    @Get(":id")
    getConfigById(@Param("id") id: string, @Token() user: TokenPayload) {
        return this.credentialsService.getById(user.entity!.id, id);
    }

    @Post()
    storeCredentialConfiguration(
        @Body() config: CredentialConfigCreate,
        @Token() user: TokenPayload,
        @Req() req: Request,
    ) {
        return this.credentialsService.store(
            user.entity!.id,
            config,
            false,
            user,
            req,
        );
    }

    @Patch(":id")
    updateCredentialConfiguration(
        @Param("id") id: string,
        @Body() config: CredentialConfigUpdate,
        @Token() user: TokenPayload,
        @Req() req: Request,
    ) {
        return this.credentialsService.update(
            user.entity!.id,
            id,
            config,
            user,
            req,
        );
    }

    @Delete(":id")
    deleteIssuanceConfiguration(
        @Param("id") id: string,
        @Token() user: TokenPayload,
        @Req() req: Request,
    ): Promise<unknown> {
        return this.credentialsService.delete(user.entity!.id, id, user, req);
    }
}

results matching ""

    No results matching ""