Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Get document workflows #123

Merged
merged 2 commits into from
Apr 5, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ third-party/
tools/
!tools/packages.config
tmp*/
build/

## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons.
Expand Down Expand Up @@ -256,4 +257,7 @@ paket-files/

# JetBrains Rider
.idea/
*.sln.iml
*.sln.iml

# Visual Studio Code
.vscode/
1 change: 1 addition & 0 deletions build.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ Param(
[ValidateSet("Debug", "Release", "RelWithDebInfo", "MinSizeRel")]
[string]$Configuration = "RelWithDebInfo",
[ValidateSet("",
"Visual Studio 17 2022",
"Visual Studio 14 2015",
"Visual Studio 14 2015 Win64",
"Visual Studio 14 2015 ARM",
Expand Down
10 changes: 10 additions & 0 deletions proto/Workflows/AmendmentRequestResponseBehavior.proto
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
package Diadoc.Api.Proto.Workflows.AmendmentRequestResponseBehavior;

enum AmendmentRequestResponseBehavior
{
Unknown = 0;
None = 1;
Receipt = 2;
OperatorConfirmation = 3;
OperatorConfirmationOrReceipt = 4;
}
36 changes: 36 additions & 0 deletions proto/Workflows/DocumentWorkflowSettings.proto
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
import "Workflows/ParticipantType.proto";
import "Workflows/ParticipantAction.proto";
import "Workflows/TitleReceiptBehavior.proto";
import "Workflows/OperatorConfirmationBehavior.proto";
import "Workflows/OperatorConfirmationReceiptBehavior.proto";
import "Workflows/ReceiptOperatorConfirmationReceiptBehavior.proto";
import "Workflows/AmendmentRequestResponseBehavior.proto";
import "Workflows/InvitationBehavior.proto";
import "Workflows/RoamingConfirmationBehavior.proto";

package Diadoc.Api.Proto.Workflows;

message DocumentWorkflowSettingsList {
repeated DocumentWorkflowSettings DocumentWorkflowSettings = 1;
}

message DocumentWorkflowSettings {
required int32 Id = 1;
repeated ParticipantSetting Participants = 2;
optional OperatorConfirmationReceiptBehavior.OperatorConfirmationReceiptBehavior OperatorConfirmationReceiptBehavior = 3 [default = Unknown];
optional ReceiptOperatorConfirmationReceiptBehavior.ReceiptOperatorConfirmationReceiptBehavior ReceiptOperatorConfirmationReceiptBehavior = 4 [default = Unknown];
optional OperatorConfirmationBehavior.OperatorConfirmationBehavior ReceiptOperatorConfirmationBehavior = 5 [default = Unknown];
optional AmendmentRequestResponseBehavior.AmendmentRequestResponseBehavior AmendmentRequestResponseBehavior = 6 [default = Unknown];
optional OperatorConfirmationBehavior.OperatorConfirmationBehavior AmendmentRequestOperatorConfirmationBehavior = 7 [default = Unknown];
optional RoamingConfirmationBehavior.RoamingConfirmationBehavior ReceiptRoamingConfirmationBehavior = 8 [default = Unknown];
optional RoamingConfirmationBehavior.RoamingConfirmationBehavior AmendmentRequestRoamingConfirmationBehavior = 9 [default = Unknown];
optional InvitationBehavior.InvitationBehavior InvitationBehavior = 10 [default = Unknown];
}

message ParticipantSetting {
optional ParticipantType.ParticipantType Participant = 1 [default = Unknown];
optional ParticipantAction.ParticipantAction ParticipantAction = 2 [default = Unknown];
optional TitleReceiptBehavior.TitleReceiptBehavior TitleReceiptBehavior = 3 [default = Unknown];
optional OperatorConfirmationBehavior.OperatorConfirmationBehavior OperatorConfirmationBehavior = 4 [default = Unknown];
optional RoamingConfirmationBehavior.RoamingConfirmationBehavior RoamingConfirmationBehavior = 5 [default = Unknown];
}
9 changes: 9 additions & 0 deletions proto/Workflows/InvitationBehavior.proto
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
package Diadoc.Api.Proto.Workflows.InvitationBehavior;

enum InvitationBehavior
{
Unknown = 0;
Never = 1;
DefineByUser = 2;
Always = 3;
}
9 changes: 9 additions & 0 deletions proto/Workflows/OperatorConfirmationBehavior.proto
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
package Diadoc.Api.Proto.Workflows.OperatorConfirmationBehavior;

enum OperatorConfirmationBehavior
{
Unknown = 0;
Never = 1;
Initiator = 2;
InitiatorCounterpart = 3;
}
8 changes: 8 additions & 0 deletions proto/Workflows/OperatorConfirmationReceiptBehavior.proto
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package Diadoc.Api.Proto.Workflows.OperatorConfirmationReceiptBehavior;

enum OperatorConfirmationReceiptBehavior
{
Unknown = 0;
Never = 1;
Always = 2;
}
9 changes: 9 additions & 0 deletions proto/Workflows/ParticipantAction.proto
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
package Diadoc.Api.Proto.Workflows.ParticipantAction;

enum ParticipantAction
{
Unknown = 0;
Title = 1;
Signature = 2;
OptionalSignature = 3;
}
9 changes: 9 additions & 0 deletions proto/Workflows/ParticipantType.proto
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
package Diadoc.Api.Proto.Workflows.ParticipantType;

enum ParticipantType
{
Unknown = 0;
Sender = 1;
Proxy = 2;
Recipient = 3;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package Diadoc.Api.Proto.Workflows.ReceiptOperatorConfirmationReceiptBehavior;

enum ReceiptOperatorConfirmationReceiptBehavior
{
Unknown = 0;
Never = 1;
Always = 2;
}
8 changes: 8 additions & 0 deletions proto/Workflows/RoamingConfirmationBehavior.proto
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package Diadoc.Api.Proto.Workflows.RoamingConfirmationBehavior;

enum RoamingConfirmationBehavior
{
Unknown = 0;
Never = 1;
Always = 2;
}
9 changes: 9 additions & 0 deletions proto/Workflows/TitleReceiptBehavior.proto
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
package Diadoc.Api.Proto.Workflows.TitleReceiptBehavior;

enum TitleReceiptBehavior
{
Unknown = 0;
Never = 1;
DefineByUser = 2;
Always = 3;
}
7 changes: 7 additions & 0 deletions src/DiadocApi.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1915,3 +1915,10 @@ void DiadocApi::RegisterConfirm(const Diadoc::Api::Proto::Registration::Registra
WppTraceDebugOut("RegisterConfirm...");
PerformHttpRequest(L"/RegisterConfirm", ToProtoBytes(request), POST);
}

Diadoc::Api::Proto::Workflows::DocumentWorkflowSettingsList DiadocApi::GetWorkflowsSettings(const std::wstring& boxId)
{
std::wstringstream buf;
buf << L"/GetWorkflowsSettings?boxId=" << StringHelper::CanonicalizeUrl(boxId);
return FromProtoBytes<Diadoc::Api::Proto::Workflows::DocumentWorkflowSettingsList>(PerformHttpRequest(buf.str(), GET));
}
3 changes: 3 additions & 0 deletions src/DiadocApi.h
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@
#include "protos\CustomPrintFormDetection.pb.h"
#include "protos\Registration\RegistrationRequest.pb.h"
#include "protos\Certificates\CertificateList.pb.h"
#include "protos\Workflows\DocumentWorkflowSettings.pb.h"
#include "DocumentFilter.h"
#include "HttpSession.h"
#include "TaskResult.h"
Expand Down Expand Up @@ -345,6 +346,8 @@ class DiadocApi
Diadoc::Api::Proto::Registration::RegistrationResponse Register(const Diadoc::Api::Proto::Registration::RegistrationRequest& request);
void RegisterConfirm(const Diadoc::Api::Proto::Registration::RegistrationConfirmRequest& request);

Diadoc::Api::Proto::Workflows::DocumentWorkflowSettingsList GetWorkflowsSettings(const std::wstring& boxId);

protected:
DiadocApi::Bytes_t PerformHttpRequest(const std::wstring & queryString, const Bytes_t & requestBody, const std::wstring & method);
DiadocApi::Bytes_t PerformHttpRequest(const std::wstring & queryString, const Bytes_t & requestBody, const std::wstring & method, const std::wstring * contentType);
Expand Down
109 changes: 109 additions & 0 deletions src/protos/Workflows/AmendmentRequestResponseBehavior.pb.cc

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

95 changes: 95 additions & 0 deletions src/protos/Workflows/AmendmentRequestResponseBehavior.pb.h

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading