载入中...
搜索中...
未找到
EditingAuthority.cpp
浏览该文件的文档.
22 return eve::editing::failed<AuthorityPlan>(Status::Failed, RuleId("editor.authority.missing-target"),
25 return eve::editing::failed<AuthorityPlan>(Status::Rejected, RuleId("editor.authority.invalid-transaction"),
28 return eve::editing::failed<AuthorityPlan>(Status::Rejected, RuleId("editor.authority.target-mismatch"),
31 return eve::editing::failed<AuthorityPlan>(Status::Conflict, RuleId("editor.authority.revision-conflict"),
34 return eve::editing::failed<AuthorityPlan>(Status::Conflict, RuleId("editor.authority.duplicate-transaction"),
38 return eve::editing::failed<AuthorityPlan>(Status::Rejected, RuleId("editor.operation.missing-type"),
41 return eve::editing::failed<AuthorityPlan>(Status::Rejected, RuleId("editor.operation.target-mismatch"),
54 return eve::editing::failed<TransactionReceipt>(Status::Failed, RuleId("editor.authority.missing-target"),
57 return eve::editing::failed<TransactionReceipt>(Status::Conflict, RuleId("editor.authority.revision-conflict"),
85 return eve::editing::failed<TransactionReceipt>(Status::Failed, RuleId("editor.authority.target-exception"),
90 return eve::editing::failed<TransactionReceipt>(Status::Failed, RuleId("editor.authority.target-exception"),
104 return eve::editing::failed<TransactionReceipt>(Status::Failed, RuleId("editor.authority.missing-target"),
108 return eve::editing::failed<TransactionReceipt>(Status::NotFound, RuleId("editor.authority.receipt-not-found"),
111 return eve::editing::failed<TransactionReceipt>(Status::Conflict, RuleId("editor.authority.compensation-order"),
121 return eve::editing::failed<TransactionReceipt>(Status::Conflict, RuleId("editor.authority.revision-conflict"),
131 compensation.id = TransactionId(receipt.id.value() + ".undo." + std::to_string(++receiptSequence_));
162 for (auto operation = entry->second.operations.rbegin(); operation != entry->second.operations.rend();
176 return makeFailure(Status::Failed, "editor.authority.candidate-exception", "Compensation candidate threw");
206 if (!commitOrder_.empty()) committed_.at(commitOrder_.back()).receipt.afterRevision = compensation.afterRevision;
224 return eve::editing::failed<void>(Status::Failed, RuleId("editor.authority.rollback-impossible"),
236 return eve::editing::failed<AuthorityPlan>(Status::Rejected, RuleId("editor.authority.read-only"),
242 return eve::editing::failed<TransactionReceipt>(Status::Rejected, RuleId("editor.authority.read-only"),
248 return eve::editing::failed<TransactionReceipt>(Status::Rejected, RuleId("editor.authority.read-only"),
const std::vector< Diagnostic > & diagnostics() const noexcept
Inspect all diagnostics; this counts as checking the Result.
Definition Result.h:283
bool ok() const noexcept
Whether this result represents a non-failure outcome.
Definition Result.h:255
static Result failure(Status status)
Construct a failed result from a structured status.
Definition Result.h:175
const std::string & value() const noexcept
Returns the exact legacy or canonical compatibility spelling.
Definition Identity.h:362
bool empty() const noexcept
True when no compatibility spelling has been assigned.
Definition Identity.h:374
Optional candidate/publish capability for atomic domain operations.
Definition EditingTargetOperations.h:26
virtual Result< void > applyDomainOperation(const DomainOperation &operation)=0
Apply one validated domain operation.
Result< AuthorityPlan > preflight(const TransactionSpec &transaction, std::span< const DomainOperation > operations) override
Preflight.
Definition EditingAuthority.cpp:19
Result< TransactionReceipt > compensate(const TransactionReceipt &receipt) override
Compensate.
Definition EditingAuthority.cpp:102
Result< TransactionReceipt > commit(const AuthorityPlan &plan) override
Commits commit.
Definition EditingAuthority.cpp:52
Result< TransactionReceipt > compensate(const TransactionReceipt &receipt) override
Compensate.
Definition EditingAuthority.cpp:246
Result< AuthorityPlan > preflight(const TransactionSpec &transaction, std::span< const DomainOperation > operations) override
Preflight.
Definition EditingAuthority.cpp:232
Result< TransactionReceipt > commit(const AuthorityPlan &plan) override
Commits commit.
Definition EditingAuthority.cpp:240
Definition EditableTarget.h:7
constexpr eve::DiagnosticCode diagnosticCodeForStatus(Status status) noexcept
Coarse default diagnostic category for a failure status.
Definition EditingResult.h:82
@ PendingAuthority
@ Rejected
@ Committed
Diagnostic ruleDiagnostic(eve::DiagnosticCode code, RuleId rule, DiagnosticSeverity severity, std::string message)
Build a common diagnostic carrying an open editing rule identity.
Definition EditingResult.h:25
@ Failed
std::vector< DomainOperation > operations
Definition EditingProtocol.h:119
Revision validatedRevision
Definition EditingProtocol.h:118
Revision afterRevision
Definition EditingProtocol.h:110
std::string authorityReceipt
Definition EditingProtocol.h:113
std::vector< Diagnostic > diagnostics
Definition EditingProtocol.h:112
Revision beforeRevision
Definition EditingProtocol.h:109