From 6ba5f380b0bafac885b5babf0580153bde608769 Mon Sep 17 00:00:00 2001 From: Davey Newhall Date: Fri, 24 Sep 2021 10:09:50 -0500 Subject: [PATCH 1/2] Add `workflow_status` to `Create` payload messages This adds a field `workflow_status` to the `CreatePurchaseOrderPayload` and `CreateVersionPayload` messages. This brings those messages in line with their `Update*` counterparts. Signed-off-by: Davey Newhall --- text/0025-purchase-order.md | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/text/0025-purchase-order.md b/text/0025-purchase-order.md index efee805..23c5a07 100644 --- a/text/0025-purchase-order.md +++ b/text/0025-purchase-order.md @@ -561,12 +561,16 @@ message PurchaseOrderPayload { UpdateVersionPayload update_version_payload = 6; } +*`workflow_status` must refer to a valid workflow status for this purchase +order as defined by its workflow type.* + message CreatePurchaseOrderPayload { string uid = 1; uint64 created_at = 2; string buyer_org_id = 3; string seller_org_id = 4; - CreateVersionPayload create_version_payload = 5; + string workflow_status = 5; + CreateVersionPayload create_version_payload = 6; } message UpdatePurchaseOrderPayload { @@ -576,11 +580,15 @@ message UpdatePurchaseOrderPayload { string accepted_version_number = 4; } +*`workflow_status` must refer to a valid workflow status for this purchase +order version as defined by its workflow type.* + message CreateVersionPayload { string version_id = 1; string po_uid = 2; bool is_draft = 3; - PayloadRevision revision = 4; + string workflow_status = 4; + PayloadRevision revision = 5; } message UpdateVersionPayload { From d4481252c7564f93c35fb64d99d7fa2d7ee2806f Mon Sep 17 00:00:00 2001 From: Davey Newhall Date: Fri, 24 Sep 2021 10:56:52 -0500 Subject: [PATCH 2/2] Add `workflow_type` to `PurchaseOrder` state This adds the `workflow_type` field to `PurchaseOrder`'s state representation. This will mark which workflow the PurchaseOrder is/was going through. Signed-off-by: Davey Newhall --- text/0025-purchase-order.md | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/text/0025-purchase-order.md b/text/0025-purchase-order.md index 23c5a07..3447e44 100644 --- a/text/0025-purchase-order.md +++ b/text/0025-purchase-order.md @@ -430,6 +430,8 @@ IDs included in the `PurchaseOrder` should refer to the same organizations. - `uid` - Unique identifier for Purchase Order - `workflow_status` - Workflow status. Values are defined by the smart contract workflows +- `workflow_type` - Workflow type. The name of the workflow that the Purchase +Order will proceed through. - `buyer_org_id` - Grid Pike organization ID associated with the buying organization defined by the XML in the purchase order's `order_xml_v3_4` field. - `seller_org_id` - Grid Pike organization ID associated with the selling @@ -444,12 +446,13 @@ accepted message PurchaseOrder { required string uid = 1; required string workflow_status = 2; - string buyer_org_id = 3; - string seller_org_id = 4; - repeated PurchaseOrderVersion versions = 5; - string accepted_version_number = 6; - uint64 created_at = 7; - bool is_closed = 8; + required string workflow_type = 3; + string buyer_org_id = 4; + string seller_org_id = 5; + repeated PurchaseOrderVersion versions = 6; + string accepted_version_number = 7; + uint64 created_at = 8; + bool is_closed = 9; } ```