Class: LcpRuby::Workflow::Approval::ContractValidator
- Inherits:
-
Object
- Object
- LcpRuby::Workflow::Approval::ContractValidator
- Defined in:
- lib/lcp_ruby/workflow/approval/contract_validator.rb
Constant Summary collapse
- REQUEST_FIELDS =
{ "record_type" => "string", "record_id" => "integer", "workflow_name" => "string", "workflow_version" => "integer", "state_name" => "string", "strategy" => "string", "status" => "enum", "initiated_by_id" => "integer", "initiated_by_snapshot" => "json", "resolved_at" => "datetime" }.freeze
- REQUEST_RECOMMENDED =
{ "previous_request_id" => "integer", "restart_count" => "integer" }.freeze
- STEP_FIELDS =
{ "approval_request_id" => "integer", "step_name" => "string", "position" => "integer", "status" => "enum", "required_approvals" => "integer", "assignment" => "string" }.freeze
- STEP_RECOMMENDED =
{ "label" => "string", "activated_at" => "datetime", "completed_at" => "datetime" }.freeze
- TASK_FIELDS =
{ "approval_step_id" => "integer", "approver_id" => "integer", "status" => "enum" }.freeze
- TASK_RECOMMENDED =
{ "approver_snapshot" => "json", "delegated_from_id" => "integer", "comment" => "text", "claimed_at" => "datetime", "decided_at" => "datetime" }.freeze
Class Method Summary collapse
Class Method Details
.validate(request_def, step_def, task_def) ⇒ Object
52 53 54 55 56 57 58 59 60 61 |
# File 'lib/lcp_ruby/workflow/approval/contract_validator.rb', line 52 def self.validate(request_def, step_def, task_def) errors = [] warnings = [] validate_model(request_def, "approval_request", REQUEST_FIELDS, REQUEST_RECOMMENDED, errors, warnings) validate_model(step_def, "approval_step", STEP_FIELDS, STEP_RECOMMENDED, errors, warnings) validate_model(task_def, "approval_task", TASK_FIELDS, TASK_RECOMMENDED, errors, warnings) Metadata::ContractResult.new(errors: errors, warnings: warnings) end |