Tutorial working
This commit is contained in:
@@ -0,0 +1,62 @@
|
|||||||
|
package com.mattrixwv.raidbuilder.controller;
|
||||||
|
|
||||||
|
|
||||||
|
import org.springframework.security.core.Authentication;
|
||||||
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
|
import org.springframework.web.bind.annotation.PutMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
|
import com.fasterxml.jackson.databind.node.ObjectNode;
|
||||||
|
import com.mattrixwv.raidbuilder.annotation.AccountAuthorization;
|
||||||
|
import com.mattrixwv.raidbuilder.entity.Account;
|
||||||
|
import com.mattrixwv.raidbuilder.entity.AccountTutorialStatus;
|
||||||
|
import com.mattrixwv.raidbuilder.service.AccountService;
|
||||||
|
import com.mattrixwv.raidbuilder.service.AccountTutorialStatusService;
|
||||||
|
import com.mattrixwv.raidbuilder.util.DatabaseTypeUtil.AccountPermissionType;
|
||||||
|
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@Slf4j
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/account/tutorial")
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
public class AccountTutorialController{
|
||||||
|
private final ObjectMapper mapper;
|
||||||
|
private final AccountService accountService;
|
||||||
|
private final AccountTutorialStatusService tutorialService;
|
||||||
|
|
||||||
|
|
||||||
|
@GetMapping
|
||||||
|
@AccountAuthorization(permissions = {AccountPermissionType.ADMIN, AccountPermissionType.USER})
|
||||||
|
public AccountTutorialStatus getTutorialStatus(Authentication authentication){
|
||||||
|
log.info("Getting tutorial status for account {}", authentication.getName());
|
||||||
|
|
||||||
|
|
||||||
|
Account account = accountService.getByUsername(authentication.getName());
|
||||||
|
return tutorialService.getByAccountId(account.getAccountId());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@PutMapping
|
||||||
|
@AccountAuthorization(permissions = {AccountPermissionType.ADMIN, AccountPermissionType.USER})
|
||||||
|
public ObjectNode updateTutorialStatus(@RequestBody AccountTutorialStatus tutorialStatus, Authentication authentication){
|
||||||
|
log.info("Updating tutorial status for account {} to {}", authentication.getName(), tutorialStatus);
|
||||||
|
|
||||||
|
|
||||||
|
Account account = accountService.getByUsername(authentication.getName());
|
||||||
|
tutorialStatus.setAccountId(account.getAccountId());
|
||||||
|
tutorialService.updateAccountTutorialStatus(tutorialStatus);
|
||||||
|
|
||||||
|
ObjectNode returnNode = mapper.createObjectNode();
|
||||||
|
returnNode.put("status", "success");
|
||||||
|
|
||||||
|
|
||||||
|
return returnNode;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -70,13 +70,12 @@ public class AuthenticationController{
|
|||||||
log.info("Refreshing token");
|
log.info("Refreshing token");
|
||||||
|
|
||||||
|
|
||||||
Thread.sleep(2000);
|
|
||||||
UUID refreshToken = null;
|
UUID refreshToken = null;
|
||||||
if(request.getCookies() != null){
|
if(request.getCookies() != null){
|
||||||
for(Cookie cookie : request.getCookies()){
|
for(Cookie cookie : request.getCookies()){
|
||||||
if(cookie.getName().equals("refreshToken")){
|
if(cookie.getName().equals("refreshToken")){
|
||||||
log.debug("refreshToken = {}", refreshToken);
|
|
||||||
refreshToken = UUID.fromString(cookie.getValue());
|
refreshToken = UUID.fromString(cookie.getValue());
|
||||||
|
log.debug("refreshToken = {}", refreshToken);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,4 +10,7 @@ import com.mattrixwv.raidbuilder.entity.AccountTutorialStatus;
|
|||||||
|
|
||||||
public interface AccountTutorialStatusRepository extends AccountTutorialStatusCustomRepository, JpaRepository<AccountTutorialStatus, UUID>{
|
public interface AccountTutorialStatusRepository extends AccountTutorialStatusCustomRepository, JpaRepository<AccountTutorialStatus, UUID>{
|
||||||
public void deleteAllByAccountId(UUID accountId);
|
public void deleteAllByAccountId(UUID accountId);
|
||||||
|
|
||||||
|
|
||||||
|
public AccountTutorialStatus findByAccountId(UUID accountId);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,7 +24,17 @@ public class AccountTutorialStatusService{
|
|||||||
return accountTutorialStatusRepository.save(accountTutorialStatus);
|
return accountTutorialStatusRepository.save(accountTutorialStatus);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public AccountTutorialStatus updateAccountTutorialStatus(AccountTutorialStatus accountTutorialStatus){
|
||||||
|
return accountTutorialStatusRepository.save(accountTutorialStatus);
|
||||||
|
}
|
||||||
|
|
||||||
public void deleteByAccountId(UUID accountId){
|
public void deleteByAccountId(UUID accountId){
|
||||||
accountTutorialStatusRepository.deleteAllByAccountId(accountId);
|
accountTutorialStatusRepository.deleteAllByAccountId(accountId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//Read
|
||||||
|
public AccountTutorialStatus getByAccountId(UUID accountId){
|
||||||
|
return accountTutorialStatusRepository.findByAccountId(accountId);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user