uffizzi_core 2.0.25 → 2.1.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: aa7005a5115382ee954986597b0deaf564a5982ce41f8fdffd3724c4d1a1a677
4
- data.tar.gz: f051ca13a33f8aa04a884606b9e3c937c953dccfa5abc67ade1b9021b9667487
3
+ metadata.gz: 9ff3664e2d0ace5264aea60fd9a6c2b6f592632b3e5f844411a230941ee953da
4
+ data.tar.gz: b41024e92002bbac34eb430fd6da45740c921c595515b4c8e82b6d184a04a421
5
5
  SHA512:
6
- metadata.gz: 4b39d25336b04cee50b41df36552c5b911999e1a1db796a47c39fa9b65ebc467ff8b62daf343d873f3b4db5f22c77780c35cdd16d543b8aa5b99c4bc397e1a8c
7
- data.tar.gz: ad8187b28f881fb4013bccd56b6eda7cf49ecfc553028cb6c75b8bb0552bc434a83c3e0c4b0ba83f13d90d82f3affadd38a93f7cd28aa3641266dfcb639cee9f
6
+ metadata.gz: 2af201493e2a9fb7a6cc8793586bfd8881270cb13fe76804e35dda0d5ecfff87d9d608dbdc54276ba2db7839208c38baa8e861fa15d692d5b322f81c4bda916b
7
+ data.tar.gz: 9f41c789e248872b742cfda598b40c38b3a9e8298d86fa890c80e56943440de19e74e8ab904e482b3d03d1562f99bc91ce475b3b6cb11459346f0d2eefc8af98
@@ -37,6 +37,12 @@ module UffizziCore::DependencyInjectionConcern
37
37
  module_class(:notification_module)
38
38
  end
39
39
 
40
+ def deployment_module
41
+ return unless module_exists?(:deployment_module)
42
+
43
+ module_class(:deployment_module)
44
+ end
45
+
40
46
  private
41
47
 
42
48
  def module_exists?(module_name)
@@ -15,7 +15,7 @@ class UffizziCore::Api::Cli::V1::Projects::Deployments::ActivityItemsController
15
15
  # @response 401 Not authorized
16
16
  # @response 404 Not found
17
17
  def index
18
- deployment = resource_project.deployments.existed.find(params[:deployment_id])
18
+ deployment = resource_project.deployments.enabled.find(params[:deployment_id])
19
19
 
20
20
  unless deployment.active?
21
21
  return render json: { errors: { title: [I18n.t('deployment.invalid_state', id: deployment.id, state: deployment.state)] } },
@@ -23,7 +23,7 @@ class UffizziCore::Api::Cli::V1::Projects::Deployments::ContainersController <
23
23
  end
24
24
 
25
25
  def k8s_container_description
26
- deployment ||= resource_project.deployments.existed.find(params[:deployment_id])
26
+ deployment ||= resource_project.deployments.enabled.find(params[:deployment_id])
27
27
  container = deployment.containers.active.find_by!(service_name: params[:container_name])
28
28
  last_state = UffizziCore::ContainerService.last_state(container)
29
29
 
@@ -168,7 +168,7 @@ class UffizziCore::Api::Cli::V1::Projects::DeploymentsController < UffizziCore::
168
168
  end
169
169
 
170
170
  def deployments
171
- @deployments ||= resource_project.deployments.existed
171
+ @deployments ||= resource_project.deployments.enabled
172
172
  end
173
173
 
174
174
  def deployment_params
@@ -19,6 +19,7 @@ module UffizziCore::Concerns::Models::User
19
19
  has_many :accounts, through: :memberships
20
20
  has_many :user_projects, dependent: :destroy
21
21
  has_many :projects, through: :user_projects
22
+ has_many :deployments, class_name: UffizziCore::Deployment.name, foreign_key: :deployed_by_id, dependent: :nullify
22
23
 
23
24
  has_one_attached :avatar
24
25
 
@@ -32,14 +33,6 @@ module UffizziCore::Concerns::Models::User
32
33
  accounts.find_by(kind: UffizziCore::Account.kind.personal)
33
34
  end
34
35
 
35
- def active_projects
36
- projects.active
37
- end
38
-
39
- def deployments
40
- UffizziCore::Deployment.where(project_id: active_projects)
41
- end
42
-
43
36
  def full_name
44
37
  "#{first_name} #{last_name}"
45
38
  end
@@ -8,7 +8,7 @@ module UffizziCore::DeploymentRepo
8
8
  where(name: name)
9
9
  }
10
10
  scope :with_amazon_repos, -> { includes(containers: [:repo]).where(containers: { repos: { type: UffizziCore::Repo::Amazon.name } }) }
11
- scope :existed, -> { where(state: [:active, :failed]) }
11
+ scope :enabled, -> { where(state: [:active, :failed]) }
12
12
  scope :active_for_credential_id, ->(credential_id) {
13
13
  active.joins(project: :credentials).merge(UffizziCore::Project.active).where(credentials: { id: credential_id })
14
14
  }
@@ -12,6 +12,8 @@ class UffizziCore::DeploymentService
12
12
  }.freeze
13
13
 
14
14
  class << self
15
+ include UffizziCore::DependencyInjectionConcern
16
+
15
17
  def create_from_compose(compose_file, project, user, params)
16
18
  deployment_attributes = ActionController::Parameters.new(compose_file.template.payload)
17
19
  deployment_form = UffizziCore::Api::Cli::V1::Deployment::CreateForm.new(deployment_attributes)
@@ -97,7 +99,7 @@ class UffizziCore::DeploymentService
97
99
  end
98
100
 
99
101
  def build_pull_request_subdomain(deployment)
100
- repo_name, pull_request_number = pull_request_data(deployment)
102
+ _, repo_name, pull_request_number = pull_request_data(deployment)
101
103
  raise UffizziCore::Deployment::LabelsNotFoundError if repo_name.nil? || pull_request_number.nil?
102
104
 
103
105
  formatted_repo_name = format_url_safe(repo_name.split('/').last.downcase)
@@ -274,6 +276,9 @@ class UffizziCore::DeploymentService
274
276
  envs.push('name' => 'UFFIZZI_URL', 'value' => "https://#{deployment.preview_url}")
275
277
  envs.push('name' => 'UFFIZZI_DOMAIN', 'value' => deployment.preview_url)
276
278
 
279
+ preview_url = "https://#{deployment_module.build_preview_url(deployment)}" if deployment_module.present?
280
+ envs.push('name' => 'UFFIZZI_PREDICTABLE_URL', 'value' => preview_url || '')
281
+
277
282
  container.variables = [] if container.variables.nil?
278
283
 
279
284
  container.variables.push(*envs)
@@ -302,13 +307,13 @@ class UffizziCore::DeploymentService
302
307
  def github_pull_request_data(deployment)
303
308
  github_data = deployment.metadata.dig('labels', 'github')
304
309
 
305
- [github_data['repository'], github_data.dig('event', 'number')]
310
+ [:github, github_data['repository'], github_data.dig('event', 'number')]
306
311
  end
307
312
 
308
313
  def gitlab_merge_request_data(deployment)
309
314
  gitlab_data = deployment.metadata.dig('labels', 'gitlab')
310
315
 
311
- [gitlab_data['repo'], gitlab_data.dig('merge_request', 'number')]
316
+ [:gitlab, gitlab_data['repo'], gitlab_data.dig('merge_request', 'number')]
312
317
  end
313
318
 
314
319
  def format_url_safe(name)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module UffizziCore
4
- VERSION = '2.0.25'
4
+ VERSION = '2.1.1'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: uffizzi_core
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.25
4
+ version: 2.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Josh Thurman
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2023-01-26 00:00:00.000000000 Z
12
+ date: 2023-02-02 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: aasm