summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
Diffstat (limited to 'app')
-rw-r--r--app/models/deployment.rb4
-rw-r--r--app/models/environment.rb1
-rw-r--r--app/serializers/deployment_entity.rb1
-rw-r--r--app/serializers/deployment_serializer.rb2
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