|
- module Api::V1::Issues::Concerns::Checkable
-
- def check_issue_status(status_id)
- raise ApplicationService::Error, "IssueStatus不存在!" unless IssueStatus.find_by_id(status_id).present?
- end
-
- def check_issue_priority(priority_id)
- raise ApplicationService::Error, "IssuePriority不存在!" unless IssuePriority.find_by_id(priority_id).present?
- end
-
- def check_milestone(milestone_id)
- raise ApplicationService::Error, "Milestone不存在!" unless Version.find_by_id(milestone_id).present?
- end
-
- def check_issue_tags(issue_tag_ids)
- raise ApplicationService::Error, "请输入正确的标记ID数组!" unless issue_tag_ids.is_a?(Array)
- raise ApplicationService::Error, "最多可选择3个标记" if issue_tag_ids.size > 3
- issue_tag_ids.each do |tid|
- raise ApplicationService::Error, "请输入正确的标记ID!" unless IssueTag.exists?(id: tid)
- end
- end
-
- def check_assigners(assigner_ids)
- raise ApplicationService::Error, "请输入正确的负责人ID数组!" unless assigner_ids.is_a?(Array)
- raise ApplicationService::Error, "最多可选择5个负责人" if assigner_ids.size > 5
- assigner_ids.each do |aid|
- raise ApplicationService::Error, "请输入正确的负责人ID!" unless User.exists?(id: aid)
- end
- end
-
- def check_attachments (attachment_ids)
- raise ApplicationService::Error, "请输入正确的附件ID数组!" unless attachment_ids.is_a?(Array)
- attachment_ids.each do |aid|
- raise ApplicationService::Error, "请输入正确的附件ID!" unless Attachment.exists?(id: aid)
- end
- end
-
- def check_atme_receivers(receivers_login)
- raise ApplicationService::Error, "请输入正确的用户标识数组!" unless receivers_login.is_a?(Array)
- receivers_login.each do |rlogin|
- raise ApplicationService::Error, "请输入正确的用户标识!" unless User.exists?(login: rlogin)
- end
- end
-
- def check_parent_journal(parent_id)
- raise ApplicationService::Error, "ParentJournal不存在!" unless Journal.find_by_id(parent_id).present?
- end
-
- def check_blockchain_token_num(user_id, project_id, blockchain_token_num, now_blockchain_token_num=0)
- left_blockchain_token_num = Blockchain::BalanceQueryOneProject.call({"user_id": user_id, "project_id": project_id}) rescue 0
- raise ApplicationService::Error, "用户Token不足。" if blockchain_token_num.to_i > (left_blockchain_token_num+now_blockchain_token_num).to_i
- end
- end
|