File

src/verifier/presentations/presentations.controller.ts

Prefix

verifier/config

Index

Methods

Methods

configuration
configuration(user: TokenPayload)
Decorators :
@Secured(['undefined', 'undefined'])
@Get()

Returns the presentation request configurations.

Parameters :
Name Type Optional
user TokenPayload No
Returns : any
deleteConfiguration
deleteConfiguration(id: string, user: TokenPayload)
Decorators :
@Secured(['undefined'])
@Delete(':id')

Deletes a presentation request configuration by its ID.

Parameters :
Name Type Optional
id string No
user TokenPayload No
Returns : any
getConfiguration
getConfiguration(id: string, user: TokenPayload)
Decorators :
@Secured(['undefined', 'undefined'])
@Get(':id')

Get a presentation request configuration by its ID.

Parameters :
Name Type Optional
id string No
user TokenPayload No
Returns : any
storePresentationConfig
storePresentationConfig(config: PresentationConfigCreateDto, user: TokenPayload)
Decorators :
@Secured(['undefined'])
@Post()

Store a presentation request configuration. If it already exists, it will be updated.

Parameters :
Name Type Optional
config PresentationConfigCreateDto No
user TokenPayload No
Returns : any
updateConfiguration
updateConfiguration(id: string, config: PresentationConfigUpdateDto, user: TokenPayload)
Decorators :
@Secured(['undefined'])
@Patch(':id')

Update a presentation request configuration by its ID.

Parameters :
Name Type Optional
id string No
config PresentationConfigUpdateDto No
user TokenPayload No
Returns : any
import {
    Body,
    Controller,
    Delete,
    Get,
    Param,
    Patch,
    Post,
} from "@nestjs/common";
import { ApiTags } from "@nestjs/swagger";
import { Role } from "../../auth/roles/role.enum";
import { Secured } from "../../auth/secure.decorator";
import { Token, TokenPayload } from "../../auth/token.decorator";
import { PresentationConfigCreateDto } from "./dto/presentation-config-create.dto";
import { PresentationConfigUpdateDto } from "./dto/presentation-config-update.dto";
import { PresentationsService } from "./presentations.service";

@ApiTags("Verifier")
@Controller("verifier/config")
export class PresentationManagementController {
    constructor(private readonly presentationsService: PresentationsService) {}

    /**
     * Returns the presentation request configurations.
     * @returns
     */
    @Secured([Role.Presentations, Role.PresentationOffer])
    @Get()
    configuration(@Token() user: TokenPayload) {
        return this.presentationsService.getPresentationConfigs(
            user.entity!.id,
        );
    }

    /**
     * Store a presentation request configuration. If it already exists, it will be updated.
     * @param config
     * @returns
     */
    @Secured([Role.Presentations])
    @Post()
    storePresentationConfig(
        @Body() config: PresentationConfigCreateDto,
        @Token() user: TokenPayload,
    ) {
        return this.presentationsService.storePresentationConfig(
            user.entity!.id,
            config,
        );
    }

    /**
     * Get a presentation request configuration by its ID.
     * @param id
     * @param user
     * @returns
     */
    @Secured([Role.Presentations, Role.PresentationOffer])
    @Get(":id")
    getConfiguration(@Param("id") id: string, @Token() user: TokenPayload) {
        return this.presentationsService.getPresentationConfig(
            id,
            user.entity!.id,
        );
    }

    /**
     * Update a presentation request configuration by its ID.
     * @param id
     * @param config
     * @param user
     * @returns
     */
    @Secured([Role.Presentations])
    @Patch(":id")
    updateConfiguration(
        @Param("id") id: string,
        @Body() config: PresentationConfigUpdateDto,
        @Token() user: TokenPayload,
    ) {
        return this.presentationsService.updatePresentationConfig(
            id,
            user.entity!.id,
            config,
        );
    }

    /**
     * Deletes a presentation request configuration by its ID.
     * @param id
     * @returns
     */
    @Secured([Role.Presentations])
    @Delete(":id")
    deleteConfiguration(@Param("id") id: string, @Token() user: TokenPayload) {
        return this.presentationsService.deletePresentationConfig(
            id,
            user.entity!.id,
        );
    }
}

results matching ""

    No results matching ""