addType('id', Types::INTEGER); $this->addType('nodeId', Types::INTEGER); $this->addType('signRequestId', Types::INTEGER); $this->addType('signedNodeId', Types::INTEGER); $this->addType('signedHash', Types::STRING); $this->addType('userId', Types::STRING); $this->addType('uuid', Types::STRING); $this->addType('createdAt', Types::DATETIME); $this->addType('name', Types::STRING); $this->addType('callback', Types::STRING); $this->addType('status', Types::INTEGER); $this->addType('metadata', Types::JSON); $this->addType('modificationStatus', Types::SMALLINT); $this->addType('signatureFlow', Types::SMALLINT); $this->addType('docmdpLevel', Types::SMALLINT); } public function isDeletedAccount(): bool { $metadata = $this->getMetadata(); return isset($metadata['deleted_account']); } public function getUserId(): string { $metadata = $this->getMetadata(); return $metadata['deleted_account']['account'] ?? $this->userId ?? ''; } public function getSignatureFlowEnum(): \OCA\Libresign\Enum\SignatureFlow { return \OCA\Libresign\Enum\SignatureFlow::fromNumeric($this->signatureFlow); } public function setSignatureFlowEnum(\OCA\Libresign\Enum\SignatureFlow $flow): void { $this->setSignatureFlow($flow->toNumeric()); } public function getDocmdpLevelEnum(): \OCA\Libresign\Enum\DocMdpLevel { return \OCA\Libresign\Enum\DocMdpLevel::tryFrom($this->docmdpLevel) ?? \OCA\Libresign\Enum\DocMdpLevel::NOT_CERTIFIED; } public function setDocmdpLevelEnum(\OCA\Libresign\Enum\DocMdpLevel $level): void { $this->setDocmdpLevel($level->value); } }