Move to package com.backend.unifier.title (remove service suffix), add list endpoint
This commit is contained in:
4
pom.xml
4
pom.xml
@@ -90,6 +90,10 @@
|
||||
<groupId>io.quarkus</groupId>
|
||||
<artifactId>quarkus-smallrye-health</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.quarkus</groupId>
|
||||
<artifactId>quarkus-redis-client</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.quarkus</groupId>
|
||||
<artifactId>quarkus-junit</artifactId>
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
package com.backend.unifier.title.service.api;
|
||||
package com.backend.unifier.title.api;
|
||||
|
||||
import org.eclipse.microprofile.rest.client.inject.RegisterRestClient;
|
||||
|
||||
import com.backend.metadata.kodik.service.api.model.KodikResponse;
|
||||
import com.backend.metadata.kodik.api.model.KodikResponse;
|
||||
|
||||
import io.smallrye.mutiny.Uni;
|
||||
import jakarta.ws.rs.GET;
|
||||
@@ -13,6 +13,10 @@ import jakarta.ws.rs.QueryParam;
|
||||
@Path("/kodik")
|
||||
@RegisterRestClient(baseUri = "stork://kodik-metadata-service")
|
||||
public interface KodikSearchService {
|
||||
@GET
|
||||
@Path("/list")
|
||||
KodikResponse list();
|
||||
|
||||
@GET
|
||||
@Path("/search")
|
||||
KodikResponse search(@QueryParam("title") String title);
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.backend.unifier.title.service.api;
|
||||
package com.backend.unifier.title.api;
|
||||
|
||||
import org.eclipse.microprofile.rest.client.inject.RegisterRestClient;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.backend.unifier.title.service.health;
|
||||
package com.backend.unifier.title.health;
|
||||
|
||||
import java.time.Instant;
|
||||
|
||||
@@ -8,8 +8,8 @@ import org.eclipse.microprofile.health.HealthCheckResponseBuilder;
|
||||
import org.eclipse.microprofile.health.Readiness;
|
||||
import org.eclipse.microprofile.rest.client.inject.RestClient;
|
||||
|
||||
import com.backend.metadata.kodik.service.api.model.KodikResponse;
|
||||
import com.backend.unifier.title.service.api.KodikSearchService;
|
||||
import com.backend.metadata.kodik.api.model.KodikResponse;
|
||||
import com.backend.unifier.title.api.KodikSearchService;
|
||||
|
||||
import jakarta.enterprise.context.ApplicationScoped;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.backend.unifier.title.service.mapper;
|
||||
package com.backend.unifier.title.mapper;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
@@ -9,10 +9,10 @@ import org.mapstruct.Mapper;
|
||||
import org.mapstruct.Mapping;
|
||||
import org.mapstruct.Named;
|
||||
|
||||
import com.backend.metadata.kodik.service.api.model.KodikResponse;
|
||||
import com.backend.metadata.kodik.service.api.model.MaterialData;
|
||||
import com.backend.unifier.title.service.model.SearchEntryDTO;
|
||||
import com.backend.unifier.title.service.model.SearchResponseDTO;
|
||||
import com.backend.metadata.kodik.api.model.KodikResponse;
|
||||
import com.backend.metadata.kodik.api.model.MaterialData;
|
||||
import com.backend.unifier.title.model.SearchEntryDTO;
|
||||
import com.backend.unifier.title.model.SearchResponseDTO;
|
||||
|
||||
@Mapper
|
||||
public interface KodikResponseMapper {
|
||||
@@ -0,0 +1,4 @@
|
||||
package com.backend.unifier.title.model;
|
||||
|
||||
public record ContentIdentifier(String source, String id) {
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
package com.backend.unifier.title.model;
|
||||
|
||||
public record DetailEntryDTO() {
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
package com.backend.unifier.title.model;
|
||||
|
||||
public class IdentifierPointer {
|
||||
private String key;
|
||||
private ContentIdentifier identifier;
|
||||
|
||||
public IdentifierPointer(String key, ContentIdentifier identifier) {
|
||||
this.key = key;
|
||||
this.identifier = identifier;
|
||||
}
|
||||
|
||||
IdentifierPointer() {
|
||||
}
|
||||
|
||||
public String getKey() {
|
||||
return key;
|
||||
}
|
||||
|
||||
public ContentIdentifier getIdentifier() {
|
||||
return identifier;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.backend.unifier.title.service.model;
|
||||
package com.backend.unifier.title.model;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.backend.unifier.title.service.model;
|
||||
package com.backend.unifier.title.model;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
package com.backend.unifier.title.resource;
|
||||
|
||||
import com.backend.unifier.title.model.DetailEntryDTO;
|
||||
|
||||
import jakarta.ws.rs.GET;
|
||||
import jakarta.ws.rs.Path;
|
||||
|
||||
@Path("/")
|
||||
public class DetailResource {
|
||||
@GET
|
||||
@Path("/detail")
|
||||
public DetailEntryDTO detail(String id) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -1,10 +1,10 @@
|
||||
package com.backend.unifier.title.service.resource;
|
||||
package com.backend.unifier.title.resource;
|
||||
|
||||
import org.eclipse.microprofile.rest.client.inject.RestClient;
|
||||
|
||||
import com.backend.unifier.title.service.api.KodikSearchService;
|
||||
import com.backend.unifier.title.service.model.SearchResponseDTO;
|
||||
import com.backend.unifier.title.service.service.KodikResponseConvertService;
|
||||
import com.backend.unifier.title.api.KodikSearchService;
|
||||
import com.backend.unifier.title.model.SearchResponseDTO;
|
||||
import com.backend.unifier.title.service.KodikResponseConvertService;
|
||||
|
||||
import io.smallrye.mutiny.Uni;
|
||||
import jakarta.ws.rs.GET;
|
||||
@@ -37,4 +37,11 @@ public class SearchResource {
|
||||
return kodikConvertService.convert(result);
|
||||
}
|
||||
|
||||
@GET
|
||||
@Path("/list")
|
||||
public SearchResponseDTO list() {
|
||||
var result = kodikSearchService.list();
|
||||
return kodikConvertService.convert(result);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
package com.backend.unifier.title.service;
|
||||
|
||||
import jakarta.enterprise.context.ApplicationScoped;
|
||||
|
||||
@ApplicationScoped
|
||||
public class IdentifierPointerService {
|
||||
|
||||
}
|
||||
@@ -1,13 +1,13 @@
|
||||
package com.backend.unifier.title.service.service;
|
||||
package com.backend.unifier.title.service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.mapstruct.factory.Mappers;
|
||||
|
||||
import com.backend.metadata.kodik.service.api.model.KodikResponse;
|
||||
import com.backend.unifier.title.service.mapper.KodikResponseMapper;
|
||||
import com.backend.unifier.title.service.model.SearchEntryDTO;
|
||||
import com.backend.unifier.title.service.model.SearchResponseDTO;
|
||||
import com.backend.metadata.kodik.api.model.KodikResponse;
|
||||
import com.backend.unifier.title.mapper.KodikResponseMapper;
|
||||
import com.backend.unifier.title.model.SearchEntryDTO;
|
||||
import com.backend.unifier.title.model.SearchResponseDTO;
|
||||
|
||||
import io.smallrye.mutiny.Uni;
|
||||
import jakarta.enterprise.context.ApplicationScoped;
|
||||
@@ -39,6 +39,10 @@ public class KodikResponseConvertService {
|
||||
.map(this::resolveEntryPosters)
|
||||
.toList();
|
||||
|
||||
if (entries.isEmpty()) {
|
||||
return Uni.createFrom().item(new SearchResponseDTO(List.of()));
|
||||
}
|
||||
|
||||
return Uni.combine().all().unis(entries)
|
||||
.with(list -> new SearchResponseDTO((List<SearchEntryDTO>) list));
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.backend.unifier.title.service.service;
|
||||
package com.backend.unifier.title.service;
|
||||
|
||||
import jakarta.enterprise.context.ApplicationScoped;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.backend.unifier.title.service.service;
|
||||
package com.backend.unifier.title.service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
Reference in New Issue
Block a user