diff options
Diffstat (limited to 'app')
-rw-r--r-- | app/models/deployment.rb | 4 | ||||
-rw-r--r-- | app/models/environment.rb | 1 | ||||
-rw-r--r-- | app/serializers/deployment_entity.rb | 1 | ||||
-rw-r--r-- | app/serializers/deployment_serializer.rb | 2 |
4 files changed, 7 insertions, 1 deletions
diff --git a/app/models/deployment.rb b/app/models/deployment.rb index 7bcded5b5e1..aa69e0e5621 100644 --- a/app/models/deployment.rb +++ b/app/models/deployment.rb @@ -30,6 +30,10 @@ class Deployment < ActiveRecord::Base self == environment.last_deployment end + def first? + self == environment.first_deployment + end + def create_ref project.repository.create_ref(ref, ref_path) end diff --git a/app/models/environment.rb b/app/models/environment.rb index bf69b4c50f0..0a8398ff29b 100644 --- a/app/models/environment.rb +++ b/app/models/environment.rb @@ -9,6 +9,7 @@ class Environment < ActiveRecord::Base has_many :deployments, dependent: :destroy # rubocop:disable Cop/ActiveRecordDependent has_one :last_deployment, -> { order('deployments.id DESC') }, class_name: 'Deployment' + has_one :first_deployment, -> { order('deployments.id ASC') }, class_name: 'Deployment' before_validation :nullify_external_url before_validation :generate_slug, if: ->(env) { env.slug.blank? } diff --git a/app/serializers/deployment_entity.rb b/app/serializers/deployment_entity.rb index 241c689bccd..6bacf746246 100644 --- a/app/serializers/deployment_entity.rb +++ b/app/serializers/deployment_entity.rb @@ -18,6 +18,7 @@ class DeploymentEntity < Grape::Entity expose :created_at expose :tag expose :last? + expose :first? expose :user, using: UserEntity expose :commit, using: CommitEntity diff --git a/app/serializers/deployment_serializer.rb b/app/serializers/deployment_serializer.rb index cba5c3f311f..001efc22135 100644 --- a/app/serializers/deployment_serializer.rb +++ b/app/serializers/deployment_serializer.rb @@ -2,7 +2,7 @@ class DeploymentSerializer < BaseSerializer entity DeploymentEntity def represent_concise(resource, opts = {}) - opts[:only] = [:iid, :id, :sha, :created_at, :tag, :last?, :id, ref: [:name]] + opts[:only] = [:iid, :id, :sha, :created_at, :tag, :last?, :first?, :id, ref: [:name]] represent(resource, opts) end end |