diff --git a/image/model.png b/image/model.png index 9958f2c..1661d39 100644 Binary files a/image/model.png and b/image/model.png differ diff --git a/model.puml b/model.puml index 6400729..be2d427 100644 --- a/model.puml +++ b/model.puml @@ -34,6 +34,10 @@ class TroubleTicket <> { @type : String } +class InteropTroubleTicket <> { +} +TroubleTicket <|-- InteropTroubleTicket + class TroubleTicketStatusType <> { acknowledged rejected @@ -97,6 +101,16 @@ class RelatedEntity <> { @type : String } +class RelatedAssetGroup <> { + JSONPath : String + role: String + entityType : String + @baseType : String + @referredType : String + @schemaLocation : Uri + @type : String +} + class RelatedParty <> { href : String id : String @@ -122,6 +136,8 @@ TroubleTicket *--> "0..*" TroubleTicketRelationship : troubleTicketRelationship TroubleTicket *--> "0..*" RelatedEntity : relatedEntity +InteropTroubleTicket *--> "0..*" RelatedAssetGroup : relatedAssetGroup + legend |= Color |= Description | |<#Thistle>| Enumération de constantes| diff --git a/swagger.yaml b/swagger.yaml index e4f8916..ad5eeac 100644 --- a/swagger.yaml +++ b/swagger.yaml @@ -666,6 +666,46 @@ components: description: The actual type of the target instance when needed for disambiguation. maxLength: 255 + + jsonPathAssetGroup: + type: object + description: JsonPath expression used to reference an asset group + required: + - jsonPath + - "@referredType" + properties: + jsonPath: + type: string + description: jsonPath expression used to point an asset group (i.e relatedEntities) + maxLength: 2048 + role: + type: string + description: The role of an entity. + maxLength: 50 + entityType: + type: string + description: The (sub)resource to used (filtering by json path query). + maxLength: 255 + "@baseType": + type: string + description: When sub-classing, this defines the super-class + maxLength: 255 + "@referredType": + type: string + description: The actual type of the target instance when needed for + disambiguation. + maxLength: 255 + "@schemaLocation": + type: string + format: uri + description: A URI to a JSON-Schema file that defines additional attributes and + relationships + maxLength: 2048 + "@type": + type: string + description: When sub-classing, this defines the sub-class entity name + maxLength: 255 + RelatedParty: type: object description: Related Entity reference. A related party defines party or party role linked to a specific entity. @@ -855,6 +895,18 @@ components: type: string description: When sub-classing, this defines the sub-class entity name maxLength: 255 + discriminator: + propertyName: "@type" + + InteropTroubleTicket: + description: Specific Interop Implementation with AssetGroup support + allOf: + - $ref: "#/components/schemas/TroubleTicket" + - type: object + properties: + relatedAssetGroup: + $ref: "#/components/schemas/jsonPathAssetGroup" + TroubleTicket_Create: type: object description: >- @@ -933,6 +985,18 @@ components: type: string description: When sub-classing, this defines the sub-class entity name maxLength: 255 + discriminator: + propertyName: "@type" + + InteropTroubleTicket_Create: + description: Specific Interop Implementation with AssetGroup support + allOf: + - $ref: "#/components/schemas/TroubleTicket_Create" + - type: object + properties: + relatedAssetGroup: + $ref: "#/components/schemas/jsonPathAssetGroup" + TroubleTicket_Update: type: object description: >-