// Path: website/src/main/java/app/api/user/CurrentUserAJAXResponse.java
// public class CurrentUserAJAXResponse {
//     @NotNull
//     @Property(name = "loggedIn")
//     public Boolean loggedIn;
// 
//     @Property(name = "name")
//     public String name;
// 
//     @Property(name = "role")
//     public String role;
// }
// 
// Path: website/src/main/java/app/api/user/LoginAJAXRequest.java
// public class LoginAJAXRequest {
//     @NotNull
//     @Property(name = "username")
//     public String username;
// 
//     @NotNull
//     @Size(min = 3)
//     @Property(name = "password")
//     public String password;
// }
// 
// Path: website/src/main/java/app/api/user/LoginAJAXResponse.java
// public class LoginAJAXResponse {
//     @NotNull
//     @Property(name = "success")
//     public Boolean success;
// 
//     @Property(name = "name")
//     public String name;
// 
//     @Property(name = "role")
//     public String role;
// 
//     @Property(name = "errorMessage")
//     public String errorMessage;
// }


import app.api.user.CurrentUserAJAXResponse;
import app.api.user.LoginAJAXRequest;
import app.api.user.LoginAJAXResponse;
import core.framework.api.web.service.GET;
import core.framework.api.web.service.PUT;
import core.framework.api.web.service.Path;
package app.api;


public interface AccountAJAXWebService {
    @PUT
    @Path("/ajax/login")
    LoginAJAXResponse login(LoginAJAXRequest request);

    @PUT
    @Path("/ajax/logout")
    void logout();

// Path: website/src/main/java/app/api/user/CurrentUserAJAXResponse.java
// public class CurrentUserAJAXResponse {
//     @NotNull
//     @Property(name = "loggedIn")
//     public Boolean loggedIn;
// 
//     @Property(name = "name")
//     public String name;
// 
//     @Property(name = "role")
//     public String role;
// }
// 
// Path: website/src/main/java/app/api/user/LoginAJAXRequest.java
// public class LoginAJAXRequest {
//     @NotNull
//     @Property(name = "username")
//     public String username;
// 
//     @NotNull
//     @Size(min = 3)
//     @Property(name = "password")
//     public String password;
// }
// 
// Path: website/src/main/java/app/api/user/LoginAJAXResponse.java
// public class LoginAJAXResponse {
//     @NotNull
//     @Property(name = "success")
//     public Boolean success;
// 
//     @Property(name = "name")
//     public String name;
// 
//     @Property(name = "role")
//     public String role;
// 
//     @Property(name = "errorMessage")
//     public String errorMessage;
// }


// Path: website/src/main/java/app/api/AccountAJAXWebService.java
import app.api.user.CurrentUserAJAXResponse;
import app.api.user.LoginAJAXRequest;
import app.api.user.LoginAJAXResponse;
import core.framework.api.web.service.GET;
import core.framework.api.web.service.PUT;
import core.framework.api.web.service.Path;

package app.api;


public interface AccountAJAXWebService {
    @PUT
    @Path("/ajax/login")
    LoginAJAXResponse login(LoginAJAXRequest request);

    @PUT
    @Path("/ajax/logout")
    void logout();

    @GET