rhailib/examples/access_control/circle.rhai
2025-06-25 03:22:03 +02:00

52 lines
1.6 KiB
Plaintext

new_circle()
.title("Alice and Charlie's Circle")
.description("Some objects in this circle are shared with Bob")
.add_member("alice_pk")
.add_member("charlie_pk")
.save_circle();
let private_object = new_object()
.title("Alice and Charlie's Private Object")
.description("This object can only be seen and modified by Alice and Charlie")
.save_object();
let object_shared_with_bob = new_object()
.title("Alice and Charlie's Shared Object")
.description("This object can be seen by Bob but modified only by Alice and Charlie")
.save_object();
let new_access = new_access()
.object_id(object_shared_with_bob.id())
.circle_public_key("bob_pk")
.save_access();
let book_private = new_book()
.title("Alice and Charlie's private book")
.description("This book is prive to Alice and Charlie")
.save_book();
let slides_shared = new_slides()
.title("Alice and Charlie's shared slides")
.description("These slides, despite being in a private collection, are shared with Bob")
.save_slides();
let new_access = new_access()
.object_id(slides_shared.id)
.circle_public_key("bob_pk")
.save_access();
let collection_private = new_collection()
.title("Alice and Charlie's private collection")
.description("This collection is only visible to Alice and Charlie")
.add_book(book_private.id)
.add_slides(slides_shared.id)
.save_collection();
let collection_shared = new_collection()
.title("Alice and Charlie's shared collection")
.description("This collection is shared with Bob")
.save_collection();