import { inject } from '@adonisjs/core';
import { ResponseStatus } from '@adonisjs/core/http';
import { AKVineHandlerMetaData } from './vine_handler_metadata.js';
export function AKVineRequestQuery(requestSchema) {
    return function (target, propertyName, descriptor) {
        AKVineHandlerMetaData.setRequestQueryParameters(target, propertyName, requestSchema);
        inject()(target, propertyName);
        return descriptor;
    };
}
export function AKVineRequest(requestSchema) {
    return function (target, propertyName, descriptor) {
        AKVineHandlerMetaData.setRequestSchema(target, propertyName, requestSchema);
        inject()(target, propertyName);
        return descriptor;
    };
}
export function AKVineResponse(responseSchema) {
    return function (target, propertyName, descriptor) {
        AKVineHandlerMetaData.setResponseSchema(target, propertyName, responseSchema);
        inject()(target, propertyName);
        return descriptor;
    };
}
export function AKVineResponseStatus(status = ResponseStatus.Ok) {
    return function (target, propertyName, descriptor) {
        AKVineHandlerMetaData.setResponseStatusCode(target, propertyName, status);
        inject()(target, propertyName);
        return descriptor;
    };
}
export function AKVineResponseErrors(errors = []) {
    return function (target, propertyName, descriptor) {
        AKVineHandlerMetaData.setResponseErrors(target, propertyName, errors);
        inject()(target, propertyName);
        return descriptor;
    };
}
//# sourceMappingURL=vine_handler_decorators.js.map