91 lines
2.0 KiB
Protocol Buffer
91 lines
2.0 KiB
Protocol Buffer
syntax = "proto3";
|
|
|
|
package qsfera.messages.search.v0;
|
|
|
|
import "google/protobuf/timestamp.proto";
|
|
|
|
option go_package = "github.com/qsfera/server/protogen/gen/qsfera/messages/search/v0";
|
|
|
|
message ResourceID {
|
|
string storage_id = 1;
|
|
string opaque_id = 2;
|
|
string space_id = 3;
|
|
}
|
|
|
|
message Reference {
|
|
ResourceID resource_id = 1;
|
|
string path = 2;
|
|
}
|
|
|
|
message Audio {
|
|
optional string album = 1;
|
|
optional string albumArtist = 2;
|
|
optional string artist = 3;
|
|
optional int64 bitrate = 4;
|
|
optional string composers = 5;
|
|
optional string copyright = 6;
|
|
optional int32 disc = 7;
|
|
optional int32 discCount = 8;
|
|
optional int64 duration = 9;
|
|
optional string genre = 10;
|
|
optional bool hasDrm = 11;
|
|
optional bool isVariableBitrate = 12;
|
|
optional string title = 13;
|
|
optional int32 track = 14;
|
|
optional int32 trackCount = 15;
|
|
optional int32 year = 16;
|
|
}
|
|
|
|
message Image {
|
|
optional int32 width = 1;
|
|
optional int32 height = 2;
|
|
}
|
|
|
|
message GeoCoordinates {
|
|
optional double altitude = 1;
|
|
optional double latitude = 2;
|
|
optional double longitude = 3;
|
|
}
|
|
|
|
message Photo {
|
|
optional string cameraMake = 1;
|
|
optional string cameraModel = 2;
|
|
optional float exposureDenominator = 3;
|
|
optional float exposureNumerator = 4;
|
|
optional float fNumber = 5;
|
|
optional float focalLength = 6;
|
|
optional int32 iso = 7;
|
|
optional int32 orientation = 8;
|
|
optional google.protobuf.Timestamp takenDateTime = 9;
|
|
}
|
|
|
|
message Entity {
|
|
Reference ref = 1;
|
|
ResourceID id = 2;
|
|
string name = 3;
|
|
string etag = 4;
|
|
uint64 size = 5;
|
|
google.protobuf.Timestamp last_modified_time = 6;
|
|
string mime_type = 7;
|
|
string permissions = 8;
|
|
uint64 type = 9;
|
|
bool deleted = 10;
|
|
string shareRootName = 11;
|
|
ResourceID parent_id = 12;
|
|
repeated string tags = 13;
|
|
string highlights = 14;
|
|
Audio audio = 15;
|
|
GeoCoordinates location = 16;
|
|
ResourceID remote_item_id = 17;
|
|
Image image = 18;
|
|
Photo photo = 19;
|
|
repeated string favorites = 20;
|
|
}
|
|
|
|
message Match {
|
|
// the matched entity
|
|
Entity entity = 1;
|
|
// the match score
|
|
float score = 2;
|
|
}
|