1.5.1原版

This commit is contained in:
anian
2026-03-09 21:13:30 +08:00
commit 65174cb3df
55 changed files with 10364 additions and 0 deletions
@@ -0,0 +1,59 @@
package run.halo.photos;
import static org.springdoc.core.fn.builders.apiresponse.Builder.responseBuilder;
import static org.springdoc.webflux.core.fn.SpringdocRouteBuilder.route;
import lombok.AllArgsConstructor;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Component;
import org.springframework.web.reactive.function.server.RouterFunction;
import org.springframework.web.reactive.function.server.ServerRequest;
import org.springframework.web.reactive.function.server.ServerResponse;
import reactor.core.publisher.Mono;
import run.halo.app.core.extension.endpoint.CustomEndpoint;
import run.halo.app.extension.GroupVersion;
import run.halo.app.extension.ListResult;
import run.halo.photos.service.PhotoService;
/**
* A custom endpoint for {@link Photo}.
*
* @author LIlGG
* @since 1.0.0
*/
@Component
@RequiredArgsConstructor
public class PhotoEndpoint implements CustomEndpoint {
private final PhotoService photoService;
@Override
public RouterFunction<ServerResponse> endpoint() {
final var tag = "console.api.photo.halo.run/v1alpha1/Photo";
return route()
.GET("photos", this::listPhoto,
builder -> {
builder.operationId("ListPhotos")
.description("List photos.")
.tag(tag)
.response(responseBuilder().implementation(
ListResult.generateGenericClass(Photo.class)));
PhotoQuery.buildParameters(builder);
}
)
.build();
}
@Override
public GroupVersion groupVersion() {
return GroupVersion.parseAPIVersion("console.api.photo.halo.run/v1alpha1");
}
private Mono<ServerResponse> listPhoto(ServerRequest serverRequest) {
PhotoQuery query = new PhotoQuery(serverRequest.exchange());
return photoService.listPhoto(query)
.flatMap(photos -> ServerResponse.ok().bodyValue(photos));
}
}