radicle-feed 0.3.0

A feed service for Radicle
Documentation
use radicle::cob::{ObjectId, Timestamp, TypeName};
use radicle::crypto::PublicKey;
use radicle::git::Oid;
use radicle::identity::RepoId;
use radicle::node::Alias;
use serde::{Deserialize, Serialize};

#[derive(Debug, Serialize, Deserialize, Clone)]
#[serde(rename_all = "camelCase")]
pub struct TimelineEntry {
    pub repo: RepoId,
    pub node: PublicKey,
    pub cob_id: ObjectId,
    pub cob_title: String,
    pub cob_status: String,
    pub typename: TypeName,
    pub last_operation_id: Option<Oid>,
    pub operations: Vec<String>,
}

#[derive(Debug, Serialize, Deserialize, Clone)]
#[serde(rename_all = "camelCase")]
pub struct OperationEntry {
    pub operation_id: Oid,
    pub cob_id: ObjectId,
    pub rid: RepoId,
    pub timestamp: Timestamp,
    pub actions: Vec<String>,
    pub author: PublicKey,
    pub author_alias: Option<Alias>,
    pub typename: TypeName,
}