Skip to content

Commit

Permalink
Return version description with version status.
Browse files Browse the repository at this point in the history
  • Loading branch information
justinlittman committed Feb 13, 2025
1 parent 960040c commit 29e1edc
Show file tree
Hide file tree
Showing 4 changed files with 17 additions and 6 deletions.
2 changes: 0 additions & 2 deletions Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -87,8 +87,6 @@ GEM
attr_extras (7.1.0)
base64 (0.2.0)
bcrypt_pbkdf (1.1.1)
bcrypt_pbkdf (1.1.1-arm64-darwin)
bcrypt_pbkdf (1.1.1-x86_64-darwin)
benchmark (0.4.0)
bigdecimal (3.1.9)
bootsnap (1.18.4)
Expand Down
5 changes: 4 additions & 1 deletion app/controllers/versions_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -141,6 +141,8 @@ def load_repository_object_version
def status_for(druid:, version:)
version_service = VersionService.new(druid:, version:)
workflow_state_service = WorkflowStateService.new(druid:, version:)
repository_object = RepositoryObject.find_by!(external_identifier: druid)
version_description = repository_object.versions.select(:version_description).find_by!(version:).version_description

{
versionId: version,
Expand All @@ -149,7 +151,8 @@ def status_for(druid:, version:)
assembling: workflow_state_service.assembling?,
accessioning: workflow_state_service.accessioning?,
closeable: version_service.can_close?,
discardable: version_service.can_discard?
discardable: version_service.can_discard?,
versionDescription: version_description
}
end
end
4 changes: 4 additions & 0 deletions openapi.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3395,6 +3395,7 @@ components:
- accessioning
- closeable
- discardable
- versionDescription
properties:
versionId:
type: integer
Expand All @@ -3414,6 +3415,9 @@ components:
closeable:
type: boolean
description: whether the version can be closed
versionDescription:
type: string
description: a message that explains what changed
BackgroundJobResultResponse:
type: object
properties:
Expand Down
12 changes: 9 additions & 3 deletions spec/requests/versions_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -193,6 +193,7 @@
before do
allow(VersionService).to receive(:new).and_return(version_service)
allow(WorkflowStateService).to receive(:new).and_return(workflow_state_service)
create(:repository_object_version, :with_repository_object, external_identifier: druid, version: 1)
end

it 'returns the version status for an object' do
Expand All @@ -206,7 +207,8 @@
assembling: true,
accessioning: false,
closeable: true,
discardable: true
discardable: true,
versionDescription: 'Best version ever'
})
end
end
Expand All @@ -219,6 +221,8 @@
let(:workflow_state_service2) { instance_double(WorkflowStateService, assembling?: false, accessioning?: true) }

before do
create(:repository_object_version, :with_repository_object, external_identifier: druids[0], version: 1)
create(:repository_object_version, :with_repository_object, external_identifier: druids[1], version: 2)
allow(CocinaObjectStore).to receive(:version).with(druids[0]).and_return(1)
allow(CocinaObjectStore).to receive(:version).with(druids[1]).and_return(2)
allow(CocinaObjectStore).to receive(:version).with(druids[2]).and_raise(CocinaObjectStore::CocinaObjectNotFoundError)
Expand All @@ -241,7 +245,8 @@
assembling: true,
accessioning: false,
closeable: true,
discardable: true
discardable: true,
versionDescription: 'Best version ever'
},
'druid:fp165nz4391' => {
versionId: 2,
Expand All @@ -250,7 +255,8 @@
assembling: false,
accessioning: true,
closeable: false,
discardable: false
discardable: false,
versionDescription: 'Best version ever'
})
end
end
Expand Down

0 comments on commit 29e1edc

Please sign in to comment.