All Downloads are FREE. Search and download functionalities are using the official Maven repository.

net.n2oapp.security.admin.rest.api.AccountRestService Maven / Gradle / Ivy

There is a newer version: 8.0.1
Show newest version
package net.n2oapp.security.admin.rest.api;

import io.swagger.annotations.*;
import net.n2oapp.security.admin.api.model.Account;
import net.n2oapp.security.admin.rest.api.criteria.RestAccountCriteria;
import org.springframework.data.domain.Page;

import javax.ws.rs.*;
import javax.ws.rs.core.MediaType;

/**
 * REST сервис управления аккаунтами
 */
@Path("/accounts")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
@Api(value = "Аккаунты", authorizations = @Authorization(value = "oauth2"))
public interface AccountRestService {
    @GET
    @Path("/")
    @ApiOperation("Все аккаунты")
    @ApiResponse(code = 200, message = "Найти аккаунты по критериям поиска")
    Page findAll(@BeanParam RestAccountCriteria criteria);

    @GET
    @Path("/{id}")
    @ApiOperation("Получить аккаунт по идентификатору")
    @ApiResponse(code = 200, message = "Найденный аккаунт")
    Account findById(@ApiParam(value = "Идентификатор аккаунта") @PathParam("id") Integer accountId);

    @POST
    @Path("/")
    @ApiOperation("Создать аккаунт")
    @ApiResponse(code = 200, message = "Созданный аккаунт")
    Account create(@ApiParam(value = "Аккаунт") Account accountType);

    @PUT
    @Path("/")
    @ApiOperation("Изменить аккаунт")
    @ApiResponse(code = 200, message = "Измененный аккаунт")
    Account update(@ApiParam(value = "Аккаунт") Account accountType);

    @DELETE
    @Path("/{id}")
    @ApiOperation("Удалить аккаунт")
    @ApiResponse(code = 204, message = "Аккаунт удален")
    void delete(@ApiParam(value = "Идентификатор аккаунта") @PathParam("id") Integer accountId);

    @PUT
    @Path("/changeActive/{id}")
    @ApiOperation("Изменить статус пользователя")
    @ApiResponses({
            @ApiResponse(code = 200, message = "Аккаунт с измененным статусом"),
            @ApiResponse(code = 400, message = "Некорректный запрос. Отсутствуют обязательные поля или заполнены некорректными данными")
    })
    Account changeActive(@ApiParam(value = "Идентификатор аккаунта") @PathParam("id") Integer id);
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy