~ knotless Search/
↑↓ move↵ open⇧↵ all results

johnandersen777.bsky.social/atlibs-socialweb-computer-requester

socialweb.computer market requester and policy modules for atlibs, with its web pages and lexicons

0
0
main
60 lines · 1.6 KB Raw History
use core::fmt;

use serde::{Deserialize, Serialize};

abi::call_ids! {
    #[derive(Clone, Copy, Debug, PartialEq)]
    pub enum CallId {
        Attest = "attest",
        KeyBadge = "key-badge",
        KeyBind = "key-bind",
        Create = "create",
        Confirm = "confirm",
        Offerings(usize) = "off",
        UserData = "user-data",
        Vm = "vm",
        AttestRfp = "attest-rfp",
        Rfp = "rfp",
        SubmitRfp(usize) = "submit",
        Bid(usize) = "bid",
        Scope(usize) = "scope",
        Full(usize) = "full",
        AcceptPolicy = "policy",
        AttestAccept = "attest-accept",
        Accept = "accept",
        SubmitAccept = "submit-accept",
        Receipt = "receipt",
        Progress = "progress",
        Report(usize) = "g",
        Page(usize) = "page",
        GuestEvent(usize) = "e",
        Guest = "guest",
        Watch = "watch",
        Shell = "shell",
        Hold = "hold",
        AttestPayload = "attest-payload",
        CreatePayload = "payload",
        AttestEvent = "attest-event",
        CreateEvent = "event",
        SubmitEvent = "submit-event",
        Term = "term",
        Delete(usize) = "rm",
    }
}

/// The policy hook's mode: scope judges the bidder, full the bid itself.
#[derive(Clone, Copy, PartialEq, Serialize, Deserialize)]
#[serde(rename_all = "lowercase")]
pub enum Mode {
    Scope,
    Full,
}

impl fmt::Display for Mode {
    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
        f.write_str(match self {
            Mode::Scope => "scope",
            Mode::Full => "full",
        })
    }
}