starting request service
Signed-off-by: Peter Siegmund <developer@mars3142.org>
This commit is contained in:
@@ -0,0 +1,4 @@
|
||||
package dev.mars3142.fhq.account;
|
||||
|
||||
public interface AccountService{
|
||||
}
|
@@ -0,0 +1,17 @@
|
||||
package dev.mars3142.fhq.account.repositories;
|
||||
|
||||
import dev.mars3142.fhq.account.repositories.impl.responses.LoginResponse;
|
||||
import dev.mars3142.fhq.account.repositories.impl.responses.AccountDeleteResponse;
|
||||
import dev.mars3142.fhq.account.repositories.impl.responses.AccountRegisterResponse;
|
||||
import dev.mars3142.fhq.account.repositories.impl.responses.RefreshTokenResponse;
|
||||
|
||||
public interface AccountRepository {
|
||||
|
||||
AccountRegisterResponse register(String username, String email, String password);
|
||||
|
||||
LoginResponse login(String username, String password);
|
||||
|
||||
RefreshTokenResponse refreshToken(String token);
|
||||
|
||||
AccountDeleteResponse delete(String token);
|
||||
}
|
@@ -0,0 +1,68 @@
|
||||
package dev.mars3142.fhq.account.repositories.impl;
|
||||
|
||||
import dev.mars3142.fhq.account.repositories.impl.responses.AccountRegisterResponse;
|
||||
import dev.mars3142.fhq.account.repositories.impl.responses.LoginResponse;
|
||||
import dev.mars3142.fhq.account.repositories.AccountRepository;
|
||||
import dev.mars3142.fhq.account.repositories.impl.requests.AccountDeleteRequest;
|
||||
import dev.mars3142.fhq.account.repositories.impl.requests.LoginRequest;
|
||||
import dev.mars3142.fhq.account.repositories.impl.requests.RefreshTokenRequest;
|
||||
import dev.mars3142.fhq.account.repositories.impl.responses.AccountDeleteResponse;
|
||||
import dev.mars3142.fhq.account.repositories.impl.responses.RefreshTokenResponse;
|
||||
import dev.mars3142.fhq.account.repositories.impl.requests.AccountRegisterRequest;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import lombok.val;
|
||||
import org.springframework.stereotype.Repository;
|
||||
import org.springframework.web.client.RestClient;
|
||||
|
||||
@Repository
|
||||
@RequiredArgsConstructor
|
||||
@Slf4j
|
||||
public class AccountRepositoryImpl implements AccountRepository {
|
||||
|
||||
private final RestClient client;
|
||||
|
||||
@Override
|
||||
public AccountRegisterResponse register(String username, String email, String password) {
|
||||
val request = new AccountRegisterRequest(username, email, password);
|
||||
return client
|
||||
.post()
|
||||
.uri("/v1/account/register")
|
||||
.body(request)
|
||||
.retrieve()
|
||||
.body(AccountRegisterResponse.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public LoginResponse login(String email, String password) {
|
||||
val request = new LoginRequest(email, password);
|
||||
return client
|
||||
.post()
|
||||
.uri("/v1/account/login")
|
||||
.body(request)
|
||||
.retrieve()
|
||||
.body(LoginResponse.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public RefreshTokenResponse refreshToken(String token) {
|
||||
val request = new RefreshTokenRequest(token);
|
||||
return client
|
||||
.post()
|
||||
.uri("/v1/account/refresh")
|
||||
.body(request)
|
||||
.retrieve()
|
||||
.body(RefreshTokenResponse.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public AccountDeleteResponse delete(String token) {
|
||||
val request = new AccountDeleteRequest(token);
|
||||
return client
|
||||
.post()
|
||||
.uri("/v1/account/delete")
|
||||
.body(request)
|
||||
.retrieve()
|
||||
.body(AccountDeleteResponse.class);
|
||||
}
|
||||
}
|
@@ -0,0 +1,4 @@
|
||||
package dev.mars3142.fhq.account.repositories.impl.requests;
|
||||
|
||||
public record AccountDeleteRequest(String token) {
|
||||
}
|
@@ -0,0 +1,4 @@
|
||||
package dev.mars3142.fhq.account.repositories.impl.requests;
|
||||
|
||||
public record AccountRegisterRequest(String username, String email, String password) {
|
||||
}
|
@@ -0,0 +1,4 @@
|
||||
package dev.mars3142.fhq.account.repositories.impl.requests;
|
||||
|
||||
public record LoginRequest(String email, String password) {
|
||||
}
|
@@ -0,0 +1,4 @@
|
||||
package dev.mars3142.fhq.account.repositories.impl.requests;
|
||||
|
||||
public record RefreshTokenRequest(String token) {
|
||||
}
|
@@ -0,0 +1,4 @@
|
||||
package dev.mars3142.fhq.account.repositories.impl.responses;
|
||||
|
||||
public record AccountDeleteResponse() {
|
||||
}
|
@@ -0,0 +1,4 @@
|
||||
package dev.mars3142.fhq.account.repositories.impl.responses;
|
||||
|
||||
public record AccountRegisterResponse() {
|
||||
}
|
@@ -0,0 +1,4 @@
|
||||
package dev.mars3142.fhq.account.repositories.impl.responses;
|
||||
|
||||
public record LoginResponse() {
|
||||
}
|
@@ -0,0 +1,4 @@
|
||||
package dev.mars3142.fhq.account.repositories.impl.responses;
|
||||
|
||||
public record RefreshTokenResponse() {
|
||||
}
|
@@ -0,0 +1,14 @@
|
||||
package dev.mars3142.fhq.account.services;
|
||||
|
||||
import dev.mars3142.fhq.account.repositories.AccountRepository;
|
||||
import dev.mars3142.fhq.account.AccountService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class AccountServiceImpl implements AccountService {
|
||||
|
||||
private final AccountRepository repository;
|
||||
|
||||
}
|
Reference in New Issue
Block a user