Implement Artist Management with CRUD Operations

- Add `Artist` entity with JPA annotations and database mapping.
- Create repository, service, and delegate handlers for Artist CRUD operations.
- Register handlers (`artist.create`, `artist.getAll`, `artist.getById`, `artist.update`, `artist.delete`) in `DelegateActionManager`.
- Introduce Protobuf definitions for Artist messages.
- Update `initializeServices` in `DelegateActionManager` for Artist service support.
- Add null-safe ID handling in `ArtistMapper` to prevent potential NPEs.
This commit is contained in:
Gustavo Henrique Santos Souza de Miranda
2025-11-30 12:46:50 -03:00
parent fecb0288d3
commit 0a61f1f2fa
11 changed files with 574 additions and 0 deletions
+53
View File
@@ -0,0 +1,53 @@
syntax = "proto3";
option java_package = "com.mediamanager.protocol.messages";
option java_outer_classname = "ArtistMessages";
package mediamanager.messages;
message Artist {
int32 id = 1;
string name = 2;
}
message CreateArtistRequest {
string name = 1;
}
message CreateArtistResponse {
Artist artist = 1;
}
message GetArtistsRequest {
}
message GetArtistsResponse {
repeated Artist artists = 1;
}
message GetArtistByIdRequest {
int32 id = 1;
}
message GetArtistByIdResponse {
Artist artist = 1;
}
message UpdateArtistRequest {
int32 id = 1;
string name = 2; // Novo nome
}
message UpdateArtistResponse {
Artist Artist = 1; // Genre atualizado
}
message DeleteArtistRequest {
int32 id = 1;
}
message DeleteArtistResponse {
bool success = 1;
string message = 2;
}