radicle_feed/
entry.rs

1use radicle::cob::{ObjectId, Timestamp, TypeName};
2use radicle::crypto::PublicKey;
3use radicle::git::Oid;
4use radicle::identity::RepoId;
5use radicle::node::Alias;
6use serde::{Deserialize, Serialize};
7
8#[derive(Debug, Serialize, Deserialize, Clone)]
9#[serde(rename_all = "camelCase")]
10pub struct TimelineEntry {
11    pub repo: RepoId,
12    pub node: PublicKey,
13    pub cob_id: ObjectId,
14    pub cob_title: String,
15    pub cob_status: String,
16    pub typename: TypeName,
17    pub last_operation_id: Option<Oid>,
18    pub operations: Vec<String>,
19}
20
21#[derive(Debug, Serialize, Deserialize, Clone)]
22#[serde(rename_all = "camelCase")]
23pub struct OperationEntry {
24    pub operation_id: Oid,
25    pub cob_id: ObjectId,
26    pub rid: RepoId,
27    pub timestamp: Timestamp,
28    pub actions: Vec<String>,
29    pub author: PublicKey,
30    pub author_alias: Option<Alias>,
31    pub typename: TypeName,
32}