Files
quixos-protocol/test/fixtures/local-first-reader/HighlightData.qx
T

40 lines
1.1 KiB
Plaintext

// Shared record definitions, repeated explicitly in independently locked resources.
external atom Document id "atom:reader:document";
external atom Highlight id "atom:reader:highlight";
external atom Comment id "atom:reader:comment";
type SourceRange = record {
sourceRevision: string;
start: int32;
end: int32;
};
type CommentContent = record {
text: string;
tags: list<string>;
};
type DocumentSeed = record { sourceRevision: string; content: string; };
interface HighlightData id "interface:reader:highlight-data"
revision "interface:reader:highlight-data@1" {
queryable value range id "highlight:range" : SourceRange {
get id "highlight:range:get"
execution snapshot;
}
queryable value color id "highlight:color" : string {
get id "highlight:color:get"
execution snapshot;
set id "highlight:color:set"
execution transaction;
}
queryable portable value excerpt id "highlight:excerpt" : string {
get id "highlight:excerpt:get"
execution snapshot;
}
queryable relation comments id "highlight:comments" : many-unique atom Comment {
resolve id "highlight:comments:resolve"
execution snapshot;
}
}