Skip to content

Commit

Permalink
Merge pull request #245 from adewg/Develop
Browse files Browse the repository at this point in the history
Merge Develop into ADE-1 for 1.2 release
  • Loading branch information
cookeac authored Sep 15, 2021
2 parents eaf2657 + 611a342 commit b10d8d7
Show file tree
Hide file tree
Showing 73 changed files with 9,350 additions and 176 deletions.
1 change: 1 addition & 0 deletions .github/workflows/ValidateWithSpectral.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,3 +11,4 @@ jobs:
- name: validate JSON URL scheme
run: |
docker run stoplight/spectral lint https://raw.githubusercontent.com/${{github.repository}}/${GITHUB_REF##*/}/url-schemes/exampleUrlScheme.json -v
docker run stoplight/spectral lint https://raw.githubusercontent.com/${{github.repository}}/${GITHUB_REF##*/}/url-schemes/healthURLScheme.json -v
80 changes: 78 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,68 @@
# Changelog

## [v1.1.1](https://github.com/adewg/ICAR/tree/HEAD)
## [v1.2.0](https://github.com/adewg/ICAR/tree/HEAD)

[Full Changelog](https://github.com/adewg/ICAR/compare/v1.1.0...HEAD)
[Full Changelog](https://github.com/adewg/ICAR/compare/v1.1.1...HEAD)

**Implemented enhancements:**

- Request to add "Unknown" to icarDepartureReasonType enumeration [\#206](https://github.com/adewg/ICAR/issues/206)

**Closed issues:**

- Extension to IcarMovementDeathEventResource [\#224](https://github.com/adewg/ICAR/issues/224)
- Add "PregnantMultipleFoetus" in the icarAnimalReproductionStatusType [\#223](https://github.com/adewg/ICAR/issues/223)
- Add "icarQuarterId" in the TreamentEventressources? [\#221](https://github.com/adewg/ICAR/issues/221)
- IcarMilkingVisitEventResource, extend with exemptFromRecording [\#220](https://github.com/adewg/ICAR/issues/220)
- TreamentProgramRessource? [\#219](https://github.com/adewg/ICAR/issues/219)
- Milking-Statistics [\#218](https://github.com/adewg/ICAR/issues/218)
- icarDailyFeedReportCollection refers to non-existing icarDailyFeedReportResource [\#216](https://github.com/adewg/ICAR/issues/216)
- Remove DoNotBreed from animal [\#213](https://github.com/adewg/ICAR/issues/213)
- icarFeedQuantityType mass unit codes [\#211](https://github.com/adewg/ICAR/issues/211)
- Release procedure: when is a ticket mature enough [\#207](https://github.com/adewg/ICAR/issues/207)
- Code generation from API specification. [\#205](https://github.com/adewg/ICAR/issues/205)
- HTTPStatus-Codes in error-cases [\#203](https://github.com/adewg/ICAR/issues/203)
- Feed and AnimalSet [\#202](https://github.com/adewg/ICAR/issues/202)
- "Unknown" to be added in icarAnimalGenderType [\#199](https://github.com/adewg/ICAR/issues/199)
- Transponders, Animal Numbers and the ManagementTag on the AnimalResource [\#195](https://github.com/adewg/ICAR/issues/195)
- Feed Storage \(e.g. Silo\) in ICAR? [\#194](https://github.com/adewg/ICAR/issues/194)
- Add icarDepartureReasonType on icarMovementDeathEventResource [\#193](https://github.com/adewg/ICAR/issues/193)
- Add icarConsignmentType on MovementDeathEventResource [\#192](https://github.com/adewg/ICAR/issues/192)
- Missing departureReasonType [\#190](https://github.com/adewg/ICAR/issues/190)
- Move/rename locations.md [\#188](https://github.com/adewg/ICAR/issues/188)
- Define enumeration for icarReproParturitionEventResource - calvingEase [\#185](https://github.com/adewg/ICAR/issues/185)
- Missing types in MovementBirthEventResource [\#183](https://github.com/adewg/ICAR/issues/183)
- Rank field in icarReproInseminationEventResource event [\#180](https://github.com/adewg/ICAR/issues/180)
- endpoint /animalSets uses inconsistent syntax [\#179](https://github.com/adewg/ICAR/issues/179)
- Referencing other resources \(especially possibly deleted ones or ones in other locations\) [\#178](https://github.com/adewg/ICAR/issues/178)
- Feed Attributes or Properties [\#173](https://github.com/adewg/ICAR/issues/173)
- Feed Categories or Types [\#172](https://github.com/adewg/ICAR/issues/172)
- Missing reference in icarMedicineResource -resource type [\#167](https://github.com/adewg/ICAR/issues/167)
- Add timezone to LocationResource [\#164](https://github.com/adewg/ICAR/issues/164)
- Versioning and branches [\#163](https://github.com/adewg/ICAR/issues/163)
- Semantics for POST method [\#154](https://github.com/adewg/ICAR/issues/154)
- Unique resource identifiers when sending new data to a server [\#153](https://github.com/adewg/ICAR/issues/153)
- Define URL scheme that allows updating [\#147](https://github.com/adewg/ICAR/issues/147)
- Listing and Filtering Resources \(specifically Animals\) [\#130](https://github.com/adewg/ICAR/issues/130)
- What is the proposed way to retrieve available schemata or schema/id combinations for different identifiers [\#109](https://github.com/adewg/ICAR/issues/109)
- Changes log/Release notes in ADE release versions [\#99](https://github.com/adewg/ICAR/issues/99)
- feed intake API [\#93](https://github.com/adewg/ICAR/issues/93)

**Merged pull requests:**

- Correct so branches are only MAJOR versions + Develop [\#165](https://github.com/adewg/ICAR/pull/165) ([cookeac](https://github.com/cookeac))

## [v1.1.1](https://github.com/adewg/ICAR/tree/v1.1.1) (2020-10-07)

[Full Changelog](https://github.com/adewg/ICAR/compare/v1.1.0...v1.1.1)

**Fixed bugs:**

- Error when generating code from tag v1.1.0 [\#158](https://github.com/adewg/ICAR/issues/158)

**Merged pull requests:**

- Update changelog [\#161](https://github.com/adewg/ICAR/pull/161) ([cookeac](https://github.com/cookeac))
- Hotfix: Remove oneOf: allow both courses and treatments [\#159](https://github.com/adewg/ICAR/pull/159) ([cookeac](https://github.com/cookeac))

## [v1.1.0](https://github.com/adewg/ICAR/tree/v1.1.0) (2020-09-28)
Expand Down Expand Up @@ -158,6 +211,29 @@
- Changes to avoid confusion [\#46](https://github.com/adewg/ICAR/pull/46) ([erwinspeybroeck](https://github.com/erwinspeybroeck))
- add GB/Northern Ireland schemes [\#45](https://github.com/adewg/ICAR/pull/45) ([Jongmassey](https://github.com/Jongmassey))
- Solved some issues [\#44](https://github.com/adewg/ICAR/pull/44) ([erwinspeybroeck](https://github.com/erwinspeybroeck))
- Added missing parturition resource. [\#43](https://github.com/adewg/ICAR/pull/43) ([cookeac](https://github.com/cookeac))
- Added Insemination, Abortion, Pregnancy Diagnosis, Parturition, Drying Off. [\#42](https://github.com/adewg/ICAR/pull/42) ([cookeac](https://github.com/cookeac))
- Revert "Adding swagger endpoints" [\#40](https://github.com/adewg/ICAR/pull/40) ([cookeac](https://github.com/cookeac))
- Adding swagger endpoints [\#39](https://github.com/adewg/ICAR/pull/39) ([cookeac](https://github.com/cookeac))
- Added managementTag [\#37](https://github.com/adewg/ICAR/pull/37) ([erwinspeybroeck](https://github.com/erwinspeybroeck))
- fixed typo's in name of operations [\#36](https://github.com/adewg/ICAR/pull/36) ([alamers](https://github.com/alamers))
- extended the example urls with the registration API's \(+ some small typo's\) [\#34](https://github.com/adewg/ICAR/pull/34) ([erwinspeybroeck](https://github.com/erwinspeybroeck))
- made fields compulsory wrt synchronization discussion [\#33](https://github.com/adewg/ICAR/pull/33) ([alamers](https://github.com/alamers))
- Add parentage to icarAnimalCore, add Movement events. [\#32](https://github.com/adewg/ICAR/pull/32) ([cookeac](https://github.com/cookeac))
- Milking visit changes [\#31](https://github.com/adewg/ICAR/pull/31) ([erwinspeybroeck](https://github.com/erwinspeybroeck))
- fixed broken url scheme links [\#30](https://github.com/adewg/ICAR/pull/30) ([alamers](https://github.com/alamers))
- Added icarAnimalCoreResource and its corresponding types. [\#29](https://github.com/adewg/ICAR/pull/29) ([cookeac](https://github.com/cookeac))
- Linting errors [\#28](https://github.com/adewg/ICAR/pull/28) ([alamers](https://github.com/alamers))
- issue 11: have a readable version of the spec [\#25](https://github.com/adewg/ICAR/pull/25) ([alamers](https://github.com/alamers))
- Inheritance changes - icarEventCoreResource, icarIdentifierType [\#24](https://github.com/adewg/ICAR/pull/24) ([cookeac](https://github.com/cookeac))
- Update location-scheme.md with reverse domain recommendation. [\#22](https://github.com/adewg/ICAR/pull/22) ([cookeac](https://github.com/cookeac))
- Issue : Create an example url scheme \#16 [\#20](https://github.com/adewg/ICAR/pull/20) ([erwinspeybroeck](https://github.com/erwinspeybroeck))
- Updated the yaml to the proposed API [\#6](https://github.com/adewg/ICAR/pull/6) ([erwinspeybroeck](https://github.com/erwinspeybroeck))
- Create location-scheme.md [\#5](https://github.com/adewg/ICAR/pull/5) ([henning-winkelmann](https://github.com/henning-winkelmann))
- added some design rules as discussed in the WG [\#4](https://github.com/adewg/ICAR/pull/4) ([alamers](https://github.com/alamers))
- Made JoinData spec comparable to the DL draft; tagged JD endpoints with new/existing compared to draft [\#3](https://github.com/adewg/ICAR/pull/3) ([alamers](https://github.com/alamers))
- Update README.md [\#2](https://github.com/adewg/ICAR/pull/2) ([cookeac](https://github.com/cookeac))
- Added JoinData messages and restructured the repository [\#1](https://github.com/adewg/ICAR/pull/1) ([ElmerHarms](https://github.com/ElmerHarms))



Expand Down
8 changes: 5 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,14 @@ There you will find:
* Tips for [implementing a service](https://github.com/adewg/ICAR/wiki/Implementing-a-service) using the standard

## OpenAPI Quick Start
Developers may wish to start by reading the **\url-schemes\exampleUrlScheme.json** file in their favourite OpenAPI specification editor.
You can also [view the API using the swagger editor](https://editor.swagger.io/?url=https://raw.githubusercontent.com/adewg/ICAR/ADE-1/url-schemes/exampleUrlScheme.json).
Developers may wish to start by reading OpenAPI specification examples in the **\url-schemes** folder in their favourite OpenAPI specification editor.
You can also [view the basic example Url Scheme using the swagger editor](https://editor.swagger.io/?url=https://raw.githubusercontent.com/adewg/ICAR/ADE-1/url-schemes/exampleUrlScheme.json).

## Code Generation
Developers will likely take one or more of the **url-schemes** and generate their own code wrappers using **[openapi-generator](https://github.com/OpenAPITools/openapi-generator)** or an equivalent generation tool. Version 1.2 of this specification has been tested with OpenAPI Generator version 5.2.0 and conforms to the OpenAPI '3.0' specification as much as possible (and JSON Schema 7). There are some known issues with Nullable reference types, as documented in issue #214. In particular, .NET code generation can sometimes ignore the nullable intention, and Java code generation will generate semantically different outcomes depending on the value of the openApiNullable parameter for code generation. [See issue 214 for more details](https://github.com/adewg/ICAR/issues/214).

## Acknowledgements
Version 1.0 of this standard was based on previous work of:
Version 1.2 of this standard was based on previous work of:
* The ICAR ADE working group XML standard
* [DataLinker](https://datalinker.org)
* [JoinData](https://www.join-data.nl/)
Expand Down
21 changes: 21 additions & 0 deletions collections/icarDailyFeedReportCollection.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
"description": "Represents a collection of daily feed reports. Based on icarResourceCollection to provide paging etc.",

"allOf": [{
"$ref": "../collections/icarResourceCollection.json"
},
{
"type": "object",

"properties": {
"member": {
"type": "array",
"items": {
"$ref": "../resources/icarDailyFeedReportResource.json"
},
"description": "As per JSON-LD Hydra syntax, member provides the array of objects, in this case daily feed reports."
}
}
}
]
}
21 changes: 21 additions & 0 deletions collections/icarDailyMilkingAveragesCollection.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
"description": "Represents a collection of daily milking averages per animal. Based on icarResourceCollection to provide paging etc.",

"allOf": [{
"$ref": "../collections/icarResourceCollection.json"
},
{
"type": "object",

"properties": {
"member": {
"type": "array",
"items": {
"$ref": "../resources/icarDailyMilkingAveragesResource.json"
},
"description": "As per JSON-LD Hydra syntax, member provides the array of objects, in this case test day result events."
}
}
}
]
}
21 changes: 21 additions & 0 deletions collections/icarFeedCollection.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
"description": "Represents a collection of feeds. Based on icarResourceCollection to provide paging etc.",

"allOf": [{
"$ref": "../collections/icarResourceCollection.json"
},
{
"type": "object",

"properties": {
"member": {
"type": "array",
"items": {
"$ref": "../resources/icarFeedResource.json"
},
"description": "As per JSON-LD Hydra syntax, member provides the array of objects, in this case feeds."
}
}
}
]
}
21 changes: 21 additions & 0 deletions collections/icarFeedIntakeEventCollection.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
"description": "Represents a collection of feed intakes. Based on icarResourceCollection to provide paging etc.",

"allOf": [{
"$ref": "../collections/icarResourceCollection.json"
},
{
"type": "object",

"properties": {
"member": {
"type": "array",
"items": {
"$ref": "../resources/icarFeedIntakeEventResource.json"
},
"description": "As per JSON-LD Hydra syntax, member provides the array of objects, in this case feed intakes."
}
}
}
]
}
21 changes: 21 additions & 0 deletions collections/icarFeedRecommendationCollection.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
"description": "Represents a collection of feed recommendations. Based on icarResourceCollection to provide paging etc.",

"allOf": [{
"$ref": "../collections/icarResourceCollection.json"
},
{
"type": "object",

"properties": {
"member": {
"type": "array",
"items": {
"$ref": "../resources/icarFeedRecommendationResource.json"
},
"description": "As per JSON-LD Hydra syntax, member provides the array of objects, in this case feed recommendations."
}
}
}
]
}
21 changes: 21 additions & 0 deletions collections/icarFeedReportCollection.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
"description": "Represents a collection of feed reports. Based on icarResourceCollection to provide paging etc.",

"allOf": [{
"$ref": "../collections/icarResourceCollection.json"
},
{
"type": "object",

"properties": {
"member": {
"type": "array",
"items": {
"$ref": "../resources/icarFeedReportResource.json"
},
"description": "As per JSON-LD Hydra syntax, member provides the array of objects, in this case feed reports."
}
}
}
]
}
21 changes: 21 additions & 0 deletions collections/icarFeedStorageCollection.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
"description": "Represents a collection of feed storage devices. Based on icarResourceCollection to provide paging etc.",

"allOf": [{
"$ref": "../collections/icarResourceCollection.json"
},
{
"type": "object",

"properties": {
"member": {
"type": "array",
"items": {
"$ref": "../resources/icarFeedStorageResource.json"
},
"description": "As per JSON-LD Hydra syntax, member provides the array of objects, in this case feed storage devices."
}
}
}
]
}
21 changes: 21 additions & 0 deletions collections/icarRationCollection.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
"description": "Represents a collection of rations. Based on icarResourceCollection to provide paging etc.",

"allOf": [{
"$ref": "../collections/icarResourceCollection.json"
},
{
"type": "object",

"properties": {
"member": {
"type": "array",
"items": {
"$ref": "../resources/icarRationResource.json"
},
"description": "As per JSON-LD Hydra syntax, member provides the array of objects, in this case rations."
}
}
}
]
}
21 changes: 21 additions & 0 deletions collections/icarSchemeTypeCollection.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
"description": "Represents a collection of schemata/types. Based on icarResourceCollection to provide paging etc.",

"allOf": [{
"$ref": "../collections/icarResourceCollection.json"
},
{
"type": "object",

"properties": {
"member": {
"type": "array",
"items": {
"$ref": "../resources/icarSchemeTypeResource.json"
},
"description": "As per JSON-LD Hydra syntax, member provides the array of objects, in this case scheme values."
}
}
}
]
}
21 changes: 21 additions & 0 deletions collections/icarSchemeValueCollection.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
"description": "Represents a collection of scheme type values. Based on icarResourceCollection to provide paging etc.",

"allOf": [{
"$ref": "../collections/icarResourceCollection.json"
},
{
"type": "object",

"properties": {
"member": {
"type": "array",
"items": {
"$ref": "../resources/icarSchemeValueResource.json"
},
"description": "As per JSON-LD Hydra syntax, member provides the array of objects, in this case schemata or scheme types."
}
}
}
]
}
3 changes: 2 additions & 1 deletion enums/icarAnimalGenderType.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
"FemaleNeuter",
"Male",
"MaleCryptorchid",
"MaleNeuter"
"MaleNeuter",
"Unknown"
]
}
3 changes: 2 additions & 1 deletion enums/icarAnimalReproductionStatusType.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
"Pregnant",
"NotPregnant",
"Birthed",
"DoNotBreed"
"DoNotBreed",
"PregnantMultipleFoetus"
]
}
11 changes: 11 additions & 0 deletions enums/icarBatchResultSeverityType.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"description": "Severity code to distinguish warnings and errors.",

"type": "string",

"enum": [
"Information",
"Warning",
"Error"
]
}
15 changes: 15 additions & 0 deletions enums/icarDeathMethodType.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
"description": "Enumeration for method of death (whether the animal died from an accident, natural causes, or was euthanised).",

"type": "string",

"enum": [
"Perished",
"Slaughter",
"Culled",
"Theft",
"Lost",
"Accident",
"Other"
]
}
Loading

0 comments on commit b10d8d7

Please sign in to comment.