chore: update
This commit is contained in:
@@ -4,6 +4,7 @@ import com.drinkool.Url;
|
||||
import com.drinkool.lib.dtos.Login;
|
||||
import com.drinkool.services.CustomerService;
|
||||
import com.drinkool.services.ManagerService;
|
||||
import com.drinkool.services.StaffService;
|
||||
import io.smallrye.mutiny.Uni;
|
||||
import jakarta.inject.Inject;
|
||||
import jakarta.ws.rs.POST;
|
||||
@@ -22,14 +23,23 @@ public class MainController extends BaseController {
|
||||
@RestClient
|
||||
CustomerService customerService;
|
||||
|
||||
@Inject
|
||||
@RestClient
|
||||
StaffService staffService;
|
||||
|
||||
@POST
|
||||
@Path(Url.Login)
|
||||
public Uni<Response> proxyLogin(Login input) {
|
||||
return managerService
|
||||
.login(input)
|
||||
.onFailure()
|
||||
.recoverWithUni(() -> {
|
||||
return staffService
|
||||
.login(input)
|
||||
.onFailure()
|
||||
.recoverWithUni(() -> {
|
||||
return customerService.login(input);
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
package com.drinkool.controller;
|
||||
|
||||
import com.drinkool.InternalValue;
|
||||
import com.drinkool.Role;
|
||||
import com.drinkool.Url;
|
||||
import com.drinkool.lib.dtos.Signup;
|
||||
import com.drinkool.services.StaffService;
|
||||
import io.smallrye.mutiny.Uni;
|
||||
import jakarta.inject.Inject;
|
||||
import jakarta.ws.rs.HeaderParam;
|
||||
import jakarta.ws.rs.POST;
|
||||
import jakarta.ws.rs.Path;
|
||||
import jakarta.ws.rs.core.Response;
|
||||
import java.util.UUID;
|
||||
import org.eclipse.microprofile.rest.client.inject.RestClient;
|
||||
|
||||
@Path("/api/" + Role.Staff)
|
||||
public class StaffController {
|
||||
|
||||
@Inject
|
||||
@RestClient
|
||||
StaffService staffService;
|
||||
|
||||
@POST
|
||||
@Path(Url.Signup)
|
||||
public Uni<Response> signup(
|
||||
Signup input,
|
||||
@HeaderParam(InternalValue.userId) UUID userId,
|
||||
@HeaderParam(InternalValue.role) String role
|
||||
) {
|
||||
return staffService.signup(input, userId, role);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
package com.drinkool.services;
|
||||
|
||||
import com.drinkool.InternalValue;
|
||||
import com.drinkool.Role;
|
||||
import com.drinkool.Url;
|
||||
import com.drinkool.lib.dtos.*;
|
||||
import io.smallrye.mutiny.Uni;
|
||||
import jakarta.ws.rs.*;
|
||||
import jakarta.ws.rs.core.Response;
|
||||
import java.util.*;
|
||||
import org.eclipse.microprofile.rest.client.inject.RegisterRestClient;
|
||||
|
||||
@RegisterRestClient(configKey = "account")
|
||||
@Path(Role.Staff)
|
||||
public interface StaffService {
|
||||
@POST
|
||||
@Path(Url.Signup)
|
||||
Uni<Response> signup(
|
||||
Signup input,
|
||||
@HeaderParam(InternalValue.userId) UUID userId,
|
||||
@HeaderParam(InternalValue.role) String role
|
||||
);
|
||||
|
||||
@POST
|
||||
@Path(Url.Login)
|
||||
Uni<Response> login(Login input);
|
||||
|
||||
@GET
|
||||
@Path(Url.Me)
|
||||
Uni<Response> me(@HeaderParam(InternalValue.userId) UUID id);
|
||||
}
|
||||
Reference in New Issue
Block a user