Hints and Interest fallible methods

This commit is contained in:
Nadja von Reitzenstein Čerpnjak 2024-05-06 13:15:58 +02:00
parent cae56b0084
commit a2552c6759
5 changed files with 33 additions and 3 deletions

View File

@ -12,6 +12,7 @@ using import "utils.capnp".OID;
using import "utils.capnp".Map;
using import "utils.capnp".SturdyRef;
using import "projects.capnp".Project;
using import "traits.capnp".Hint;
interface Claimable {
claim @0 ( project :Project ) -> Fallible(Claim, ClaimError);

View File

@ -25,8 +25,20 @@ interface Interestable {
interface Interest extends (Owned) {
resource @0 () -> ( resource :Resource, dummy :UInt8 );
describe @1 () -> Description;
drop @2 ();
upgrade @3 () -> ( claim :Claim );
drop @2 () -> Fallible(DropOk, DropError);
struct DropOk {
}
struct DropError {
}
upgrade @3 () -> ( claim :Fallible(Claim, UpgradeError) );
struct UpgradeError {
}
}
struct InterestKind {

View File

@ -16,6 +16,8 @@ using import "utils.capnp".OID;
using import "utils.capnp".L10NString;
using import "utils.capnp".Map;
using import "traits.capnp".Hint;
using import "cache.capnp".Cache;
struct RestoredResource {
@ -54,6 +56,8 @@ struct Resource {
# does not support claiming or locking.
audit @6 :Auditable;
hint @7 :Hint;
}
struct Description {

View File

@ -3,6 +3,8 @@
using CSharp = import "programming_language/csharp.capnp";
$CSharp.namespace("FabAccessAPI.Schema");
using OID = import "utils.capnp".OID;
interface TraitSuper {
getName @0 () -> ( name :Text );
}
@ -13,3 +15,9 @@ struct TraitError(ConstraintError) {
constraintViolation @1 :ConstraintError;
}
}
interface Hint {
getOid @0 () -> ( oid :OID );
getAbstract @1 () -> ( abstract :List(Hint) );
# Sorted least to most abstract. abstract[0] is the next less specific Hint.
}

View File

@ -99,3 +99,8 @@ struct When {
start @0 :Timestamp;
end @1 :Timestamp;
}
struct TreeNode(Value) {
value @0 :Value;
children @1 :List(TreeNode(Value));
}