Skip to content

Instantly share code, notes, and snippets.

@juliankoehn
Created May 9, 2021 17:58
Show Gist options
  • Save juliankoehn/8e6aabba81109eebd0ed96ef1d2ee79b to your computer and use it in GitHub Desktop.
Save juliankoehn/8e6aabba81109eebd0ed96ef1d2ee79b to your computer and use it in GitHub Desktop.
syntax = "proto3";
package entpb;
import "options/opts.proto";
import "google/protobuf/timestamp.proto";
option go_package = "github.com/yourorg/project/ent/proto/entpb";
message User {
option (ent.schema).gen = true;
string name = 1;
string email_address = 2;
string firstname = 3;
}
message Container {
option (ent.schema).gen = true;
// The unique identifier for the container. Key. Not nullable. Non reassignable. Read-only.
string id = 1;
enum Kind {
S3 = 0;
GCS = 1;
}
Kind kind = 2;
// IsDefault is unique `true` for all Containers within a AssetService deployment
bool is_default = 3;
// The name of our container
string name = 4;
}
message Folder {
option (ent.schema).gen = true;
// The unique id for this folder. Key. Not nullable. non reassignable. Read-only.
string id = 1;
string name = 2;
// ParentID is the parent Folder, it's nullable.
// If it's an empty string, the parent is the Container (root)
string parent_id = 3;
// This value must be set, it identifies the container, this folder is created at.
string container_id = 4;
// The created date of the account object.
google.protobuf.Timestamp created_at = 5;
// The date and time the asset was deleted. Returned only on $select.
google.protobuf.Timestamp updated_at = 6;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment