chore: update

This commit is contained in:
TakahashiNg
2026-05-08 03:32:38 +00:00
parent e963b0f850
commit 0984a3020b
3 changed files with 75 additions and 1 deletions
@@ -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,6 +23,10 @@ public class MainController extends BaseController {
@RestClient
CustomerService customerService;
@Inject
@RestClient
StaffService staffService;
@POST
@Path(Url.Login)
public Uni<Response> proxyLogin(Login input) {
@@ -29,7 +34,12 @@ public class MainController extends BaseController {
.login(input)
.onFailure()
.recoverWithUni(() -> {
return customerService.login(input);
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);
}