Skip to content

Commit

Permalink
Merge branch 'ecs-tlr-feature' of github.com:folio-org/mod-inventory-…
Browse files Browse the repository at this point in the history
…storage into ecs-tlr-feature

# Conflicts:
#	pom.xml
  • Loading branch information
roman-barannyk committed Nov 8, 2024
2 parents 8a16e4b + 676d236 commit 3c47801
Show file tree
Hide file tree
Showing 89 changed files with 2,847 additions and 993 deletions.
69 changes: 41 additions & 28 deletions NEWS.md
Original file line number Diff line number Diff line change
@@ -1,41 +1,61 @@
## v28.0.0 In progress
## v28.1.0 YYYY-mm-DD
### Breaking changes
* Migrate "publicationPeriod" data to the Dates object and remove it from the Instance schema ([MODINVSTOR-1232](https://folio-org.atlassian.net/browse/MODINVSTOR-1232))
* Description ([ISSUE](https://folio-org.atlassian.net/browse/ISSUE))

### New APIs versions
* Provides `instance-storage 11.0`
* Provides `instance-storage-batch 3.0`
* Provides `instance-storage-batch-sync 3.0`
* Provides `instance-storage-batch-sync-unsafe 3.0`
* Provides `inventory-view 3.0`
* Provides `inventory-view-instance-set 3.0`
* Provides `instance-iteration 1.0`
* Requires `holdings-storage 8.0`
* Requires `bound-with-parts-storage 2.0`
* Requires `async-migration 1.0`
* Provides `API_NAME vX.Y`
* Requires `API_NAME vX.Y`

### Features
* Add module descriptor validator plugin and fix the permission names ([MODINVSTOR-1247](https://folio-org.atlassian.net/browse/MODINVSTOR-1247))
* Modify endpoint for bulk instances upsert with publish events flag ([MODINVSTOR-1283](https://folio-org.atlassian.net/browse/MODINVSTOR-1283))
* Change Kafka event publishing keys for holdings and items ([MODINVSTOR-1281](https://folio-org.atlassian.net/browse/MODINVSTOR-1281))

### Bug fixes
* Description ([ISSUE](https://folio-org.atlassian.net/browse/ISSUE))

### Tech Dept
* Upgrade localstack from 0.11.3 to s3-latest (=3.8.0) ([MODINVSTOR-1272](https://folio-org.atlassian.net/browse/MODINVSTOR-1272))
* Description ([ISSUE](https://folio-org.atlassian.net/browse/ISSUE))

### Dependencies
* Bump `LIB_NAME` from `OLD_VERSION` to `NEW_VERSION`
* Add `LIB_NAME VERSION`
* Remove `LIB_NAME`

---

## v27.2.0 2024-09-24
## v28.0.0 2024-11-01
### Breaking changes
* Migrate "publicationPeriod" data to the Dates object and remove it from the Instance schema ([MODINVSTOR-1232](https://folio-org.atlassian.net/browse/MODINVSTOR-1232))
* Delete deprecated `shelf-locations` API ([MODINVSTOR-1183](https://folio-org.atlassian.net/browse/MODINVSTOR-1183))
* Required sourceId field in holdings record ([MODINVSTOR-1161](https://folio-org.atlassian.net/browse/MODINVSTOR-1161))

### New APIs versions
* Provides `instance-storage 11.0`
* Provides `instance-storage-batch 3.0`
* Provides `instance-storage-batch-sync 3.0`
* Provides `instance-storage-batch-sync-unsafe 3.0`
* Provides `inventory-view 3.0`
* Provides `inventory-view-instance-set 3.0`
* Provides `instance-iteration 1.0`
* Provides `holdings-storage 8.0`
* Provides `bound-with-parts-storage 2.0`
* Provides `async-migration 1.0`
* Provides `subject-source 1.0`
* Provides `subject-types 1.0`
* Provides `instance-storage-bulk 1.0`
* Provides `instance-date-types 1.0`
* Provides `locations 3.1`
* Provides `instance-storage 10.3`
* Requires `holdings-storage 6.1`

### Removed APIs
* `shelf-locations`

### Features
* Add floating collection flag in location schema ([MODINVSTOR-1250](https://issues.folio.org/browse/MODINVSTOR-1250))
* Implement domain event production for location create/update/delete ([MODINVSTOR-1181](https://issues.folio.org/browse/MODINVSTOR-1181))
* Merge custom ECS TLR feature branch into master ([MODINVSTOR-1262](https://folio-org.atlassian.net/browse/MODINVSTOR-1262))
* Service points synchronization: implement processors ([MODINVSTOR-1246](https://folio-org.atlassian.net/browse/MODINVSTOR-1246))
* Service points synchronization: create a verticle ([MODINVSTOR-1245](https://folio-org.atlassian.net/browse/MODINVSTOR-1245))
* Do not return routing service points by default ([MODINVSTOR-1219](https://folio-org.atlassian.net/browse/MODINVSTOR-1219))
* Add a new boolean field ecsRequestRouting to the service point schema ([MODINVSTOR-1179](https://issues.folio.org/browse/MODINVSTOR-1179))
* Implement domain event production for library create/update/delete ([MODINVSTOR-1216](https://issues.folio.org/browse/MODINVSTOR-1216))
* Implement domain event production for campus create/update/delete ([MODINVSTOR-1217](https://issues.folio.org/browse/MODINVSTOR-1217))
Expand All @@ -51,6 +71,7 @@
* Implement endpoint for bulk instances upsert from external file ([MODINVSTOR-1225](https://folio-org.atlassian.net/browse/MODINVSTOR-1225))
* Add Subject source and Subject type to schema ([MODINVSTOR-1205](https://folio-org.atlassian.net/browse/MODINVSTOR-1205))
* Add codes to Subject sources ([MODINVSTOR-1264](https://folio-org.atlassian.net/browse/MODINVSTOR-1264))
* Implement publication period migration, create new InstanceWithoutPubPeriod schema for request/response API ([MODINVSTOR-1271](https://folio-org.atlassian.net/browse/MODINVSTOR-1271))

### Bug fixes
* Unintended update of instance records \_version (optimistic locking) whenever any of its holdings or items are created, updated or deleted. ([MODINVSTOR-1186](https://folio-org.atlassian.net/browse/MODINVSTOR-1186))
Expand All @@ -62,18 +83,11 @@
* Update "BC" name in GET instance-date-type to "B.C." ([MODINVSTOR-1255](https://folio-org.atlassian.net/browse/MODINVSTOR-1255))

### Tech Dept
* Upgrade localstack from 0.11.3 to s3-latest (=3.8.0) ([MODINVSTOR-1272](https://folio-org.atlassian.net/browse/MODINVSTOR-1272))
* Add module descriptor validator plugin and fix the permission names ([MODINVSTOR-1247](https://folio-org.atlassian.net/browse/MODINVSTOR-1247))
* Kafka testcontainers: kafka.KafkaContainer, apache/kafka-native:3.8.0, KafkaTopicsExistsTest fix ([MODINVSTOR-1251](https://folio-org.atlassian.net/browse/MODINVSTOR-1251))

### Dependencies
* Bump `LIB_NAME` from `OLD_VERSION` to `NEW_VERSION`
* Bump `domain-models-runtime` from `35.2.0` to `35.2.2`
* Bump `holdings-storage` from `6.0` to `7.0`
* Bump `holdings-storage-batch-sync` from `1.1` to `2.0`
* Bump `holdings-storage-batch-sync-unsafe` from `1.0` to `2.0`
* Bump `folio-kafka-wrapper` from `3.1.1` to `3.2.0`
* Add `folio-s3-client` `2.2.0`
* Add `LIB_NAME` `2.7.4`
* Remove `LIB_NAME`
---

## v27.1.0 2024-03-19
### New APIs versions
Expand All @@ -96,7 +110,6 @@
* Create base for reference data APIs integration tests ([MODINVSTOR-1164](https://issues.folio.org/browse/MODINVSTOR-1164))
* Make response message more informative for hrid exceptions ([MODINVSTOR-1100](https://issues.folio.org/browse/MODINVSTOR-1100))


### Dependencies
* Bump `vertx` from `4.3.5` to `4.5.5`
* Bump `log4j` from `2.17.2` to `2.23.1`
Expand Down
71 changes: 9 additions & 62 deletions descriptors/ModuleDescriptor-template.json
Original file line number Diff line number Diff line change
Expand Up @@ -370,33 +370,6 @@
}
]
},
{
"id": "shelf-locations",
"version": "1.1",
"handlers": [
{
"methods": ["GET"],
"pathPattern": "/shelf-locations",
"permissionsRequired": ["inventory-storage.shelf-locations.collection.get"]
}, {
"methods": ["GET"],
"pathPattern": "/shelf-locations/{id}",
"permissionsRequired": ["inventory-storage.shelf-locations.item.get"]
}, {
"methods": ["POST"],
"pathPattern": "/shelf-locations",
"permissionsRequired": ["inventory-storage.shelf-locations.item.post"]
}, {
"methods": ["PUT"],
"pathPattern": "/shelf-locations/{id}",
"permissionsRequired": ["inventory-storage.shelf-locations.item.put"]
}, {
"methods": ["DELETE"],
"pathPattern": "/shelf-locations/{id}",
"permissionsRequired": ["inventory-storage.shelf-locations.item.delete"]
}
]
},
{
"id": "location-units",
"version": "2.0",
Expand Down Expand Up @@ -562,11 +535,13 @@
}, {
"methods": ["POST"],
"pathPattern": "/subject-types",
"permissionsRequired": ["inventory-storage.subject-types.item.post"]
"permissionsRequired": ["inventory-storage.subject-types.item.post"],
"modulePermissions": ["user-tenants.collection.get"]
}, {
"methods": ["PUT"],
"pathPattern": "/subject-types/{id}",
"permissionsRequired": ["inventory-storage.subject-types.item.put"]
"permissionsRequired": ["inventory-storage.subject-types.item.put"],
"modulePermissions": ["user-tenants.collection.get"]
}, {
"methods": ["DELETE"],
"pathPattern": "/subject-types/{id}",
Expand All @@ -589,11 +564,13 @@
}, {
"methods": ["POST"],
"pathPattern": "/subject-sources",
"permissionsRequired": ["inventory-storage.subject-sources.item.post"]
"permissionsRequired": ["inventory-storage.subject-sources.item.post"],
"modulePermissions": ["user-tenants.collection.get"]
}, {
"methods": ["PUT"],
"pathPattern": "/subject-sources/{id}",
"permissionsRequired": ["inventory-storage.subject-sources.item.put"]
"permissionsRequired": ["inventory-storage.subject-sources.item.put"],
"modulePermissions": ["user-tenants.collection.get"]
}, {
"methods": ["DELETE"],
"pathPattern": "/subject-sources/{id}",
Expand Down Expand Up @@ -1143,7 +1120,7 @@
},
{
"id": "service-points",
"version": "3.5",
"version": "3.4",
"handlers": [
{
"methods": ["GET"],
Expand Down Expand Up @@ -1688,31 +1665,6 @@
"displayName": "inventory storage - delete individual material-type",
"description": "delete individual material-type from storage"
},
{
"permissionName": "inventory-storage.shelf-locations.collection.get",
"displayName": "inventory storage - get shelf location collection",
"description": "get shelf location collection from storage"
},
{
"permissionName": "inventory-storage.shelf-locations.item.get",
"displayName": "inventory storage - get individual shelf location",
"description": "get individual shelf location from storage"
},
{
"permissionName": "inventory-storage.shelf-locations.item.post",
"displayName": "inventory storage - create individual shelf location",
"description": "create individual shelf location in storage"
},
{
"permissionName": "inventory-storage.shelf-locations.item.put",
"displayName": "inventory storage - modify shelf location",
"description": "modify shelf location in storage"
},
{
"permissionName": "inventory-storage.shelf-locations.item.delete",
"displayName": "inventory storage - delete individual shelf location",
"description": "delete individual shelf location from storage"
},
{
"permissionName": "inventory-storage.location-units.institutions.collection.get",
"displayName": "inventory storage - location units - get institution collection",
Expand Down Expand Up @@ -2704,11 +2656,6 @@
"inventory-storage.material-types.item.post",
"inventory-storage.material-types.item.put",
"inventory-storage.material-types.item.delete",
"inventory-storage.shelf-locations.collection.get",
"inventory-storage.shelf-locations.item.get",
"inventory-storage.shelf-locations.item.post",
"inventory-storage.shelf-locations.item.put",
"inventory-storage.shelf-locations.item.delete",
"inventory-storage.location-units.institutions.collection.get",
"inventory-storage.location-units.institutions.item.get",
"inventory-storage.location-units.institutions.item.post",
Expand Down
25 changes: 15 additions & 10 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

<artifactId>mod-inventory-storage</artifactId>
<groupId>org.folio</groupId>
<version>28.0.0-SNAPSHOT</version>
<version>28.1.0-SNAPSHOT</version>

<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
Expand All @@ -14,29 +14,29 @@

<raml-module-builder-version>35.3.0</raml-module-builder-version> <!-- also update vertx.version -->
<vertx.version>4.5.10</vertx.version>
<marc4j.version>2.9.5</marc4j.version>
<marc4j.version>2.9.6</marc4j.version>
<aspectj.version>1.9.22.1</aspectj.version>
<folio-kafka-wrapper.version>3.2.0-SNAPSHOT</folio-kafka-wrapper.version>
<folio-kafka-wrapper.version>3.3.0-SNAPSHOT</folio-kafka-wrapper.version>
<caffeine.version>3.1.8</caffeine.version>
<lombok.version>1.18.34</lombok.version>
<snappy-java.version>1.1.10.7</snappy-java.version>
<commons-lang3.version>3.17.0</commons-lang3.version>
<log4j.version>2.24.1</log4j.version>
<folio-s3-client.version>2.2.0-SNAPSHOT</folio-s3-client.version>
<folio-s3-client.version>2.3.0-SNAPSHOT</folio-s3-client.version>
<google-code-gson.version>2.11.0</google-code-gson.version>

<okapi-testing.version>6.0.3</okapi-testing.version>
<junit.version>5.11.2</junit.version>
<testcontainers.version>1.20.2</testcontainers.version>
<junit.version>5.11.3</junit.version>
<testcontainers.version>1.20.3</testcontainers.version>
<joda-time.version>2.13.0</joda-time.version>
<hamcrest.version>3.0</hamcrest.version>
<junit4.version>4.13.2</junit4.version>
<mockito.version>5.2.0</mockito.version>
<JUnitParams.version>1.1.1</JUnitParams.version>
<wiremock.version>3.9.1</wiremock.version>
<wiremock.version>3.9.2</wiremock.version>
<rest-assured.version>5.5.0</rest-assured.version>
<awaitility.version>4.2.2</awaitility.version>
<assertj.version>3.26.3</assertj.version>
<localstack.version>1.20.1</localstack.version>
<system-stubs-junit4.version>2.1.7</system-stubs-junit4.version>

<maven-compiler-plugin.version>3.13.0</maven-compiler-plugin.version>
Expand All @@ -48,8 +48,8 @@
<copy-rename-maven-plugin.version>1.0.1</copy-rename-maven-plugin.version>
<maven-shade-plugin.version>3.6.0</maven-shade-plugin.version>
<maven-surefire-plugin.version>3.5.1</maven-surefire-plugin.version>
<maven-checkstyle-plugin.version>3.5.0</maven-checkstyle-plugin.version>
<checkstyle.version>10.18.2</checkstyle.version>
<maven-checkstyle-plugin.version>3.6.0</maven-checkstyle-plugin.version>
<checkstyle.version>10.19.0</checkstyle.version>
<maven-failsafe-plugin.version>3.5.1</maven-failsafe-plugin.version>
<versions-maven-plugin.version>2.17.1</versions-maven-plugin.version>
<folio-module-descriptor-validator.version>1.0.0</folio-module-descriptor-validator.version>
Expand Down Expand Up @@ -140,6 +140,11 @@
<artifactId>folio-s3-client</artifactId>
<version>${folio-s3-client.version}</version>
</dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>${google-code-gson.version}</version>
</dependency>

<!-- Test Dependencies -->
<dependency>
Expand Down
5 changes: 5 additions & 0 deletions ramls/bulkUpsertRequest.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,11 @@
"recordsFileName": {
"description": "File name of entities records",
"type": "string"
},
"publishEvents": {
"description": "A flag that indicates whether domain events should be published.",
"type": "boolean",
"default": true
}
},
"required": [
Expand Down
Loading

0 comments on commit 3c47801

Please sign in to comment.