package org.keycloak.admin.client.resource;

import org.keycloak.representations.idm.UserRepresentation;

import javax.ws.rs.Consumes;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import java.util.List;

public interface UsersResource {

    @GET
    @Produces(MediaType.APPLICATION_JSON)
    public List<UserRepresentation> search(@QueryParam("username") String username,
                                           @QueryParam("firstName") String firstName,
                                           @QueryParam("lastName") String lastName,
                                           @QueryParam("email") String email,
                                           @QueryParam("first") Integer firstResult,
                                           @QueryParam("max") Integer maxResults);

    @GET
    @Produces(MediaType.APPLICATION_JSON)
    public List<UserRepresentation> search(@QueryParam("search") String search,
                                           @QueryParam("first") Integer firstResult,
                                           @QueryParam("max") Integer maxResults);

    @POST
    @Consumes(MediaType.APPLICATION_JSON)
    Response create(UserRepresentation userRepresentation);

    @Path("{username}")
    public UserResource get(@PathParam("username") String username);

}

@@ -466,39 +466,32 @@
 ATION_JSON)%0A    
-public 
 List%3CUserReprese
@@ -1019,23 +1019,16 @@
 ON)%0A    
-public 
 List%3CUse
@@ -1386,30 +1386,17 @@
 h(%22%7B
-username%7D%22)%0A    public
+id%7D%22)%0A   
  Use
@@ -1417,32 +1417,26 @@
 @PathParam(%22
-username
+id
 %22) String us
@@ -1433,22 +1433,16 @@
  String 
-username
+id
 );%0A%0A%7D%0A

Fix admin-api to show that users are retrieved by ip, not username