30 lines
682 B
Ruby
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 |