scienceobjectsdb_rust_api 0.3.0-alpha.2

The Rust API build for the ScienceObjectsDB
syntax = "proto3";

package sciobjsdb.api.storage.models.v1;
option go_package = "github.com/ScienceObjectsDB/go-api/sciobjsdb/api/storage/models/v1";
option java_multiple_files = true;
option java_package = "com.github.ScienceObjectsDB.java_api.sciobjsdb.api.storage.models.v1";
option java_outer_classname = "DatasetModels";

import "google/protobuf/timestamp.proto";
import "sciobjsdb/api/storage/models/v1/common_models.proto";
import "sciobjsdb/api/storage/models/v1/object_models.proto";

message Dataset {
    string id = 1;
    string name = 2; // Name of the dataset
    string description = 3;
    google.protobuf.Timestamp created = 4; // When the datasets was created
    repeated Label labels = 5;
    repeated Annotation annotations = 6;
    string project_id = 7;
    bool is_public = 8; //Indicates if the dataset if publicly available
    Status status = 9;
    string bucket = 10;
    DatasetStats stats = 11;
    repeated Object metadata_objects = 12;
}

message DatasetVersion {
    string id = 1;
    string name =  2;
    string description = 3;
    string dataset_id = 4;
    repeated Label labels = 5;
    repeated Annotation annotations = 6;
    google.protobuf.Timestamp created = 7; // When the datasets version was created
    Version version = 8;
    repeated string object_group_ids = 9;
    int64 object_count = 10; // Number of objects registered with this dataset version
    Status status = 11; // Indicates the status of a dataset
    string project_id = 12;
    DatasetVersionStats stats = 13;
    repeated Object metadata_objects = 14;
}

message DatasetStats {
    int64 object_count = 1;
    int64 object_group_count = 2;
    int64 acc_size = 3;
    double avg_object_size = 4;
}

message DatasetVersionStats {
    int64 object_count = 1;
    int64 object_group_count = 2;
    int64 acc_size = 3;
    double avg_object_size = 4;
}