forgeplus/app/services/api/v1/projects/git/blobs_service.rb

30 lines
682 B
Ruby

class Api::V1::Projects::Git::BlobsService < ApplicationService
include ActiveModel::Model
attr_accessor :project, :sha, :token, :owner, :repo
attr_accessor :gitea_data
validates :sha, presence: :true
def initialize(project, sha, token=nil)
@project = project
@owner = project&.owner.login
@repo = project&.identifier
@sha = sha
@token = token
end
def call
$gitea_client.token = token unless token.blank?
load_gitea_data
$gitea_client.token = nil unless token.blank?
gitea_data
end
private
def load_gitea_data
@gitea_data = $gitea_client.get_repos_git_blobs_by_owner_repo_sha(owner, repo, sha)
end
end