1// @generated by jacquard-lexicon. DO NOT EDIT.
2//
3// Lexicon: blue.2048.key.defs
4//
5// This file was automatically generated from Lexicon schemas.
6// Any manual changes will be overwritten on the next regeneration.
7
8pub mod game;
9pub mod player;
10
11/// A record that holds a did:key used to verify records. Use the collection to know the type of verification. Example blue.2048.key.game is for blue.2048.game records
12#[jacquard_derive::lexicon]
13#[derive(
14 serde::Serialize,
15 serde::Deserialize,
16 Debug,
17 Clone,
18 PartialEq,
19 Eq,
20 jacquard_derive::IntoStatic,
21 bon::Builder
22)]
23#[serde(rename_all = "camelCase")]
24pub struct Key<'a> {
25 pub created_at: jacquard_common::types::string::Datetime,
26 /// A did:key used to verify records came from an at://2048 authority
27 #[serde(borrow)]
28 #[builder(into)]
29 pub key: jacquard_common::CowStr<'a>,
30}
31
32/// a signature for an at://2048 record meaning it has been verified by a service. Most likely @2048.blue
33#[jacquard_derive::lexicon]
34#[derive(
35 serde::Serialize,
36 serde::Deserialize,
37 Debug,
38 Clone,
39 PartialEq,
40 Eq,
41 jacquard_derive::IntoStatic,
42 bon::Builder
43)]
44#[serde(rename_all = "camelCase")]
45pub struct SignatureRef<'a> {
46 /// The at://uri for the public did:key to verify this record. This also counts as the authority of the verification (example @2048.blue). As well as the type of verification by the collection name (blue.2048.key.game).
47 #[serde(borrow)]
48 #[builder(into)]
49 pub at_uri: jacquard_common::CowStr<'a>,
50 pub created_at: jacquard_common::types::string::Datetime,
51 /// The public verifiable signature of the record. Serialization of the records value minus the signature field
52 #[serde(borrow)]
53 #[builder(into)]
54 pub signature: jacquard_common::CowStr<'a>,
55}