cob: Add `reviewers` field on `Patch`
We aren't ready to support this yet from an end-user perspective, but we add it in the COB already to prepare.
This commit is contained in:
parent
ac60069a33
commit
e41d67544c
|
|
@ -130,6 +130,7 @@ pub(crate) fn patch(
|
||||||
"timestamp": m.timestamp
|
"timestamp": m.timestamp
|
||||||
})
|
})
|
||||||
}).collect::<Vec<_>>(),
|
}).collect::<Vec<_>>(),
|
||||||
|
"reviewers": patch.reviewers().collect::<Vec<_>>(),
|
||||||
"revisions": patch.revisions().map(|(id, rev)| {
|
"revisions": patch.revisions().map(|(id, rev)| {
|
||||||
json!({
|
json!({
|
||||||
"id": id,
|
"id": id,
|
||||||
|
|
|
||||||
|
|
@ -1741,6 +1741,7 @@ mod routes {
|
||||||
"target": "delegates",
|
"target": "delegates",
|
||||||
"tags": [],
|
"tags": [],
|
||||||
"merges": [],
|
"merges": [],
|
||||||
|
"reviewers": [],
|
||||||
"revisions": [
|
"revisions": [
|
||||||
{
|
{
|
||||||
"id": CONTRIBUTOR_PATCH_ID,
|
"id": CONTRIBUTOR_PATCH_ID,
|
||||||
|
|
@ -1779,6 +1780,7 @@ mod routes {
|
||||||
"target": "delegates",
|
"target": "delegates",
|
||||||
"tags": [],
|
"tags": [],
|
||||||
"merges": [],
|
"merges": [],
|
||||||
|
"reviewers": [],
|
||||||
"revisions": [
|
"revisions": [
|
||||||
{
|
{
|
||||||
"id": CONTRIBUTOR_PATCH_ID,
|
"id": CONTRIBUTOR_PATCH_ID,
|
||||||
|
|
@ -1856,6 +1858,7 @@ mod routes {
|
||||||
"target": "delegates",
|
"target": "delegates",
|
||||||
"tags": [],
|
"tags": [],
|
||||||
"merges": [],
|
"merges": [],
|
||||||
|
"reviewers": [],
|
||||||
"revisions": [
|
"revisions": [
|
||||||
{
|
{
|
||||||
"id": CREATED_PATCH_ID,
|
"id": CREATED_PATCH_ID,
|
||||||
|
|
@ -1918,6 +1921,7 @@ mod routes {
|
||||||
"design"
|
"design"
|
||||||
],
|
],
|
||||||
"merges": [],
|
"merges": [],
|
||||||
|
"reviewers": [],
|
||||||
"revisions": [
|
"revisions": [
|
||||||
{
|
{
|
||||||
"id": CONTRIBUTOR_PATCH_ID,
|
"id": CONTRIBUTOR_PATCH_ID,
|
||||||
|
|
@ -1977,6 +1981,7 @@ mod routes {
|
||||||
"target": "delegates",
|
"target": "delegates",
|
||||||
"tags": [],
|
"tags": [],
|
||||||
"merges": [],
|
"merges": [],
|
||||||
|
"reviewers": [],
|
||||||
"revisions": [
|
"revisions": [
|
||||||
{
|
{
|
||||||
"id": CONTRIBUTOR_PATCH_ID,
|
"id": CONTRIBUTOR_PATCH_ID,
|
||||||
|
|
@ -2048,6 +2053,7 @@ mod routes {
|
||||||
"target": "delegates",
|
"target": "delegates",
|
||||||
"tags": [],
|
"tags": [],
|
||||||
"merges": [],
|
"merges": [],
|
||||||
|
"reviewers": [],
|
||||||
"revisions": [
|
"revisions": [
|
||||||
{
|
{
|
||||||
"id": CONTRIBUTOR_PATCH_ID,
|
"id": CONTRIBUTOR_PATCH_ID,
|
||||||
|
|
@ -2129,6 +2135,7 @@ mod routes {
|
||||||
"target": "delegates",
|
"target": "delegates",
|
||||||
"tags": [],
|
"tags": [],
|
||||||
"merges": [],
|
"merges": [],
|
||||||
|
"reviewers": [],
|
||||||
"revisions": [
|
"revisions": [
|
||||||
{
|
{
|
||||||
"id": CONTRIBUTOR_PATCH_ID,
|
"id": CONTRIBUTOR_PATCH_ID,
|
||||||
|
|
@ -2224,6 +2231,7 @@ mod routes {
|
||||||
"target": "delegates",
|
"target": "delegates",
|
||||||
"tags": [],
|
"tags": [],
|
||||||
"merges": [],
|
"merges": [],
|
||||||
|
"reviewers": [],
|
||||||
"revisions": [
|
"revisions": [
|
||||||
{
|
{
|
||||||
"id": CONTRIBUTOR_PATCH_ID,
|
"id": CONTRIBUTOR_PATCH_ID,
|
||||||
|
|
@ -2315,6 +2323,7 @@ mod routes {
|
||||||
"commit": PARENT,
|
"commit": PARENT,
|
||||||
"timestamp": TIMESTAMP,
|
"timestamp": TIMESTAMP,
|
||||||
}],
|
}],
|
||||||
|
"reviewers": [],
|
||||||
"revisions": [
|
"revisions": [
|
||||||
{
|
{
|
||||||
"id": CONTRIBUTOR_PATCH_ID,
|
"id": CONTRIBUTOR_PATCH_ID,
|
||||||
|
|
|
||||||
|
|
@ -170,6 +170,8 @@ pub struct Patch {
|
||||||
/// List of patch revisions. The initial changeset is part of the
|
/// List of patch revisions. The initial changeset is part of the
|
||||||
/// first revision.
|
/// first revision.
|
||||||
revisions: GMap<RevisionId, Redactable<Revision>>,
|
revisions: GMap<RevisionId, Redactable<Revision>>,
|
||||||
|
/// Users assigned to review this patch.
|
||||||
|
reviewers: LWWSet<ActorId>,
|
||||||
/// Timeline of operations.
|
/// Timeline of operations.
|
||||||
timeline: GSet<(Lamport, EntryId)>,
|
timeline: GSet<(Lamport, EntryId)>,
|
||||||
}
|
}
|
||||||
|
|
@ -182,6 +184,7 @@ impl Semilattice for Patch {
|
||||||
self.merges.merge(other.merges);
|
self.merges.merge(other.merges);
|
||||||
self.tags.merge(other.tags);
|
self.tags.merge(other.tags);
|
||||||
self.revisions.merge(other.revisions);
|
self.revisions.merge(other.revisions);
|
||||||
|
self.reviewers.merge(other.reviewers);
|
||||||
self.timeline.merge(other.timeline);
|
self.timeline.merge(other.timeline);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -195,6 +198,7 @@ impl Default for Patch {
|
||||||
tags: LWWSet::default(),
|
tags: LWWSet::default(),
|
||||||
merges: LWWMap::default(),
|
merges: LWWMap::default(),
|
||||||
revisions: GMap::default(),
|
revisions: GMap::default(),
|
||||||
|
reviewers: LWWSet::default(),
|
||||||
timeline: GSet::default(),
|
timeline: GSet::default(),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -263,6 +267,11 @@ impl Patch {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// List of patch reviewers.
|
||||||
|
pub fn reviewers(&self) -> impl Iterator<Item = Did> + '_ {
|
||||||
|
self.reviewers.iter().map(Did::from)
|
||||||
|
}
|
||||||
|
|
||||||
/// Get the merges.
|
/// Get the merges.
|
||||||
pub fn merges(&self) -> impl Iterator<Item = (&ActorId, &Merge)> {
|
pub fn merges(&self) -> impl Iterator<Item = (&ActorId, &Merge)> {
|
||||||
self.merges
|
self.merges
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue