uffizzi_core 2.0.25 → 2.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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