/*
 * OpenAPI Petstore
 * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
 *
 * The version of the OpenAPI document: 1.0.0
 * 
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

package org.openapitools.server.api;

import java.util.List;
import java.time.OffsetDateTime;
import org.openapitools.server.model.User;

import jakarta.ws.rs.*;


import java.io.InputStream;
import java.util.Map;
import java.util.List;
import jakarta.validation.constraints.*;
import jakarta.validation.Valid;

@Path("/user")
@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaHelidonServerCodegen")
public class UserServiceImpl implements UserService {

    @POST
    @Consumes({ "application/json" })
    public void createUser(@Valid @NotNull User user) {
    }

    @POST
    @Path("/createWithArray")
    @Consumes({ "application/json" })
    public void createUsersWithArrayInput(@Valid @NotNull List<User> user) {
    }

    @POST
    @Path("/createWithList")
    @Consumes({ "application/json" })
    public void createUsersWithListInput(@Valid @NotNull List<User> user) {
    }

    @DELETE
    @Path("/{username}")
    public void deleteUser(@PathParam("username") String username) {
    }

    @GET
    @Path("/{username}")
    @Produces({ "application/xml", "application/json" })
    public User getUserByName(@PathParam("username") String username) {
        User result = null; // Replace with correct business logic.
        return result;
    }

    @GET
    @Path("/login")
    @Produces({ "application/xml", "application/json" })
    public String loginUser(@QueryParam("username") @NotNull String username,@QueryParam("password") @NotNull String password) {
        String result = ""; // Replace with correct business logic.
        return result;
    }

    @GET
    @Path("/logout")
    public void logoutUser() {
    }

    @PUT
    @Path("/{username}")
    @Consumes({ "application/json" })
    public void updateUser(@PathParam("username") String username,@Valid @NotNull User user) {
    }
}
