diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index d9c08aad..95d1e6f4 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -958,305 +958,7 @@ class ApplicationController < ActionController::Base # author: zxh # blockchain相关项目活动调用函数 # return true: 表示上链操作成功; return false: 表示上链操作失败 - # 北大数瑞的被注释掉 - #def push_activity_2_blockchain(activity_type, model) - # if activity_type == "issue_create" - # - # project_id = model['project_id'] - # project = Project.find(project_id) - # if project['use_blockchain'] == 0 || project['use_blockchain'] == false - # # 无需执行上链操作 - # return true - # end - # - # id = model['id'] - # - # owner_id = project['user_id'] - # owner = User.find(owner_id) - # ownername = owner['login'] - # reponame = project['name'] - # - # author_id = project['user_id'] - # author = User.find(author_id) - # username = author['login'] - # - # action = 'opened' - # - # title = model['subject'] - # content = model['description'] - # created_at = model['created_on'] - # updated_at = model['updated_on'] - # - # # 调用区块链接口 - # param = { - # "action": "executeContract", - # "contractID": "RepositoryDB1", - # "operation": "putIssue", - # "arg": { - # "issue_id": id, - # "repo_id": project_id, - # "reponame": reponame, - # "ownername": ownername, - # "username": username, - # "action": action, - # "title": title, - # "content": content, - # "created_at": created_at, - # "updated_at": updated_at - # }.to_json - # }.to_json - # success_blockchain = invoke_blockchain_api(Blockchain.blockchain_config[:api_url], param) - # return success_blockchain - # - # elsif activity_type == "issue_comment_create" - # issue_comment_id = model['id'] - # issue_id = model['journalized_id'] - # parent_id = model['parent_id'].nil? ? "" : model['parent_id'] - # - # issue = Issue.find(issue_id) - # issue_classify = issue['issue_classify'] # issue或pull_request - # project_id = issue['project_id'] - # project = Project.find(project_id) - # - # if project['use_blockchain'] == 0 || project['use_blockchain'] == false - # # 无需执行上链操作 - # return true - # end - # - # reponame = project['name'] - # owner_id = project['user_id'] - # owner = User.find(owner_id) - # ownername = owner['login'] - # - # author_id = model['user_id'] - # author = User.find(author_id) - # username = author['login'] - # - # action = 'created' - # - # content = model['notes'] - # created_at = model['created_on'] - # - # if issue_classify == "issue" - # param = { - # "action": "executeContract", - # "contractID": "RepositoryDB1", - # "operation": "putIssueComment", - # "arg": { - # "issue_comment_id": issue_comment_id, - # "issue_id": issue_id, - # "parent_id": parent_id, - # "reponame": reponame, - # "ownername": ownername, - # "username": username, - # "action": action, - # "content": content, - # "created_at": created_at, - # }.to_json - # }.to_json - # elsif issue_classify == "pull_request" - # param = { - # "action": "executeContract", - # "contractID": "RepositoryDB0", - # "operation": "putPullRequestComment", - # "arg": { - # "pull_request_comment_id": issue_comment_id, - # "pull_request_id": issue_id, - # "parent_id": parent_id, - # "reponame": reponame, - # "ownername": ownername, - # "username": username, - # "action": action, - # "content": content, - # "created_at": created_at, - # }.to_json - # }.to_json - # end - # - # # 调用区块链接口 - # success_blockchain = invoke_blockchain_api(Blockchain.blockchain_config[:api_url], param) - # return success_blockchain - # elsif activity_type == "pull_request_create" - # # 调用区块链接口 - # project_id = model['project_id'] - # project = Project.find(project_id) - # if project['use_blockchain'] == 0 || project['use_blockchain'] == false - # # 无需执行上链操作 - # return true - # end - # - # pull_request_id = model['id'] - # reponame = project['name'] - # owner_id = project['user_id'] - # owner = User.find(owner_id) - # ownername = owner['login'] - # - # action = 'opened' - # - # title = model['title'] - # content = model['body'] - # - # source_branch = model['head'] - # source_repo_id = model['fork_project_id'].nil? ? project_id : model['fork_project_id'] - # - # target_branch = model['base'] - # target_repo_id = project_id - # - # author_id = model['user_id'] - # author = User.find(author_id) - # username = author['login'] - # - # created_at = model['created_at'] - # updated_at = model['updated_at'] - # - # # 查询pull request对应的commit信息 - # commits = Gitea::PullRequest::CommitsService.call(ownername, reponame, model['gitea_number']) - # commit_shas = [] - # commits.each do |c| - # commit_shas << c["Sha"] - # end - # param = { - # "action": "executeContract", - # "contractID": "RepositoryDB0", - # "operation": "putPullRequest", - # "arg": { - # "pull_request_id": pull_request_id, - # "repo_id": project_id, - # "ownername": ownername, - # "reponame": reponame, - # "username": username, - # "action": action, - # "title": title, - # "content": content, - # "source_branch": source_branch, - # "target_branch": target_branch, - # "commit_shas": commit_shas, - # "created_at": created_at, - # "updated_at": updated_at - # }.to_json - # }.to_json - # success_blockchain = invoke_blockchain_api(Blockchain.blockchain_config[:api_url], param) - # return success_blockchain - # elsif activity_type == "pull_request_merge" - # - # # 调用区块链接口 - # project_id = model['project_id'] - # project = Project.find(project_id) - # if project['use_blockchain'] == 0 || project['use_blockchain'] == false - # # 无需执行上链操作 - # return true - # end - # - # pull_request_id = model['id'] - # reponame = project['name'] - # owner_id = project['user_id'] - # owner = User.find(owner_id) - # ownername = owner['login'] - # - # action = 'merged' - # - # # 查询pull request对应的commit信息 - # commits = Gitea::PullRequest::CommitsService.call(ownername, reponame, model['gitea_number']) - # commit_shas = [] - # commits.each do |c| - # commit_shas << c["Sha"] - # end - # - # # 将pull request相关信息写入链上 - # param = { - # "action": "executeContract", - # "contractID": "RepositoryDB0", - # "operation": "putPullRequest", - # "arg": { - # "pull_request_id": pull_request_id, - # "repo_id": project_id, - # "ownername": ownername, - # "reponame": reponame, - # "username": username, - # "action": action, - # "title": title, - # "content": content, - # "source_branch": source_branch, - # "target_branch": target_branch, - # "commit_shas": commit_shas, - # "created_at": created_at, - # "updated_at": updated_at - # }.to_json - # }.to_json - # success_blockchain = invoke_blockchain_api(Blockchain.blockchain_config[:api_url], param) - # - # - # # 将commit相关信息写入链上 - # commit_shas.each do |commit_sha| - # commit_diff = Gitea::Commit::DiffService.call(ownername, reponame, commit_sha) - # commit = Gitea::Commit::InfoService.call(ownername, reponame, commit_sha) - # param = { - # "action": "executeContract", - # "contractID": "RepositoryDB1", - # "operation": "putCommit", - # "arg": { - # "commit_hash": commit_sha, - # "repo_id": project_id, - # "author": commit['author']['login'], - # "author_email": commit['author']['email'], - # "committer": commit['committer']['login'], - # "committer_email": commit['committer']['email'], - # "author_time": commit['commit']['author']['date'], - # "committer_time": commit['commit']['committer']['date'], - # "message": commit['commit']['message'], - # "diff": commit_diff['Files'] - # }.to_json - # }.to_json - # success_blockchain_commit = invoke_blockchain_api(Blockchain.blockchain_config[:api_url], param) - # success_blockchain = success_blockchain & success_blockchain_commit - # end - # return success_blockchain - # - # elsif activity_type == "pull_request_refuse" - # - # # 调用区块链接口 - # project_id = model['project_id'] - # project = Project.find(project_id) - # if project['use_blockchain'] == 0 || project['use_blockchain'] == false - # # 无需执行上链操作 - # return true - # end - # - # pull_request_id = model['id'] - # reponame = project['name'] - # owner_id = project['user_id'] - # owner = User.find(owner_id) - # ownername = owner['login'] - # - # action = 'refused' - # - # # 将pull request相关信息写入链上 - # param = { - # "action": "executeContract", - # "contractID": "RepositoryDB0", - # "operation": "putPullRequest", - # "arg": { - # "pull_request_id": pull_request_id, - # "repo_id": project_id, - # "ownername": ownername, - # "reponame": reponame, - # "username": username, - # "action": action, - # "title": title, - # "content": content, - # "source_branch": source_branch, - # "target_branch": target_branch, - # "created_at": created_at, - # "updated_at": updated_at - # }.to_json - # }.to_json - # success_blockchain = invoke_blockchain_api(Blockchain.blockchain_config[:api_url], param) - # return success_blockchain - # end - #end - - - def push_activity_2_blockchain(activity_type, model) + def push_activity_2_blockchain(activity_type, model) if activity_type == "issue_create" project_id = model['project_id'] @@ -1271,7 +973,7 @@ class ApplicationController < ActionController::Base owner_id = project['user_id'] owner = User.find(owner_id) ownername = owner['login'] - reponame = project['name'] + identifier = project['identifier'] author_id = project['user_id'] author = User.find(author_id) @@ -1290,7 +992,7 @@ class ApplicationController < ActionController::Base "issue_id": "gitlink-" + id.to_s, "repo_id": "gitlink-" + project_id.to_s, "issue_number": 0, # 暂时不需要改字段 - "reponame": reponame, + "reponame": identifier, "ownername": ownername, "username": username, "action": action, @@ -1317,7 +1019,7 @@ class ApplicationController < ActionController::Base return true end - reponame = project['name'] + identifier = project['identifier'] owner_id = project['user_id'] owner = User.find(owner_id) ownername = owner['login'] @@ -1340,7 +1042,7 @@ class ApplicationController < ActionController::Base "issue_id": "gitlink-" + issue_id.to_s, "repo_id": "gitlink-" + project.id.to_s, "parent_id": parent_id.to_s, - "reponame": reponame, + "reponame": identifier, "ownername": ownername, "username": username, "action": action, @@ -1356,7 +1058,7 @@ class ApplicationController < ActionController::Base "pull_request_id": "gitlink-" + issue_id.to_s, "parent_id": parent_id.to_s, "repo_id": "gitlink-" + project.id.to_s, - "reponame": reponame, + "reponame": identifier, "ownername": ownername, "username": username, "action": action, @@ -1379,7 +1081,6 @@ class ApplicationController < ActionController::Base pull_request_id = model['id'] identifier = project['identifier'] - reponame = project['reponame'] owner_id = project['user_id'] owner = User.find(owner_id) ownername = owner['login'] @@ -1417,7 +1118,7 @@ class ApplicationController < ActionController::Base "pull_request_number": 0, # trustie没有该字段 "repo_id": "gitlink-" + project_id.to_s, "ownername": ownername, - "reponame": reponame, + "reponame": identifier, "username": username, "action": action, "title": title, @@ -1444,7 +1145,6 @@ class ApplicationController < ActionController::Base pull_request_id = model['id'] identifier = project['identifier'] - reponame = project['reponame'] owner_id = project['user_id'] owner = User.find(owner_id) ownername = owner['login'] @@ -1471,7 +1171,7 @@ class ApplicationController < ActionController::Base "pull_request_number": 0, # trustie没有该字段 "repo_id": "gitlink-" + project_id.to_s, "ownername": ownername, - "reponame": reponame, + "reponame": identifier, "username": username, "action": action, "title": title, @@ -1489,8 +1189,8 @@ class ApplicationController < ActionController::Base # 将commit相关信息写入链上 commit_shas.each do |commit_sha| - commit_diff = Gitea::Commit::DiffService.call(ownername, reponame, commit_sha, owner['gitea_token']) - commit = Gitea::Commit::InfoService.call(ownername, reponame, commit_sha, owner['gitea_token']) + commit_diff = Gitea::Commit::DiffService.call(ownername, identifier, commit_sha, owner['gitea_token']) + commit = Gitea::Commit::InfoService.call(ownername, identifier, commit_sha, owner['gitea_token']) param = { "request-type": "upload commit info", "commit_hash": commit_sha, @@ -1520,7 +1220,7 @@ class ApplicationController < ActionController::Base end pull_request_id = model['id'] - reponame = project['name'] + identifier = project['identifier'] owner_id = project['user_id'] owner = User.find(owner_id) ownername = owner['login'] @@ -1534,7 +1234,7 @@ class ApplicationController < ActionController::Base "pull_request_number": 0, # trustie没有该字段 "repo_id": "gitlink-" + project_id.to_s, "ownername": ownername, - "reponame": reponame, + "reponame": identifier, "username": username, "action": action, "title": title,