67 lines
1.8 KiB
Protocol Buffer
67 lines
1.8 KiB
Protocol Buffer
syntax = "proto3";
|
|
|
|
package qsfera.services.thumbnails.v0;
|
|
|
|
option go_package = "github.com/qsfera/server/protogen/gen/qsfera/services/thumbnails/v0";
|
|
|
|
import "qsfera/messages/thumbnails/v0/thumbnails.proto";
|
|
import "protoc-gen-openapiv2/options/annotations.proto";
|
|
|
|
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_swagger) = {
|
|
info: {
|
|
title: "КуСфера thumbnails";
|
|
version: "1.0.0";
|
|
contact: {
|
|
name: "КуСфера";
|
|
url: "";
|
|
email: "";
|
|
};
|
|
license: {
|
|
name: "Apache-2.0";
|
|
url: "";
|
|
};
|
|
};
|
|
schemes: HTTP;
|
|
schemes: HTTPS;
|
|
consumes: "application/json";
|
|
produces: "application/json";
|
|
external_docs: {
|
|
description: "Developer Manual";
|
|
url: "";
|
|
};
|
|
};
|
|
|
|
// A Service for handling thumbnail generation
|
|
service ThumbnailService {
|
|
// Generates the thumbnail and returns it.
|
|
rpc GetThumbnail(GetThumbnailRequest) returns (GetThumbnailResponse);
|
|
}
|
|
|
|
// A request to retrieve a thumbnail
|
|
message GetThumbnailRequest {
|
|
// The path to the source image
|
|
string filepath = 1;
|
|
// The type to which the thumbnail should get encoded to.
|
|
qsfera.messages.thumbnails.v0.ThumbnailType thumbnail_type = 2;
|
|
// The width of the thumbnail
|
|
int32 width = 3;
|
|
// The height of the thumbnail
|
|
int32 height = 4;
|
|
// Indicates which image processor to use
|
|
string processor = 5;
|
|
oneof source {
|
|
qsfera.messages.thumbnails.v0.WebdavSource webdav_source = 6;
|
|
qsfera.messages.thumbnails.v0.CS3Source cs3_source = 7;
|
|
}
|
|
}
|
|
|
|
// The service response
|
|
message GetThumbnailResponse {
|
|
// The endpoint where the thumbnail can be downloaded.
|
|
string data_endpoint = 1;
|
|
// The transfer token to be able to download the thumbnail.
|
|
string transfer_token = 2;
|
|
// The mimetype of the thumbnail
|
|
string mimetype = 3;
|
|
}
|