Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 11 additions & 7 deletions .github/workflows/sonarCloud.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: SonarCloud
name: SonarCloud CI

on:
push:
Expand All @@ -10,12 +10,14 @@ on:

jobs:
build:
name: SonarCloud Analysis
name: Build, Test and SonarCloud Analysis
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Set up JDK
uses: actions/setup-java@v4
Expand All @@ -33,17 +35,19 @@ jobs:
- name: Cache Maven packages
uses: actions/cache@v4
with:
path: |
~/.m2/repository
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: ${{ runner.os }}-maven

- name: Start Docker Compose
run: docker compose up -d

- name: SonarCloud Scan
- name: Build and SonarCloud Analysis
env:
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
run: |
mvn verify sonar:sonar -Dspring.profiles.active=dev \
mvn clean verify sonar:sonar \
-Dspring.profiles.active=dev \
-Dsonar.projectKey=felipemelozx_TrackMoney \
-Dsonar.organization=felipemelozx-trackmoney \
-Dsonar.host.url=https://sonarcloud.io \
Expand All @@ -53,4 +57,4 @@ jobs:

- name: Stop Docker Compose
if: always()
run: docker compose down
run: docker compose down
Original file line number Diff line number Diff line change
Expand Up @@ -35,38 +35,58 @@ public AccountController(AccountService accountService, AuthUtils authUtils) {
@PostMapping
public ResponseEntity<ApiResponse<AccountResponseDTO>> createAccount(@RequestBody AccountRequestDTO dto) {
AccountResponseDTO createdAccount = accountService.createAccount(dto);
return new ResponseEntity<>(new ApiResponse<>(
true, "Account successfully created.", createdAccount, null), HttpStatus.CREATED);
return ResponseEntity.status(HttpStatus.CREATED).body(
ApiResponse.<AccountResponseDTO>success()
.message("Account successfully created.")
.data(createdAccount)
.build()
);
}


@GetMapping
public ResponseEntity<ApiResponse<List<AccountResponseDTO>>> findAllAccounts() {
UUID email = authUtils.getCurrentUser().getUserId();
List<AccountResponseDTO> accounts = accountService.findAllAccount(email);
return ResponseEntity.ok(new ApiResponse<>(
true, "Account list retrieved successfully.", accounts, null));
return ResponseEntity.ok(
ApiResponse.<List<AccountResponseDTO>>success()
.message("Account list retrieved successfully.")
.data(accounts)
.build()
);
}


@GetMapping("/{id}")
public ResponseEntity<ApiResponse<AccountResponseDTO>> findAccountById(@PathVariable Integer id) {
AccountResponseDTO account = accountService.findAccountById(id);
return ResponseEntity.ok(new ApiResponse<>(
true, "Account retrieved successfully.", account, null));
return ResponseEntity.ok(
ApiResponse.<AccountResponseDTO>success()
.message("Account retrieved successfully.")
.data(account)
.build()
);
}

@PutMapping("/{id}")
public ResponseEntity<ApiResponse<AccountResponseDTO>> updateAccountById(@PathVariable Integer id,
@RequestBody AccountUpdateRequestDTO dto) {
AccountResponseDTO updatedAccount = accountService.updateAccountById(id, dto);
return ResponseEntity.ok(new ApiResponse<>(
true, "Account updated successfully.", updatedAccount, null));
return ResponseEntity.ok(
ApiResponse.<AccountResponseDTO>success()
.message("Account updated successfully.")
.data(updatedAccount)
.build()
);
}

@DeleteMapping("/{id}")
public ResponseEntity<Void> deleteAccountById(@PathVariable Integer id) {
public ResponseEntity<ApiResponse<Void>> deleteAccountById(@PathVariable Integer id) {
accountService.deleteById(id);
return ResponseEntity.noContent().build();
return ResponseEntity.ok(
ApiResponse.<Void>success()
.message("Account deleted successfully.")
.build()
);
}
}
50 changes: 14 additions & 36 deletions src/main/java/fun/trackmoney/auth/controller/AuthController.java
Original file line number Diff line number Diff line change
Expand Up @@ -14,66 +14,44 @@
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
* Controller class to handle authentication-related requests.
* Provides endpoints for user registration.
*/

@RestController
@RequestMapping("auth")
public class AuthController {

private final AuthService authService;

/**
* Constructor to initialize the AuthController with an AuthService instance.
*
* @param authService The service used for handling authentication operations.
*/
public AuthController(AuthService authService) {
this.authService = authService;
}

/**
* Endpoint to register a new user.
*
* @param userDto The user data transfer object containing the user's registration information.
* @return A ResponseEntity containing an ApiResponse
* with the result of the registration operation.
*/
@PostMapping("/register")
public ResponseEntity<ApiResponse<UserResponseDTO>> register(
@RequestBody @Valid UserRequestDTO userDto) {
public ResponseEntity<ApiResponse<UserResponseDTO>> register(@RequestBody @Valid UserRequestDTO userDto) {
return ResponseEntity.ok().body(
new ApiResponse<>(
true,
"User register!",
authService.register(userDto),
null
)
ApiResponse.<UserResponseDTO>success()
.data(authService.register(userDto))
.message("User register with success")
.build()
);
}

@PostMapping("/login")
public ResponseEntity<ApiResponse<LoginResponseDTO>> login(@RequestBody LoginRequestDTO loginDto) {
return ResponseEntity.ok().body(
new ApiResponse<>(
true,
"Login successful!",
authService.login(loginDto),
null
)
ApiResponse.<LoginResponseDTO>success()
.message("Login successful")
.data(authService.login(loginDto))
.build()
);
}

@GetMapping("/verify")
public ResponseEntity<ApiResponse<Boolean>> verify() {
return ResponseEntity.ok().body(
new ApiResponse<>(
true,
"Token is valid!",
true,
null
)
ApiResponse.<Boolean>success()
.message("Token is valid!")
.data(true)
.build()
);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -30,34 +30,53 @@ public BudgetsController(BudgetsService budgetsService) {
@PostMapping
public ResponseEntity<ApiResponse<BudgetResponseDTO>> create(@RequestBody BudgetCreateDTO dto) {
return ResponseEntity.status(HttpStatus.CREATED).body(
new ApiResponse<>(true, "Budget created", budgetsService.create(dto), null));
ApiResponse.<BudgetResponseDTO>success()
.message("Budget created")
.data(budgetsService.create(dto))
.build()
);
}

@GetMapping("/findAll/{accountId}")
public ResponseEntity<ApiResponse<List<BudgetResponseDTO>>> findAllByAccountId(@PathVariable Integer accountId) {
var list = budgetsService.findAllByAccountId(accountId);
return ResponseEntity.status(HttpStatus.OK).body(
new ApiResponse<>(true, "Get all Budget",list , null));
ApiResponse.<List<BudgetResponseDTO>>success()
.message("Get all Budget")
.data(list)
.build()
);
}

@GetMapping("/{id}")
public ResponseEntity<ApiResponse<BudgetResponseDTO>> findById(@PathVariable Integer id) {
return ResponseEntity.status(HttpStatus.OK).body(
new ApiResponse<>(true, "Get Budget by Id", budgetsService.findById(id), null));
ApiResponse.<BudgetResponseDTO>success()
.message("Get Budget by id")
.data(budgetsService.findById(id))
.build()
);
}

@DeleteMapping("/{id}")
public ResponseEntity<ApiResponse<String>> deleteById(@PathVariable Integer id) {
public ResponseEntity<ApiResponse<Void>> deleteById(@PathVariable Integer id) {
budgetsService.findById(id);
return ResponseEntity.status(HttpStatus.OK).body(
new ApiResponse<>(true, "Delete Budget by id", "Budget deleted", null));
ApiResponse.<Void>success()
.message("Delete Budget by id")
.build()
);
}

@PutMapping("/{id}")
public ResponseEntity<ApiResponse<BudgetResponseDTO>> updateById(@PathVariable Integer id,
@RequestBody BudgetCreateDTO dto) {
return ResponseEntity.status(HttpStatus.OK).body(
new ApiResponse<>(true, "Update Budget", budgetsService.update(dto,id), null));
ApiResponse.<BudgetResponseDTO>success()
.message("Update budget")
.data(budgetsService.update(dto, id))
.build()
);
}
}

Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,21 @@ public CategoryController(CategoryService categoryService) {

@GetMapping("/findAll")
public ResponseEntity<ApiResponse<List<CategoryEntity>>> findAll() {
return ResponseEntity.ok().body(new ApiResponse<>(true, "Category", categoryService.findAll(), null));
return ResponseEntity.ok().body(
ApiResponse.<List<CategoryEntity>>success()
.message("Categories")
.data(categoryService.findAll())
.build()
);
}

@GetMapping("/{id}")
public ResponseEntity<ApiResponse<CategoryEntity>> findById(@PathVariable Integer id) {
return ResponseEntity.ok().body(new ApiResponse<>(true, "Category", categoryService.findById(id), null));
return ResponseEntity.ok().body(
ApiResponse.<CategoryEntity>success()
.message("Categories")
.data(categoryService.findById(id))
.build()
);
}
}
Loading