syntax = "proto3";

package attrpubapi_v1;

import "ContentType.proto";


message Attribute {
	string name = 1;
	bytes value = 2;
	ContentType content_type = 3;
	repeated Anchor anchors = 4;
	repeated UserMetadata user_metadata = 5;
	Metadata metadata = 6;
	string ephemeral_id = 7;
}

message Metadata {
	string superseded_time_stamp = 1;
	bool deletable = 2;
	bytes receipt_id = 3;
	bool revoked = 4;
	bool locked = 5;
}

message Anchor {
	bytes artifact_link = 1;
	repeated bytes origin_server_certs = 2;
	bytes artifact_signature = 3;
	string sub_type = 4;
	bytes signature = 5;
	bytes signed_time_stamp = 6;
	string associated_source = 7;
}

message UserMetadata {
	string key = 1;
	string value = 2;
}

message MultiValue {

 	message Value {
		ContentType content_type = 1;
		bytes data = 2;
	}
	repeated Value values = 1;
}
