diff --git a/angular/openapi.json b/angular/openapi.json index 6b9dcdb..aa7edcb 100644 --- a/angular/openapi.json +++ b/angular/openapi.json @@ -1 +1 @@ -{"openapi":"3.1.0","info":{"title":"Imaq Platform","description":"","version":"1.0.0"},"servers":[{"url":"\/","description":""}],"paths":{"\/api\/auth":{"post":{"operationId":"postCredentialsItem","tags":["Auth"],"responses":{"200":{"description":"Get JWT token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/AuthResponse"}}}}},"summary":"Get JWT token to login.","requestBody":{"description":"Generate new JWT Token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Credentials"}}},"required":false},"security":[]}},"\/api\/events":{"get":{"operationId":"api_events_get_collection","tags":["Event"],"responses":{"200":{"description":"Event collection","content":{"application\/ld+json":{"schema":{"type":"object","properties":{"member":{"type":"array","items":{"$ref":"#\/components\/schemas\/Event.jsonld"}},"totalItems":{"type":"integer","minimum":0},"view":{"type":"object","properties":{"@id":{"type":"string","format":"iri-reference"},"@type":{"type":"string"},"first":{"type":"string","format":"iri-reference"},"last":{"type":"string","format":"iri-reference"},"previous":{"type":"string","format":"iri-reference"},"next":{"type":"string","format":"iri-reference"}},"example":{"@id":"string","type":"string","first":"string","last":"string","previous":"string","next":"string"}},"search":{"type":"object","properties":{"@type":{"type":"string"},"template":{"type":"string"},"variableRepresentation":{"type":"string"},"mapping":{"type":"array","items":{"type":"object","properties":{"@type":{"type":"string"},"variable":{"type":"string"},"property":{"type":["string","null"]},"required":{"type":"boolean"}}}}}}},"required":["member"]}}}}},"summary":"Retrieves the collection of Event resources.","description":"Retrieves the collection of Event resources.","parameters":[{"name":"page","in":"query","description":"The collection page number","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"integer","default":1},"style":"form","explode":false,"allowReserved":false},{"name":"itemsPerPage","in":"query","description":"The number of items per page","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"integer","default":50,"minimum":0,"maximum":200},"style":"form","explode":false,"allowReserved":false},{"name":"name","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false},{"name":"custom_json_filter","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false},{"name":"custom_json_order","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false}],"deprecated":false}},"\/api\/events\/{id}":{"get":{"operationId":"api_events_id_get","tags":["Event"],"responses":{"200":{"description":"Event resource","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Event.jsonld"}}}},"404":{"description":"Resource not found"}},"summary":"Retrieves a Event resource.","description":"Retrieves a Event resource.","parameters":[{"name":"id","in":"path","description":"Event identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"deprecated":false}},"\/api\/locations":{"get":{"operationId":"api_locations_get_collection","tags":["Location"],"responses":{"200":{"description":"Location collection","content":{"application\/ld+json":{"schema":{"type":"object","properties":{"member":{"type":"array","items":{"$ref":"#\/components\/schemas\/Location.jsonld"}},"totalItems":{"type":"integer","minimum":0},"view":{"type":"object","properties":{"@id":{"type":"string","format":"iri-reference"},"@type":{"type":"string"},"first":{"type":"string","format":"iri-reference"},"last":{"type":"string","format":"iri-reference"},"previous":{"type":"string","format":"iri-reference"},"next":{"type":"string","format":"iri-reference"}},"example":{"@id":"string","type":"string","first":"string","last":"string","previous":"string","next":"string"}},"search":{"type":"object","properties":{"@type":{"type":"string"},"template":{"type":"string"},"variableRepresentation":{"type":"string"},"mapping":{"type":"array","items":{"type":"object","properties":{"@type":{"type":"string"},"variable":{"type":"string"},"property":{"type":["string","null"]},"required":{"type":"boolean"}}}}}}},"required":["member"]}}}}},"summary":"Retrieves the collection of Location resources.","description":"Retrieves the collection of Location resources.","parameters":[{"name":"page","in":"query","description":"The collection page number","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"integer","default":1},"style":"form","explode":false,"allowReserved":false},{"name":"itemsPerPage","in":"query","description":"The number of items per page","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"integer","default":50,"minimum":0,"maximum":200},"style":"form","explode":false,"allowReserved":false},{"name":"name","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false},{"name":"custom_json_filter","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false},{"name":"custom_json_order","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false}],"deprecated":false},"post":{"operationId":"api_locations_post","tags":["Location"],"responses":{"201":{"description":"Location resource created","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Location.jsonld"}}},"links":{}},"400":{"description":"Invalid input"},"422":{"description":"Unprocessable entity"}},"summary":"Creates a Location resource.","description":"Creates a Location resource.","parameters":[],"requestBody":{"description":"The new Location resource","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Location.jsonld"}}},"required":true},"deprecated":false}},"\/api\/locations\/{id}":{"get":{"operationId":"api_locations_id_get","tags":["Location"],"responses":{"200":{"description":"Location resource","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Location.jsonld"}}}},"404":{"description":"Resource not found"}},"summary":"Retrieves a Location resource.","description":"Retrieves a Location resource.","parameters":[{"name":"id","in":"path","description":"Location identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"deprecated":false},"delete":{"operationId":"api_locations_id_delete","tags":["Location"],"responses":{"204":{"description":"Location resource deleted"},"404":{"description":"Resource not found"}},"summary":"Removes the Location resource.","description":"Removes the Location resource.","parameters":[{"name":"id","in":"path","description":"Location identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"deprecated":false},"patch":{"operationId":"api_locations_id_patch","tags":["Location"],"responses":{"200":{"description":"Location resource updated","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Location.jsonld"}}},"links":{}},"400":{"description":"Invalid input"},"422":{"description":"Unprocessable entity"},"404":{"description":"Resource not found"}},"summary":"Updates the Location resource.","description":"Updates the Location resource.","parameters":[{"name":"id","in":"path","description":"Location identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"requestBody":{"description":"The updated Location resource","content":{"application\/merge-patch+json":{"schema":{"$ref":"#\/components\/schemas\/Location"}}},"required":true},"deprecated":false}},"\/api\/media_objects":{"get":{"operationId":"api_media_objects_get_collection","tags":["MediaObject"],"responses":{"200":{"description":"MediaObject collection","content":{"application\/ld+json":{"schema":{"type":"object","properties":{"member":{"type":"array","items":{"$ref":"#\/components\/schemas\/MediaObject.jsonld"}},"totalItems":{"type":"integer","minimum":0},"view":{"type":"object","properties":{"@id":{"type":"string","format":"iri-reference"},"@type":{"type":"string"},"first":{"type":"string","format":"iri-reference"},"last":{"type":"string","format":"iri-reference"},"previous":{"type":"string","format":"iri-reference"},"next":{"type":"string","format":"iri-reference"}},"example":{"@id":"string","type":"string","first":"string","last":"string","previous":"string","next":"string"}},"search":{"type":"object","properties":{"@type":{"type":"string"},"template":{"type":"string"},"variableRepresentation":{"type":"string"},"mapping":{"type":"array","items":{"type":"object","properties":{"@type":{"type":"string"},"variable":{"type":"string"},"property":{"type":["string","null"]},"required":{"type":"boolean"}}}}}}},"required":["member"]}}}}},"summary":"Retrieves the collection of MediaObject resources.","description":"Retrieves the collection of MediaObject resources.","parameters":[{"name":"page","in":"query","description":"The collection page number","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"integer","default":1},"style":"form","explode":false,"allowReserved":false},{"name":"itemsPerPage","in":"query","description":"The number of items per page","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"integer","default":50,"minimum":0,"maximum":200},"style":"form","explode":false,"allowReserved":false}],"deprecated":false},"post":{"operationId":"api_media_objects_post","tags":["MediaObject"],"responses":{"201":{"description":"MediaObject resource created","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/MediaObject.jsonld"}}},"links":{}},"400":{"description":"Invalid input"},"422":{"description":"Unprocessable entity"}},"summary":"Creates a MediaObject resource.","description":"Creates a MediaObject resource.","parameters":[],"requestBody":{"description":"The new MediaObject resource","content":{"multipart\/form-data":{"schema":{"type":"object","properties":{"file":{"type":"string","format":"binary"}}}}},"required":false},"deprecated":false}},"\/api\/media_objects\/{id}":{"get":{"operationId":"api_media_objects_id_get","tags":["MediaObject"],"responses":{"200":{"description":"MediaObject resource","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/MediaObject.jsonld"}}}},"404":{"description":"Resource not found"}},"summary":"Retrieves a MediaObject resource.","description":"Retrieves a MediaObject resource.","parameters":[{"name":"id","in":"path","description":"MediaObject identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"deprecated":false},"delete":{"operationId":"api_media_objects_id_delete","tags":["MediaObject"],"responses":{"204":{"description":"MediaObject resource deleted"},"404":{"description":"Resource not found"}},"summary":"Removes the MediaObject resource.","description":"Removes the MediaObject resource.","parameters":[{"name":"id","in":"path","description":"MediaObject identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"deprecated":false}},"\/api\/shipping_companies":{"get":{"operationId":"api_shipping_companies_get_collection","tags":["ShippingCompany"],"responses":{"200":{"description":"ShippingCompany collection","content":{"application\/ld+json":{"schema":{"type":"object","properties":{"member":{"type":"array","items":{"$ref":"#\/components\/schemas\/ShippingCompany.jsonld"}},"totalItems":{"type":"integer","minimum":0},"view":{"type":"object","properties":{"@id":{"type":"string","format":"iri-reference"},"@type":{"type":"string"},"first":{"type":"string","format":"iri-reference"},"last":{"type":"string","format":"iri-reference"},"previous":{"type":"string","format":"iri-reference"},"next":{"type":"string","format":"iri-reference"}},"example":{"@id":"string","type":"string","first":"string","last":"string","previous":"string","next":"string"}},"search":{"type":"object","properties":{"@type":{"type":"string"},"template":{"type":"string"},"variableRepresentation":{"type":"string"},"mapping":{"type":"array","items":{"type":"object","properties":{"@type":{"type":"string"},"variable":{"type":"string"},"property":{"type":["string","null"]},"required":{"type":"boolean"}}}}}}},"required":["member"]}}}}},"summary":"Retrieves the collection of ShippingCompany resources.","description":"Retrieves the collection of ShippingCompany resources.","parameters":[{"name":"page","in":"query","description":"The collection page number","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"integer","default":1},"style":"form","explode":false,"allowReserved":false},{"name":"itemsPerPage","in":"query","description":"The number of items per page","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"integer","default":50,"minimum":0,"maximum":200},"style":"form","explode":false,"allowReserved":false},{"name":"name","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false},{"name":"custom_json_filter","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false},{"name":"custom_json_order","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false}],"deprecated":false},"post":{"operationId":"api_shipping_companies_post","tags":["ShippingCompany"],"responses":{"201":{"description":"ShippingCompany resource created","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/ShippingCompany.jsonld"}}},"links":{}},"400":{"description":"Invalid input"},"422":{"description":"Unprocessable entity"}},"summary":"Creates a ShippingCompany resource.","description":"Creates a ShippingCompany resource.","parameters":[],"requestBody":{"description":"The new ShippingCompany resource","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/ShippingCompany.jsonld"}}},"required":true},"deprecated":false}},"\/api\/shipping_companies\/{id}":{"get":{"operationId":"api_shipping_companies_id_get","tags":["ShippingCompany"],"responses":{"200":{"description":"ShippingCompany resource","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/ShippingCompany.jsonld"}}}},"404":{"description":"Resource not found"}},"summary":"Retrieves a ShippingCompany resource.","description":"Retrieves a ShippingCompany resource.","parameters":[{"name":"id","in":"path","description":"ShippingCompany identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"deprecated":false},"delete":{"operationId":"api_shipping_companies_id_delete","tags":["ShippingCompany"],"responses":{"204":{"description":"ShippingCompany resource deleted"},"404":{"description":"Resource not found"}},"summary":"Removes the ShippingCompany resource.","description":"Removes the ShippingCompany resource.","parameters":[{"name":"id","in":"path","description":"ShippingCompany identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"deprecated":false},"patch":{"operationId":"api_shipping_companies_id_patch","tags":["ShippingCompany"],"responses":{"200":{"description":"ShippingCompany resource updated","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/ShippingCompany.jsonld"}}},"links":{}},"400":{"description":"Invalid input"},"422":{"description":"Unprocessable entity"},"404":{"description":"Resource not found"}},"summary":"Updates the ShippingCompany resource.","description":"Updates the ShippingCompany resource.","parameters":[{"name":"id","in":"path","description":"ShippingCompany identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"requestBody":{"description":"The updated ShippingCompany resource","content":{"application\/merge-patch+json":{"schema":{"$ref":"#\/components\/schemas\/ShippingCompany"}}},"required":true},"deprecated":false}},"\/api\/trips":{"get":{"operationId":"api_trips_get_collection","tags":["Trip"],"responses":{"200":{"description":"Trip collection","content":{"application\/ld+json":{"schema":{"type":"object","properties":{"member":{"type":"array","items":{"$ref":"#\/components\/schemas\/Trip.jsonld"}},"totalItems":{"type":"integer","minimum":0},"view":{"type":"object","properties":{"@id":{"type":"string","format":"iri-reference"},"@type":{"type":"string"},"first":{"type":"string","format":"iri-reference"},"last":{"type":"string","format":"iri-reference"},"previous":{"type":"string","format":"iri-reference"},"next":{"type":"string","format":"iri-reference"}},"example":{"@id":"string","type":"string","first":"string","last":"string","previous":"string","next":"string"}},"search":{"type":"object","properties":{"@type":{"type":"string"},"template":{"type":"string"},"variableRepresentation":{"type":"string"},"mapping":{"type":"array","items":{"type":"object","properties":{"@type":{"type":"string"},"variable":{"type":"string"},"property":{"type":["string","null"]},"required":{"type":"boolean"}}}}}}},"required":["member"]}}}}},"summary":"Retrieves the collection of Trip resources.","description":"Retrieves the collection of Trip resources.","parameters":[{"name":"page","in":"query","description":"The collection page number","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"integer","default":1},"style":"form","explode":false,"allowReserved":false},{"name":"itemsPerPage","in":"query","description":"The number of items per page","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"integer","default":50,"minimum":0,"maximum":200},"style":"form","explode":false,"allowReserved":false},{"name":"id","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"integer"},"style":"form","explode":false,"allowReserved":false},{"name":"custom_json_filter","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false},{"name":"custom_json_order","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false}],"deprecated":false},"post":{"operationId":"api_trips_post","tags":["Trip"],"responses":{"201":{"description":"Trip resource created","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Trip.jsonld"}}},"links":{}},"400":{"description":"Invalid input"},"422":{"description":"Unprocessable entity"}},"summary":"Creates a Trip resource.","description":"Creates a Trip resource.","parameters":[],"requestBody":{"description":"The new Trip resource","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Trip.jsonld"}}},"required":true},"deprecated":false}},"\/api\/trips\/{id}":{"get":{"operationId":"api_trips_id_get","tags":["Trip"],"responses":{"200":{"description":"Trip resource","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Trip.jsonld"}}}},"404":{"description":"Resource not found"}},"summary":"Retrieves a Trip resource.","description":"Retrieves a Trip resource.","parameters":[{"name":"id","in":"path","description":"Trip identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"deprecated":false},"delete":{"operationId":"api_trips_id_delete","tags":["Trip"],"responses":{"204":{"description":"Trip resource deleted"},"404":{"description":"Resource not found"}},"summary":"Removes the Trip resource.","description":"Removes the Trip resource.","parameters":[{"name":"id","in":"path","description":"Trip identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"deprecated":false},"patch":{"operationId":"api_trips_id_patch","tags":["Trip"],"responses":{"200":{"description":"Trip resource updated","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Trip.jsonld"}}},"links":{}},"400":{"description":"Invalid input"},"422":{"description":"Unprocessable entity"},"404":{"description":"Resource not found"}},"summary":"Updates the Trip resource.","description":"Updates the Trip resource.","parameters":[{"name":"id","in":"path","description":"Trip identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"requestBody":{"description":"The updated Trip resource","content":{"application\/merge-patch+json":{"schema":{"$ref":"#\/components\/schemas\/Trip"}}},"required":true},"deprecated":false}},"\/api\/trip_locations":{"get":{"operationId":"api_trip_locations_get_collection","tags":["TripLocation"],"responses":{"200":{"description":"TripLocation collection","content":{"application\/ld+json":{"schema":{"type":"object","properties":{"member":{"type":"array","items":{"$ref":"#\/components\/schemas\/TripLocation.jsonld"}},"totalItems":{"type":"integer","minimum":0},"view":{"type":"object","properties":{"@id":{"type":"string","format":"iri-reference"},"@type":{"type":"string"},"first":{"type":"string","format":"iri-reference"},"last":{"type":"string","format":"iri-reference"},"previous":{"type":"string","format":"iri-reference"},"next":{"type":"string","format":"iri-reference"}},"example":{"@id":"string","type":"string","first":"string","last":"string","previous":"string","next":"string"}},"search":{"type":"object","properties":{"@type":{"type":"string"},"template":{"type":"string"},"variableRepresentation":{"type":"string"},"mapping":{"type":"array","items":{"type":"object","properties":{"@type":{"type":"string"},"variable":{"type":"string"},"property":{"type":["string","null"]},"required":{"type":"boolean"}}}}}}},"required":["member"]}}}}},"summary":"Retrieves the collection of TripLocation resources.","description":"Retrieves the collection of TripLocation resources.","parameters":[{"name":"page","in":"query","description":"The collection page number","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"integer","default":1},"style":"form","explode":false,"allowReserved":false},{"name":"itemsPerPage","in":"query","description":"The number of items per page","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"integer","default":50,"minimum":0,"maximum":200},"style":"form","explode":false,"allowReserved":false},{"name":"trip","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false},{"name":"trip[]","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"array","items":{"type":"string"}},"style":"form","explode":true,"allowReserved":false},{"name":"custom_json_filter","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false},{"name":"custom_json_order","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false}],"deprecated":false},"post":{"operationId":"api_trip_locations_post","tags":["TripLocation"],"responses":{"201":{"description":"TripLocation resource created","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/TripLocation.jsonld"}}},"links":{}},"400":{"description":"Invalid input"},"422":{"description":"Unprocessable entity"}},"summary":"Creates a TripLocation resource.","description":"Creates a TripLocation resource.","parameters":[],"requestBody":{"description":"The new TripLocation resource","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/TripLocation.jsonld"}}},"required":true},"deprecated":false}},"\/api\/trip_locations\/{id}":{"get":{"operationId":"api_trip_locations_id_get","tags":["TripLocation"],"responses":{"200":{"description":"TripLocation resource","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/TripLocation.jsonld"}}}},"404":{"description":"Resource not found"}},"summary":"Retrieves a TripLocation resource.","description":"Retrieves a TripLocation resource.","parameters":[{"name":"id","in":"path","description":"TripLocation identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"deprecated":false},"delete":{"operationId":"api_trip_locations_id_delete","tags":["TripLocation"],"responses":{"204":{"description":"TripLocation resource deleted"},"404":{"description":"Resource not found"}},"summary":"Removes the TripLocation resource.","description":"Removes the TripLocation resource.","parameters":[{"name":"id","in":"path","description":"TripLocation identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"deprecated":false},"patch":{"operationId":"api_trip_locations_id_patch","tags":["TripLocation"],"responses":{"200":{"description":"TripLocation resource updated","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/TripLocation.jsonld"}}},"links":{}},"400":{"description":"Invalid input"},"422":{"description":"Unprocessable entity"},"404":{"description":"Resource not found"}},"summary":"Updates the TripLocation resource.","description":"Updates the TripLocation resource.","parameters":[{"name":"id","in":"path","description":"TripLocation identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"requestBody":{"description":"The updated TripLocation resource","content":{"application\/merge-patch+json":{"schema":{"$ref":"#\/components\/schemas\/TripLocation"}}},"required":true},"deprecated":false}},"\/api\/users":{"get":{"operationId":"api_users_get_collection","tags":["User"],"responses":{"200":{"description":"User collection","content":{"application\/ld+json":{"schema":{"type":"object","properties":{"member":{"type":"array","items":{"$ref":"#\/components\/schemas\/User.jsonld"}},"totalItems":{"type":"integer","minimum":0},"view":{"type":"object","properties":{"@id":{"type":"string","format":"iri-reference"},"@type":{"type":"string"},"first":{"type":"string","format":"iri-reference"},"last":{"type":"string","format":"iri-reference"},"previous":{"type":"string","format":"iri-reference"},"next":{"type":"string","format":"iri-reference"}},"example":{"@id":"string","type":"string","first":"string","last":"string","previous":"string","next":"string"}},"search":{"type":"object","properties":{"@type":{"type":"string"},"template":{"type":"string"},"variableRepresentation":{"type":"string"},"mapping":{"type":"array","items":{"type":"object","properties":{"@type":{"type":"string"},"variable":{"type":"string"},"property":{"type":["string","null"]},"required":{"type":"boolean"}}}}}}},"required":["member"]}}}}},"summary":"Retrieves the collection of User resources.","description":"Retrieves the collection of User resources.","parameters":[{"name":"page","in":"query","description":"The collection page number","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"integer","default":1},"style":"form","explode":false,"allowReserved":false},{"name":"itemsPerPage","in":"query","description":"The number of items per page","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"integer","default":50,"minimum":0,"maximum":200},"style":"form","explode":false,"allowReserved":false},{"name":"firstName","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false},{"name":"lastName","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false},{"name":"userNameSearch","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false},{"name":"custom_json_order","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false}],"deprecated":false},"post":{"operationId":"api_users_post","tags":["User"],"responses":{"201":{"description":"User resource created","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/User.jsonld"}}},"links":{}},"400":{"description":"Invalid input"},"422":{"description":"Unprocessable entity"}},"summary":"Creates a User resource.","description":"Creates a User resource.","parameters":[],"requestBody":{"description":"The new User resource","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/User.jsonld"}}},"required":true},"deprecated":false}},"\/api\/users\/{id}":{"get":{"operationId":"api_users_id_get","tags":["User"],"responses":{"200":{"description":"User resource","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/User.jsonld"}}}},"404":{"description":"Resource not found"}},"summary":"Retrieves a User resource.","description":"Retrieves a User resource.","parameters":[{"name":"id","in":"path","description":"User identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"deprecated":false},"delete":{"operationId":"api_users_id_delete","tags":["User"],"responses":{"204":{"description":"User resource deleted"},"404":{"description":"Resource not found"}},"summary":"Removes the User resource.","description":"Removes the User resource.","parameters":[{"name":"id","in":"path","description":"User identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"deprecated":false},"patch":{"operationId":"api_users_id_patch","tags":["User"],"responses":{"200":{"description":"User resource updated","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/User.jsonld"}}},"links":{}},"400":{"description":"Invalid input"},"422":{"description":"Unprocessable entity"},"404":{"description":"Resource not found"}},"summary":"Updates the User resource.","description":"Updates the User resource.","parameters":[{"name":"id","in":"path","description":"User identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"requestBody":{"description":"The updated User resource","content":{"application\/merge-patch+json":{"schema":{"$ref":"#\/components\/schemas\/User"}}},"required":true},"deprecated":false}},"\/api\/user_trips":{"get":{"operationId":"api_user_trips_get_collection","tags":["UserTrip"],"responses":{"200":{"description":"UserTrip collection","content":{"application\/ld+json":{"schema":{"type":"object","properties":{"member":{"type":"array","items":{"$ref":"#\/components\/schemas\/UserTrip.jsonld"}},"totalItems":{"type":"integer","minimum":0},"view":{"type":"object","properties":{"@id":{"type":"string","format":"iri-reference"},"@type":{"type":"string"},"first":{"type":"string","format":"iri-reference"},"last":{"type":"string","format":"iri-reference"},"previous":{"type":"string","format":"iri-reference"},"next":{"type":"string","format":"iri-reference"}},"example":{"@id":"string","type":"string","first":"string","last":"string","previous":"string","next":"string"}},"search":{"type":"object","properties":{"@type":{"type":"string"},"template":{"type":"string"},"variableRepresentation":{"type":"string"},"mapping":{"type":"array","items":{"type":"object","properties":{"@type":{"type":"string"},"variable":{"type":"string"},"property":{"type":["string","null"]},"required":{"type":"boolean"}}}}}}},"required":["member"]}}}}},"summary":"Retrieves the collection of UserTrip resources.","description":"Retrieves the collection of UserTrip resources.","parameters":[{"name":"page","in":"query","description":"The collection page number","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"integer","default":1},"style":"form","explode":false,"allowReserved":false},{"name":"itemsPerPage","in":"query","description":"The number of items per page","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"integer","default":50,"minimum":0,"maximum":200},"style":"form","explode":false,"allowReserved":false},{"name":"trip","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false},{"name":"trip[]","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"array","items":{"type":"string"}},"style":"form","explode":true,"allowReserved":false},{"name":"user","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false},{"name":"user[]","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"array","items":{"type":"string"}},"style":"form","explode":true,"allowReserved":false},{"name":"custom_json_filter","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false},{"name":"custom_json_order","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false}],"deprecated":false},"post":{"operationId":"api_user_trips_post","tags":["UserTrip"],"responses":{"201":{"description":"UserTrip resource created","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/UserTrip.jsonld"}}},"links":{}},"400":{"description":"Invalid input"},"422":{"description":"Unprocessable entity"}},"summary":"Creates a UserTrip resource.","description":"Creates a UserTrip resource.","parameters":[],"requestBody":{"description":"The new UserTrip resource","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/UserTrip.jsonld"}}},"required":true},"deprecated":false}},"\/api\/user_trips\/{id}":{"get":{"operationId":"api_user_trips_id_get","tags":["UserTrip"],"responses":{"200":{"description":"UserTrip resource","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/UserTrip.jsonld"}}}},"404":{"description":"Resource not found"}},"summary":"Retrieves a UserTrip resource.","description":"Retrieves a UserTrip resource.","parameters":[{"name":"id","in":"path","description":"UserTrip identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"deprecated":false},"delete":{"operationId":"api_user_trips_id_delete","tags":["UserTrip"],"responses":{"204":{"description":"UserTrip resource deleted"},"404":{"description":"Resource not found"}},"summary":"Removes the UserTrip resource.","description":"Removes the UserTrip resource.","parameters":[{"name":"id","in":"path","description":"UserTrip identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"deprecated":false},"patch":{"operationId":"api_user_trips_id_patch","tags":["UserTrip"],"responses":{"200":{"description":"UserTrip resource updated","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/UserTrip.jsonld"}}},"links":{}},"400":{"description":"Invalid input"},"422":{"description":"Unprocessable entity"},"404":{"description":"Resource not found"}},"summary":"Updates the UserTrip resource.","description":"Updates the UserTrip resource.","parameters":[{"name":"id","in":"path","description":"UserTrip identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"requestBody":{"description":"The updated UserTrip resource","content":{"application\/merge-patch+json":{"schema":{"$ref":"#\/components\/schemas\/UserTrip"}}},"required":true},"deprecated":false}},"\/api\/user_trip_events":{"get":{"operationId":"api_user_trip_events_get_collection","tags":["UserTripEvent"],"responses":{"200":{"description":"UserTripEvent collection","content":{"application\/ld+json":{"schema":{"type":"object","properties":{"member":{"type":"array","items":{"$ref":"#\/components\/schemas\/UserTripEvent.jsonld"}},"totalItems":{"type":"integer","minimum":0},"view":{"type":"object","properties":{"@id":{"type":"string","format":"iri-reference"},"@type":{"type":"string"},"first":{"type":"string","format":"iri-reference"},"last":{"type":"string","format":"iri-reference"},"previous":{"type":"string","format":"iri-reference"},"next":{"type":"string","format":"iri-reference"}},"example":{"@id":"string","type":"string","first":"string","last":"string","previous":"string","next":"string"}},"search":{"type":"object","properties":{"@type":{"type":"string"},"template":{"type":"string"},"variableRepresentation":{"type":"string"},"mapping":{"type":"array","items":{"type":"object","properties":{"@type":{"type":"string"},"variable":{"type":"string"},"property":{"type":["string","null"]},"required":{"type":"boolean"}}}}}}},"required":["member"]}}}}},"summary":"Retrieves the collection of UserTripEvent resources.","description":"Retrieves the collection of UserTripEvent resources.","parameters":[{"name":"page","in":"query","description":"The collection page number","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"integer","default":1},"style":"form","explode":false,"allowReserved":false},{"name":"itemsPerPage","in":"query","description":"The number of items per page","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"integer","default":50,"minimum":0,"maximum":200},"style":"form","explode":false,"allowReserved":false}],"deprecated":false},"post":{"operationId":"api_user_trip_events_post","tags":["UserTripEvent"],"responses":{"201":{"description":"UserTripEvent resource created","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/UserTripEvent.jsonld"}}},"links":{}},"400":{"description":"Invalid input"},"422":{"description":"Unprocessable entity"}},"summary":"Creates a UserTripEvent resource.","description":"Creates a UserTripEvent resource.","parameters":[],"requestBody":{"description":"The new UserTripEvent resource","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/UserTripEvent.jsonld"}}},"required":true},"deprecated":false}},"\/api\/user_trip_events\/{id}":{"get":{"operationId":"api_user_trip_events_id_get","tags":["UserTripEvent"],"responses":{"200":{"description":"UserTripEvent resource","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/UserTripEvent.jsonld"}}}},"404":{"description":"Resource not found"}},"summary":"Retrieves a UserTripEvent resource.","description":"Retrieves a UserTripEvent resource.","parameters":[{"name":"id","in":"path","description":"UserTripEvent identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"deprecated":false},"patch":{"operationId":"api_user_trip_events_id_patch","tags":["UserTripEvent"],"responses":{"200":{"description":"UserTripEvent resource updated","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/UserTripEvent.jsonld"}}},"links":{}},"400":{"description":"Invalid input"},"422":{"description":"Unprocessable entity"},"404":{"description":"Resource not found"}},"summary":"Updates the UserTripEvent resource.","description":"Updates the UserTripEvent resource.","parameters":[{"name":"id","in":"path","description":"UserTripEvent identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"requestBody":{"description":"The updated UserTripEvent resource","content":{"application\/merge-patch+json":{"schema":{"$ref":"#\/components\/schemas\/UserTripEvent"}}},"required":true},"deprecated":false}},"\/api\/vessels":{"get":{"operationId":"api_vessels_get_collection","tags":["Vessel"],"responses":{"200":{"description":"Vessel collection","content":{"application\/ld+json":{"schema":{"type":"object","properties":{"member":{"type":"array","items":{"$ref":"#\/components\/schemas\/Vessel.jsonld"}},"totalItems":{"type":"integer","minimum":0},"view":{"type":"object","properties":{"@id":{"type":"string","format":"iri-reference"},"@type":{"type":"string"},"first":{"type":"string","format":"iri-reference"},"last":{"type":"string","format":"iri-reference"},"previous":{"type":"string","format":"iri-reference"},"next":{"type":"string","format":"iri-reference"}},"example":{"@id":"string","type":"string","first":"string","last":"string","previous":"string","next":"string"}},"search":{"type":"object","properties":{"@type":{"type":"string"},"template":{"type":"string"},"variableRepresentation":{"type":"string"},"mapping":{"type":"array","items":{"type":"object","properties":{"@type":{"type":"string"},"variable":{"type":"string"},"property":{"type":["string","null"]},"required":{"type":"boolean"}}}}}}},"required":["member"]}}}}},"summary":"Retrieves the collection of Vessel resources.","description":"Retrieves the collection of Vessel resources.","parameters":[{"name":"page","in":"query","description":"The collection page number","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"integer","default":1},"style":"form","explode":false,"allowReserved":false},{"name":"itemsPerPage","in":"query","description":"The number of items per page","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"integer","default":50,"minimum":0,"maximum":200},"style":"form","explode":false,"allowReserved":false},{"name":"name","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false},{"name":"custom_json_filter","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false},{"name":"custom_json_order","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false}],"deprecated":false},"post":{"operationId":"api_vessels_post","tags":["Vessel"],"responses":{"201":{"description":"Vessel resource created","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Vessel.jsonld"}}},"links":{}},"400":{"description":"Invalid input"},"422":{"description":"Unprocessable entity"}},"summary":"Creates a Vessel resource.","description":"Creates a Vessel resource.","parameters":[],"requestBody":{"description":"The new Vessel resource","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Vessel.jsonld"}}},"required":true},"deprecated":false}},"\/api\/vessels\/{id}":{"get":{"operationId":"api_vessels_id_get","tags":["Vessel"],"responses":{"200":{"description":"Vessel resource","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Vessel.jsonld"}}}},"404":{"description":"Resource not found"}},"summary":"Retrieves a Vessel resource.","description":"Retrieves a Vessel resource.","parameters":[{"name":"id","in":"path","description":"Vessel identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"deprecated":false},"delete":{"operationId":"api_vessels_id_delete","tags":["Vessel"],"responses":{"204":{"description":"Vessel resource deleted"},"404":{"description":"Resource not found"}},"summary":"Removes the Vessel resource.","description":"Removes the Vessel resource.","parameters":[{"name":"id","in":"path","description":"Vessel identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"deprecated":false},"patch":{"operationId":"api_vessels_id_patch","tags":["Vessel"],"responses":{"200":{"description":"Vessel resource updated","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Vessel.jsonld"}}},"links":{}},"400":{"description":"Invalid input"},"422":{"description":"Unprocessable entity"},"404":{"description":"Resource not found"}},"summary":"Updates the Vessel resource.","description":"Updates the Vessel resource.","parameters":[{"name":"id","in":"path","description":"Vessel identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"requestBody":{"description":"The updated Vessel resource","content":{"application\/merge-patch+json":{"schema":{"$ref":"#\/components\/schemas\/Vessel"}}},"required":true},"deprecated":false}},"\/api\/zones":{"get":{"operationId":"api_zones_get_collection","tags":["Zone"],"responses":{"200":{"description":"Zone collection","content":{"application\/ld+json":{"schema":{"type":"object","properties":{"member":{"type":"array","items":{"$ref":"#\/components\/schemas\/Zone.jsonld"}},"totalItems":{"type":"integer","minimum":0},"view":{"type":"object","properties":{"@id":{"type":"string","format":"iri-reference"},"@type":{"type":"string"},"first":{"type":"string","format":"iri-reference"},"last":{"type":"string","format":"iri-reference"},"previous":{"type":"string","format":"iri-reference"},"next":{"type":"string","format":"iri-reference"}},"example":{"@id":"string","type":"string","first":"string","last":"string","previous":"string","next":"string"}},"search":{"type":"object","properties":{"@type":{"type":"string"},"template":{"type":"string"},"variableRepresentation":{"type":"string"},"mapping":{"type":"array","items":{"type":"object","properties":{"@type":{"type":"string"},"variable":{"type":"string"},"property":{"type":["string","null"]},"required":{"type":"boolean"}}}}}}},"required":["member"]}}}}},"summary":"Retrieves the collection of Zone resources.","description":"Retrieves the collection of Zone resources.","parameters":[{"name":"page","in":"query","description":"The collection page number","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"integer","default":1},"style":"form","explode":false,"allowReserved":false},{"name":"itemsPerPage","in":"query","description":"The number of items per page","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"integer","default":50,"minimum":0,"maximum":200},"style":"form","explode":false,"allowReserved":false},{"name":"name","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false},{"name":"custom_json_filter","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false},{"name":"custom_json_order","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false}],"deprecated":false},"post":{"operationId":"api_zones_post","tags":["Zone"],"responses":{"201":{"description":"Zone resource created","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Zone.jsonld"}}},"links":{}},"400":{"description":"Invalid input"},"422":{"description":"Unprocessable entity"}},"summary":"Creates a Zone resource.","description":"Creates a Zone resource.","parameters":[],"requestBody":{"description":"The new Zone resource","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Zone.jsonld"}}},"required":true},"deprecated":false}},"\/api\/zones\/{id}":{"get":{"operationId":"api_zones_id_get","tags":["Zone"],"responses":{"200":{"description":"Zone resource","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Zone.jsonld"}}}},"404":{"description":"Resource not found"}},"summary":"Retrieves a Zone resource.","description":"Retrieves a Zone resource.","parameters":[{"name":"id","in":"path","description":"Zone identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"deprecated":false},"delete":{"operationId":"api_zones_id_delete","tags":["Zone"],"responses":{"204":{"description":"Zone resource deleted"},"404":{"description":"Resource not found"}},"summary":"Removes the Zone resource.","description":"Removes the Zone resource.","parameters":[{"name":"id","in":"path","description":"Zone identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"deprecated":false},"patch":{"operationId":"api_zones_id_patch","tags":["Zone"],"responses":{"200":{"description":"Zone resource updated","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Zone.jsonld"}}},"links":{}},"400":{"description":"Invalid input"},"422":{"description":"Unprocessable entity"},"404":{"description":"Resource not found"}},"summary":"Updates the Zone resource.","description":"Updates the Zone resource.","parameters":[{"name":"id","in":"path","description":"Zone identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"requestBody":{"description":"The updated Zone resource","content":{"application\/merge-patch+json":{"schema":{"$ref":"#\/components\/schemas\/Zone"}}},"required":true},"deprecated":false}}},"components":{"schemas":{"Event.jsonld":{"type":"object","description":"","deprecated":false,"properties":{"@context":{"readOnly":true,"oneOf":[{"type":"string"},{"type":"object","properties":{"@vocab":{"type":"string"},"hydra":{"type":"string","enum":["http:\/\/www.w3.org\/ns\/hydra\/core#"]}},"required":["@vocab","hydra"],"additionalProperties":true}]},"@id":{"readOnly":true,"type":"string"},"@type":{"readOnly":true,"type":"string"},"dbId":{"readOnly":true,"type":["integer","null"]},"name":{"type":"string"},"identifier":{"type":"string"},"sequence":{"type":"integer"},"mandatory":{"type":"boolean"},"createdAt":{"readOnly":true,"type":["string","null"],"format":"date-time"}}},"Location":{"type":"object","description":"","deprecated":false,"properties":{"dbId":{"readOnly":true,"type":["integer","null"]},"zone":{"$ref":"#\/components\/schemas\/Zone"},"name":{"type":"string"},"code":{"type":"string"},"isZone":{"type":"boolean"},"isPlace":{"type":"boolean"},"isPort":{"type":"boolean"},"createdAt":{"readOnly":true,"type":["string","null"],"format":"date-time"}},"required":["name","code"]},"Location.jsonld":{"type":"object","description":"","deprecated":false,"properties":{"@context":{"readOnly":true,"oneOf":[{"type":"string"},{"type":"object","properties":{"@vocab":{"type":"string"},"hydra":{"type":"string","enum":["http:\/\/www.w3.org\/ns\/hydra\/core#"]}},"required":["@vocab","hydra"],"additionalProperties":true}]},"@id":{"readOnly":true,"type":"string"},"@type":{"readOnly":true,"type":"string"},"dbId":{"readOnly":true,"type":["integer","null"]},"zone":{"$ref":"#\/components\/schemas\/Zone.jsonld"},"name":{"type":"string"},"code":{"type":"string"},"isZone":{"type":"boolean"},"isPlace":{"type":"boolean"},"isPort":{"type":"boolean"},"createdAt":{"readOnly":true,"type":["string","null"],"format":"date-time"}},"required":["name","code"]},"MediaObject.jsonld":{"type":"object","description":"","deprecated":false,"properties":{"@context":{"readOnly":true,"oneOf":[{"type":"string"},{"type":"object","properties":{"@vocab":{"type":"string"},"hydra":{"type":"string","enum":["http:\/\/www.w3.org\/ns\/hydra\/core#"]}},"required":["@vocab","hydra"],"additionalProperties":true}]},"@id":{"readOnly":true,"type":"string"},"@type":{"readOnly":true,"type":"string"},"dbId":{"readOnly":true,"type":["integer","null"]},"contentUrl":{"externalDocs":{"url":"https:\/\/schema.org\/contentUrl"},"type":["string","null"]},"filePath":{"readOnly":true,"type":["string","null"]},"createdAt":{"readOnly":true,"type":["string","null"],"format":"date-time"}}},"ShippingCompany":{"type":"object","description":"","deprecated":false,"properties":{"dbId":{"readOnly":true,"type":["integer","null"]},"name":{"type":"string"},"code":{"type":"string"},"createdAt":{"readOnly":true,"type":["string","null"],"format":"date-time"}},"required":["name","code"]},"ShippingCompany.jsonld":{"type":"object","description":"","deprecated":false,"properties":{"@context":{"readOnly":true,"oneOf":[{"type":"string"},{"type":"object","properties":{"@vocab":{"type":"string"},"hydra":{"type":"string","enum":["http:\/\/www.w3.org\/ns\/hydra\/core#"]}},"required":["@vocab","hydra"],"additionalProperties":true}]},"@id":{"readOnly":true,"type":"string"},"@type":{"readOnly":true,"type":"string"},"dbId":{"readOnly":true,"type":["integer","null"]},"name":{"type":"string"},"code":{"type":"string"},"createdAt":{"readOnly":true,"type":["string","null"],"format":"date-time"}},"required":["name","code"]},"Trip":{"type":"object","description":"","deprecated":false,"properties":{"dbId":{"readOnly":true,"type":["integer","null"]},"vessel":{"$ref":"#\/components\/schemas\/Vessel"},"pilotageReference":{"readOnly":true,"type":["string","null"]},"customerReference":{"type":["string","null"]},"captainName":{"type":["string","null"]},"startLocation":{"$ref":"#\/components\/schemas\/Location"},"endLocation":{"$ref":"#\/components\/schemas\/Location"},"startDate":{"type":"string","format":"date-time"},"endDate":{"type":"string","format":"date-time"},"note":{"type":["string","null"]},"createdAt":{"readOnly":true,"type":["string","null"],"format":"date-time"}},"required":["startDate","endDate"]},"Trip.jsonld":{"type":"object","description":"","deprecated":false,"properties":{"@context":{"readOnly":true,"oneOf":[{"type":"string"},{"type":"object","properties":{"@vocab":{"type":"string"},"hydra":{"type":"string","enum":["http:\/\/www.w3.org\/ns\/hydra\/core#"]}},"required":["@vocab","hydra"],"additionalProperties":true}]},"@id":{"readOnly":true,"type":"string"},"@type":{"readOnly":true,"type":"string"},"dbId":{"readOnly":true,"type":["integer","null"]},"vessel":{"$ref":"#\/components\/schemas\/Vessel.jsonld"},"pilotageReference":{"readOnly":true,"type":["string","null"]},"customerReference":{"type":["string","null"]},"captainName":{"type":["string","null"]},"startLocation":{"$ref":"#\/components\/schemas\/Location.jsonld"},"endLocation":{"$ref":"#\/components\/schemas\/Location.jsonld"},"startDate":{"type":"string","format":"date-time"},"endDate":{"type":"string","format":"date-time"},"note":{"type":["string","null"]},"createdAt":{"readOnly":true,"type":["string","null"],"format":"date-time"}},"required":["startDate","endDate"]},"TripLocation":{"type":"object","description":"","deprecated":false,"properties":{"dbId":{"readOnly":true,"type":["integer","null"]},"trip":{"$ref":"#\/components\/schemas\/Trip"},"location":{"$ref":"#\/components\/schemas\/Location"},"isArrival":{"type":"boolean"},"date":{"type":"string","format":"date-time"},"createdAt":{"readOnly":true,"type":["string","null"],"format":"date-time"}},"required":["date"]},"TripLocation.jsonld":{"type":"object","description":"","deprecated":false,"properties":{"@context":{"readOnly":true,"oneOf":[{"type":"string"},{"type":"object","properties":{"@vocab":{"type":"string"},"hydra":{"type":"string","enum":["http:\/\/www.w3.org\/ns\/hydra\/core#"]}},"required":["@vocab","hydra"],"additionalProperties":true}]},"@id":{"readOnly":true,"type":"string"},"@type":{"readOnly":true,"type":"string"},"dbId":{"readOnly":true,"type":["integer","null"]},"trip":{"$ref":"#\/components\/schemas\/Trip.jsonld"},"location":{"$ref":"#\/components\/schemas\/Location.jsonld"},"isArrival":{"type":"boolean"},"date":{"type":"string","format":"date-time"},"createdAt":{"readOnly":true,"type":["string","null"],"format":"date-time"}},"required":["date"]},"User":{"type":"object","description":"","deprecated":false,"properties":{"dbId":{"readOnly":true,"type":["integer","null"]},"email":{"format":"email","externalDocs":{"url":"https:\/\/schema.org\/email"},"type":"string"},"firstName":{"type":"string"},"referenceId":{"type":"string"},"lastName":{"type":"string"},"image":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"},"imageUrl":{"readOnly":true,"type":["string","null"]},"fullName":{"readOnly":true,"type":["string","null"]},"password":{"writeOnly":true,"description":"The plaintext password when being set or changed.","type":"string"},"active":{"type":"boolean"},"roles":{"readOnly":true,"type":"array","items":{"type":"string"}},"createdAt":{"readOnly":true,"type":["string","null"],"format":"date-time"}},"required":["email","firstName","referenceId","lastName"]},"User.jsonld":{"type":"object","description":"","deprecated":false,"properties":{"@context":{"readOnly":true,"oneOf":[{"type":"string"},{"type":"object","properties":{"@vocab":{"type":"string"},"hydra":{"type":"string","enum":["http:\/\/www.w3.org\/ns\/hydra\/core#"]}},"required":["@vocab","hydra"],"additionalProperties":true}]},"@id":{"readOnly":true,"type":"string"},"@type":{"readOnly":true,"type":"string"},"dbId":{"readOnly":true,"type":["integer","null"]},"email":{"format":"email","externalDocs":{"url":"https:\/\/schema.org\/email"},"type":"string"},"firstName":{"type":"string"},"referenceId":{"type":"string"},"lastName":{"type":"string"},"image":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"},"imageUrl":{"readOnly":true,"type":["string","null"]},"fullName":{"readOnly":true,"type":["string","null"]},"password":{"writeOnly":true,"description":"The plaintext password when being set or changed.","type":"string"},"active":{"type":"boolean"},"roles":{"readOnly":true,"type":"array","items":{"type":"string"}},"createdAt":{"readOnly":true,"type":["string","null"],"format":"date-time"}},"required":["email","firstName","referenceId","lastName"]},"UserTrip":{"type":"object","description":"","deprecated":false,"properties":{"dbId":{"readOnly":true,"type":["integer","null"]},"trip":{"$ref":"#\/components\/schemas\/Trip"},"user":{"$ref":"#\/components\/schemas\/User"},"captainName":{"type":["string","null"]},"completed":{"type":"boolean"},"signatureUrl":{"readOnly":true,"type":["string","null"]},"completedDate":{"type":["string","null"],"format":"date-time"},"createdAt":{"readOnly":true,"type":["string","null"],"format":"date-time"}},"required":["trip","user"]},"UserTrip.jsonld":{"type":"object","description":"","deprecated":false,"properties":{"@context":{"readOnly":true,"oneOf":[{"type":"string"},{"type":"object","properties":{"@vocab":{"type":"string"},"hydra":{"type":"string","enum":["http:\/\/www.w3.org\/ns\/hydra\/core#"]}},"required":["@vocab","hydra"],"additionalProperties":true}]},"@id":{"readOnly":true,"type":"string"},"@type":{"readOnly":true,"type":"string"},"dbId":{"readOnly":true,"type":["integer","null"]},"trip":{"$ref":"#\/components\/schemas\/Trip.jsonld"},"user":{"$ref":"#\/components\/schemas\/User.jsonld"},"captainName":{"type":["string","null"]},"completed":{"type":"boolean"},"signatureUrl":{"readOnly":true,"type":["string","null"]},"completedDate":{"type":["string","null"],"format":"date-time"},"createdAt":{"readOnly":true,"type":["string","null"],"format":"date-time"}},"required":["trip","user"]},"UserTripEvent":{"type":"object","description":"","deprecated":false,"properties":{"dbId":{"readOnly":true,"type":["integer","null"]},"userTrip":{"readOnly":true,"$ref":"#\/components\/schemas\/UserTrip"},"event":{"readOnly":true,"type":"string","format":"iri-reference","example":"https:\/\/example.com\/"},"date":{"type":"string","format":"date-time"},"note":{"type":["string","null"]},"createdAt":{"readOnly":true,"type":["string","null"],"format":"date-time"}},"required":["date"]},"UserTripEvent.jsonld":{"type":"object","description":"","deprecated":false,"properties":{"@context":{"readOnly":true,"oneOf":[{"type":"string"},{"type":"object","properties":{"@vocab":{"type":"string"},"hydra":{"type":"string","enum":["http:\/\/www.w3.org\/ns\/hydra\/core#"]}},"required":["@vocab","hydra"],"additionalProperties":true}]},"@id":{"readOnly":true,"type":"string"},"@type":{"readOnly":true,"type":"string"},"dbId":{"readOnly":true,"type":["integer","null"]},"userTrip":{"readOnly":true,"$ref":"#\/components\/schemas\/UserTrip.jsonld"},"event":{"readOnly":true,"$ref":"#\/components\/schemas\/Event.jsonld"},"date":{"type":"string","format":"date-time"},"note":{"type":["string","null"]},"createdAt":{"readOnly":true,"type":["string","null"],"format":"date-time"}},"required":["date"]},"Vessel":{"type":"object","description":"","deprecated":false,"properties":{"dbId":{"readOnly":true,"type":["integer","null"]},"name":{"type":"string"},"code":{"type":"string"},"company":{"$ref":"#\/components\/schemas\/ShippingCompany"},"createdAt":{"readOnly":true,"type":["string","null"],"format":"date-time"}},"required":["name","code"]},"Vessel.jsonld":{"type":"object","description":"","deprecated":false,"properties":{"@context":{"readOnly":true,"oneOf":[{"type":"string"},{"type":"object","properties":{"@vocab":{"type":"string"},"hydra":{"type":"string","enum":["http:\/\/www.w3.org\/ns\/hydra\/core#"]}},"required":["@vocab","hydra"],"additionalProperties":true}]},"@id":{"readOnly":true,"type":"string"},"@type":{"readOnly":true,"type":"string"},"dbId":{"readOnly":true,"type":["integer","null"]},"name":{"type":"string"},"code":{"type":"string"},"company":{"$ref":"#\/components\/schemas\/ShippingCompany.jsonld"},"createdAt":{"readOnly":true,"type":["string","null"],"format":"date-time"}},"required":["name","code"]},"Zone":{"type":"object","description":"","deprecated":false,"properties":{"dbId":{"readOnly":true,"type":["integer","null"]},"name":{"type":"string"},"createdAt":{"readOnly":true,"type":["string","null"],"format":"date-time"}},"required":["name"]},"Zone.jsonld":{"type":"object","description":"","deprecated":false,"properties":{"@context":{"readOnly":true,"oneOf":[{"type":"string"},{"type":"object","properties":{"@vocab":{"type":"string"},"hydra":{"type":"string","enum":["http:\/\/www.w3.org\/ns\/hydra\/core#"]}},"required":["@vocab","hydra"],"additionalProperties":true}]},"@id":{"readOnly":true,"type":"string"},"@type":{"readOnly":true,"type":"string"},"dbId":{"readOnly":true,"type":["integer","null"]},"name":{"type":"string"},"createdAt":{"readOnly":true,"type":["string","null"],"format":"date-time"}},"required":["name"]},"Credentials":{"type":"object","properties":{"email":{"type":"string","example":"user@example.com"},"password":{"type":"string","example":"password123"}}},"AuthResponse":{"type":"object","properties":{"@id":{"type":"string","example":"\/api\/users\/1"},"dbId":{"type":"integer","example":1},"token":{"type":"string","example":"JWT_TOKEN"}}}},"responses":{},"parameters":{},"examples":{},"requestBodies":{},"headers":{},"securitySchemes":{"JWT":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}}},"security":[{"JWT":[]}],"tags":[],"webhooks":{}} \ No newline at end of file +{"openapi":"3.1.0","info":{"title":"Imaq Platform","description":"","version":"1.0.0"},"servers":[{"url":"\/","description":""}],"paths":{"\/api\/auth":{"post":{"operationId":"postCredentialsItem","tags":["Auth"],"responses":{"200":{"description":"Get JWT token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/AuthResponse"}}}}},"summary":"Get JWT token to login.","requestBody":{"description":"Generate new JWT Token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Credentials"}}},"required":false},"security":[]}},"\/api\/events":{"get":{"operationId":"api_events_get_collection","tags":["Event"],"responses":{"200":{"description":"Event collection","content":{"application\/ld+json":{"schema":{"type":"object","properties":{"member":{"type":"array","items":{"$ref":"#\/components\/schemas\/Event.jsonld"}},"totalItems":{"type":"integer","minimum":0},"view":{"type":"object","properties":{"@id":{"type":"string","format":"iri-reference"},"@type":{"type":"string"},"first":{"type":"string","format":"iri-reference"},"last":{"type":"string","format":"iri-reference"},"previous":{"type":"string","format":"iri-reference"},"next":{"type":"string","format":"iri-reference"}},"example":{"@id":"string","type":"string","first":"string","last":"string","previous":"string","next":"string"}},"search":{"type":"object","properties":{"@type":{"type":"string"},"template":{"type":"string"},"variableRepresentation":{"type":"string"},"mapping":{"type":"array","items":{"type":"object","properties":{"@type":{"type":"string"},"variable":{"type":"string"},"property":{"type":["string","null"]},"required":{"type":"boolean"}}}}}}},"required":["member"]}}}}},"summary":"Retrieves the collection of Event resources.","description":"Retrieves the collection of Event resources.","parameters":[{"name":"page","in":"query","description":"The collection page number","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"integer","default":1},"style":"form","explode":false,"allowReserved":false},{"name":"itemsPerPage","in":"query","description":"The number of items per page","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"integer","default":50,"minimum":0,"maximum":200},"style":"form","explode":false,"allowReserved":false},{"name":"name","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false},{"name":"custom_json_filter","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false},{"name":"custom_json_order","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false}],"deprecated":false}},"\/api\/events\/{id}":{"get":{"operationId":"api_events_id_get","tags":["Event"],"responses":{"200":{"description":"Event resource","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Event.jsonld"}}}},"404":{"description":"Resource not found"}},"summary":"Retrieves a Event resource.","description":"Retrieves a Event resource.","parameters":[{"name":"id","in":"path","description":"Event identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"deprecated":false}},"\/api\/locations":{"get":{"operationId":"api_locations_get_collection","tags":["Location"],"responses":{"200":{"description":"Location collection","content":{"application\/ld+json":{"schema":{"type":"object","properties":{"member":{"type":"array","items":{"$ref":"#\/components\/schemas\/Location.jsonld"}},"totalItems":{"type":"integer","minimum":0},"view":{"type":"object","properties":{"@id":{"type":"string","format":"iri-reference"},"@type":{"type":"string"},"first":{"type":"string","format":"iri-reference"},"last":{"type":"string","format":"iri-reference"},"previous":{"type":"string","format":"iri-reference"},"next":{"type":"string","format":"iri-reference"}},"example":{"@id":"string","type":"string","first":"string","last":"string","previous":"string","next":"string"}},"search":{"type":"object","properties":{"@type":{"type":"string"},"template":{"type":"string"},"variableRepresentation":{"type":"string"},"mapping":{"type":"array","items":{"type":"object","properties":{"@type":{"type":"string"},"variable":{"type":"string"},"property":{"type":["string","null"]},"required":{"type":"boolean"}}}}}}},"required":["member"]}}}}},"summary":"Retrieves the collection of Location resources.","description":"Retrieves the collection of Location resources.","parameters":[{"name":"page","in":"query","description":"The collection page number","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"integer","default":1},"style":"form","explode":false,"allowReserved":false},{"name":"itemsPerPage","in":"query","description":"The number of items per page","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"integer","default":50,"minimum":0,"maximum":200},"style":"form","explode":false,"allowReserved":false},{"name":"name","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false},{"name":"custom_json_filter","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false},{"name":"custom_json_order","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false}],"deprecated":false},"post":{"operationId":"api_locations_post","tags":["Location"],"responses":{"201":{"description":"Location resource created","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Location.jsonld"}}},"links":{}},"400":{"description":"Invalid input"},"422":{"description":"Unprocessable entity"}},"summary":"Creates a Location resource.","description":"Creates a Location resource.","parameters":[],"requestBody":{"description":"The new Location resource","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Location.jsonld"}}},"required":true},"deprecated":false}},"\/api\/locations\/{id}":{"get":{"operationId":"api_locations_id_get","tags":["Location"],"responses":{"200":{"description":"Location resource","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Location.jsonld"}}}},"404":{"description":"Resource not found"}},"summary":"Retrieves a Location resource.","description":"Retrieves a Location resource.","parameters":[{"name":"id","in":"path","description":"Location identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"deprecated":false},"delete":{"operationId":"api_locations_id_delete","tags":["Location"],"responses":{"204":{"description":"Location resource deleted"},"404":{"description":"Resource not found"}},"summary":"Removes the Location resource.","description":"Removes the Location resource.","parameters":[{"name":"id","in":"path","description":"Location identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"deprecated":false},"patch":{"operationId":"api_locations_id_patch","tags":["Location"],"responses":{"200":{"description":"Location resource updated","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Location.jsonld"}}},"links":{}},"400":{"description":"Invalid input"},"422":{"description":"Unprocessable entity"},"404":{"description":"Resource not found"}},"summary":"Updates the Location resource.","description":"Updates the Location resource.","parameters":[{"name":"id","in":"path","description":"Location identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"requestBody":{"description":"The updated Location resource","content":{"application\/merge-patch+json":{"schema":{"$ref":"#\/components\/schemas\/Location"}}},"required":true},"deprecated":false}},"\/api\/media_objects":{"get":{"operationId":"api_media_objects_get_collection","tags":["MediaObject"],"responses":{"200":{"description":"MediaObject collection","content":{"application\/ld+json":{"schema":{"type":"object","properties":{"member":{"type":"array","items":{"$ref":"#\/components\/schemas\/MediaObject.jsonld"}},"totalItems":{"type":"integer","minimum":0},"view":{"type":"object","properties":{"@id":{"type":"string","format":"iri-reference"},"@type":{"type":"string"},"first":{"type":"string","format":"iri-reference"},"last":{"type":"string","format":"iri-reference"},"previous":{"type":"string","format":"iri-reference"},"next":{"type":"string","format":"iri-reference"}},"example":{"@id":"string","type":"string","first":"string","last":"string","previous":"string","next":"string"}},"search":{"type":"object","properties":{"@type":{"type":"string"},"template":{"type":"string"},"variableRepresentation":{"type":"string"},"mapping":{"type":"array","items":{"type":"object","properties":{"@type":{"type":"string"},"variable":{"type":"string"},"property":{"type":["string","null"]},"required":{"type":"boolean"}}}}}}},"required":["member"]}}}}},"summary":"Retrieves the collection of MediaObject resources.","description":"Retrieves the collection of MediaObject resources.","parameters":[{"name":"page","in":"query","description":"The collection page number","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"integer","default":1},"style":"form","explode":false,"allowReserved":false},{"name":"itemsPerPage","in":"query","description":"The number of items per page","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"integer","default":50,"minimum":0,"maximum":200},"style":"form","explode":false,"allowReserved":false}],"deprecated":false},"post":{"operationId":"api_media_objects_post","tags":["MediaObject"],"responses":{"201":{"description":"MediaObject resource created","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/MediaObject.jsonld"}}},"links":{}},"400":{"description":"Invalid input"},"422":{"description":"Unprocessable entity"}},"summary":"Creates a MediaObject resource.","description":"Creates a MediaObject resource.","parameters":[],"requestBody":{"description":"The new MediaObject resource","content":{"multipart\/form-data":{"schema":{"type":"object","properties":{"file":{"type":"string","format":"binary"}}}}},"required":false},"deprecated":false}},"\/api\/media_objects\/{id}":{"get":{"operationId":"api_media_objects_id_get","tags":["MediaObject"],"responses":{"200":{"description":"MediaObject resource","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/MediaObject.jsonld"}}}},"404":{"description":"Resource not found"}},"summary":"Retrieves a MediaObject resource.","description":"Retrieves a MediaObject resource.","parameters":[{"name":"id","in":"path","description":"MediaObject identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"deprecated":false},"delete":{"operationId":"api_media_objects_id_delete","tags":["MediaObject"],"responses":{"204":{"description":"MediaObject resource deleted"},"404":{"description":"Resource not found"}},"summary":"Removes the MediaObject resource.","description":"Removes the MediaObject resource.","parameters":[{"name":"id","in":"path","description":"MediaObject identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"deprecated":false}},"\/api\/shipping_companies":{"get":{"operationId":"api_shipping_companies_get_collection","tags":["ShippingCompany"],"responses":{"200":{"description":"ShippingCompany collection","content":{"application\/ld+json":{"schema":{"type":"object","properties":{"member":{"type":"array","items":{"$ref":"#\/components\/schemas\/ShippingCompany.jsonld"}},"totalItems":{"type":"integer","minimum":0},"view":{"type":"object","properties":{"@id":{"type":"string","format":"iri-reference"},"@type":{"type":"string"},"first":{"type":"string","format":"iri-reference"},"last":{"type":"string","format":"iri-reference"},"previous":{"type":"string","format":"iri-reference"},"next":{"type":"string","format":"iri-reference"}},"example":{"@id":"string","type":"string","first":"string","last":"string","previous":"string","next":"string"}},"search":{"type":"object","properties":{"@type":{"type":"string"},"template":{"type":"string"},"variableRepresentation":{"type":"string"},"mapping":{"type":"array","items":{"type":"object","properties":{"@type":{"type":"string"},"variable":{"type":"string"},"property":{"type":["string","null"]},"required":{"type":"boolean"}}}}}}},"required":["member"]}}}}},"summary":"Retrieves the collection of ShippingCompany resources.","description":"Retrieves the collection of ShippingCompany resources.","parameters":[{"name":"page","in":"query","description":"The collection page number","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"integer","default":1},"style":"form","explode":false,"allowReserved":false},{"name":"itemsPerPage","in":"query","description":"The number of items per page","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"integer","default":50,"minimum":0,"maximum":200},"style":"form","explode":false,"allowReserved":false},{"name":"name","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false},{"name":"custom_json_filter","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false},{"name":"custom_json_order","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false}],"deprecated":false},"post":{"operationId":"api_shipping_companies_post","tags":["ShippingCompany"],"responses":{"201":{"description":"ShippingCompany resource created","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/ShippingCompany.jsonld"}}},"links":{}},"400":{"description":"Invalid input"},"422":{"description":"Unprocessable entity"}},"summary":"Creates a ShippingCompany resource.","description":"Creates a ShippingCompany resource.","parameters":[],"requestBody":{"description":"The new ShippingCompany resource","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/ShippingCompany.jsonld"}}},"required":true},"deprecated":false}},"\/api\/shipping_companies\/{id}":{"get":{"operationId":"api_shipping_companies_id_get","tags":["ShippingCompany"],"responses":{"200":{"description":"ShippingCompany resource","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/ShippingCompany.jsonld"}}}},"404":{"description":"Resource not found"}},"summary":"Retrieves a ShippingCompany resource.","description":"Retrieves a ShippingCompany resource.","parameters":[{"name":"id","in":"path","description":"ShippingCompany identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"deprecated":false},"delete":{"operationId":"api_shipping_companies_id_delete","tags":["ShippingCompany"],"responses":{"204":{"description":"ShippingCompany resource deleted"},"404":{"description":"Resource not found"}},"summary":"Removes the ShippingCompany resource.","description":"Removes the ShippingCompany resource.","parameters":[{"name":"id","in":"path","description":"ShippingCompany identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"deprecated":false},"patch":{"operationId":"api_shipping_companies_id_patch","tags":["ShippingCompany"],"responses":{"200":{"description":"ShippingCompany resource updated","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/ShippingCompany.jsonld"}}},"links":{}},"400":{"description":"Invalid input"},"422":{"description":"Unprocessable entity"},"404":{"description":"Resource not found"}},"summary":"Updates the ShippingCompany resource.","description":"Updates the ShippingCompany resource.","parameters":[{"name":"id","in":"path","description":"ShippingCompany identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"requestBody":{"description":"The updated ShippingCompany resource","content":{"application\/merge-patch+json":{"schema":{"$ref":"#\/components\/schemas\/ShippingCompany"}}},"required":true},"deprecated":false}},"\/api\/trips":{"get":{"operationId":"api_trips_get_collection","tags":["Trip"],"responses":{"200":{"description":"Trip collection","content":{"application\/ld+json":{"schema":{"type":"object","properties":{"member":{"type":"array","items":{"$ref":"#\/components\/schemas\/Trip.jsonld"}},"totalItems":{"type":"integer","minimum":0},"view":{"type":"object","properties":{"@id":{"type":"string","format":"iri-reference"},"@type":{"type":"string"},"first":{"type":"string","format":"iri-reference"},"last":{"type":"string","format":"iri-reference"},"previous":{"type":"string","format":"iri-reference"},"next":{"type":"string","format":"iri-reference"}},"example":{"@id":"string","type":"string","first":"string","last":"string","previous":"string","next":"string"}},"search":{"type":"object","properties":{"@type":{"type":"string"},"template":{"type":"string"},"variableRepresentation":{"type":"string"},"mapping":{"type":"array","items":{"type":"object","properties":{"@type":{"type":"string"},"variable":{"type":"string"},"property":{"type":["string","null"]},"required":{"type":"boolean"}}}}}}},"required":["member"]}}}}},"summary":"Retrieves the collection of Trip resources.","description":"Retrieves the collection of Trip resources.","parameters":[{"name":"page","in":"query","description":"The collection page number","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"integer","default":1},"style":"form","explode":false,"allowReserved":false},{"name":"itemsPerPage","in":"query","description":"The number of items per page","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"integer","default":50,"minimum":0,"maximum":200},"style":"form","explode":false,"allowReserved":false},{"name":"id","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"integer"},"style":"form","explode":false,"allowReserved":false},{"name":"custom_json_filter","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false},{"name":"custom_json_order","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false}],"deprecated":false},"post":{"operationId":"api_trips_post","tags":["Trip"],"responses":{"201":{"description":"Trip resource created","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Trip.jsonld"}}},"links":{}},"400":{"description":"Invalid input"},"422":{"description":"Unprocessable entity"}},"summary":"Creates a Trip resource.","description":"Creates a Trip resource.","parameters":[],"requestBody":{"description":"The new Trip resource","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Trip.jsonld"}}},"required":true},"deprecated":false}},"\/api\/trips\/{id}":{"get":{"operationId":"api_trips_id_get","tags":["Trip"],"responses":{"200":{"description":"Trip resource","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Trip.jsonld"}}}},"404":{"description":"Resource not found"}},"summary":"Retrieves a Trip resource.","description":"Retrieves a Trip resource.","parameters":[{"name":"id","in":"path","description":"Trip identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"deprecated":false},"delete":{"operationId":"api_trips_id_delete","tags":["Trip"],"responses":{"204":{"description":"Trip resource deleted"},"404":{"description":"Resource not found"}},"summary":"Removes the Trip resource.","description":"Removes the Trip resource.","parameters":[{"name":"id","in":"path","description":"Trip identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"deprecated":false},"patch":{"operationId":"api_trips_id_patch","tags":["Trip"],"responses":{"200":{"description":"Trip resource updated","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Trip.jsonld"}}},"links":{}},"400":{"description":"Invalid input"},"422":{"description":"Unprocessable entity"},"404":{"description":"Resource not found"}},"summary":"Updates the Trip resource.","description":"Updates the Trip resource.","parameters":[{"name":"id","in":"path","description":"Trip identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"requestBody":{"description":"The updated Trip resource","content":{"application\/merge-patch+json":{"schema":{"$ref":"#\/components\/schemas\/Trip"}}},"required":true},"deprecated":false}},"\/api\/trip_locations":{"get":{"operationId":"api_trip_locations_get_collection","tags":["TripLocation"],"responses":{"200":{"description":"TripLocation collection","content":{"application\/ld+json":{"schema":{"type":"object","properties":{"member":{"type":"array","items":{"$ref":"#\/components\/schemas\/TripLocation.jsonld"}},"totalItems":{"type":"integer","minimum":0},"view":{"type":"object","properties":{"@id":{"type":"string","format":"iri-reference"},"@type":{"type":"string"},"first":{"type":"string","format":"iri-reference"},"last":{"type":"string","format":"iri-reference"},"previous":{"type":"string","format":"iri-reference"},"next":{"type":"string","format":"iri-reference"}},"example":{"@id":"string","type":"string","first":"string","last":"string","previous":"string","next":"string"}},"search":{"type":"object","properties":{"@type":{"type":"string"},"template":{"type":"string"},"variableRepresentation":{"type":"string"},"mapping":{"type":"array","items":{"type":"object","properties":{"@type":{"type":"string"},"variable":{"type":"string"},"property":{"type":["string","null"]},"required":{"type":"boolean"}}}}}}},"required":["member"]}}}}},"summary":"Retrieves the collection of TripLocation resources.","description":"Retrieves the collection of TripLocation resources.","parameters":[{"name":"page","in":"query","description":"The collection page number","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"integer","default":1},"style":"form","explode":false,"allowReserved":false},{"name":"itemsPerPage","in":"query","description":"The number of items per page","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"integer","default":50,"minimum":0,"maximum":200},"style":"form","explode":false,"allowReserved":false},{"name":"trip","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false},{"name":"trip[]","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"array","items":{"type":"string"}},"style":"form","explode":true,"allowReserved":false},{"name":"custom_json_filter","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false},{"name":"custom_json_order","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false}],"deprecated":false},"post":{"operationId":"api_trip_locations_post","tags":["TripLocation"],"responses":{"201":{"description":"TripLocation resource created","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/TripLocation.jsonld"}}},"links":{}},"400":{"description":"Invalid input"},"422":{"description":"Unprocessable entity"}},"summary":"Creates a TripLocation resource.","description":"Creates a TripLocation resource.","parameters":[],"requestBody":{"description":"The new TripLocation resource","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/TripLocation.jsonld"}}},"required":true},"deprecated":false}},"\/api\/trip_locations\/{id}":{"get":{"operationId":"api_trip_locations_id_get","tags":["TripLocation"],"responses":{"200":{"description":"TripLocation resource","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/TripLocation.jsonld"}}}},"404":{"description":"Resource not found"}},"summary":"Retrieves a TripLocation resource.","description":"Retrieves a TripLocation resource.","parameters":[{"name":"id","in":"path","description":"TripLocation identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"deprecated":false},"delete":{"operationId":"api_trip_locations_id_delete","tags":["TripLocation"],"responses":{"204":{"description":"TripLocation resource deleted"},"404":{"description":"Resource not found"}},"summary":"Removes the TripLocation resource.","description":"Removes the TripLocation resource.","parameters":[{"name":"id","in":"path","description":"TripLocation identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"deprecated":false},"patch":{"operationId":"api_trip_locations_id_patch","tags":["TripLocation"],"responses":{"200":{"description":"TripLocation resource updated","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/TripLocation.jsonld"}}},"links":{}},"400":{"description":"Invalid input"},"422":{"description":"Unprocessable entity"},"404":{"description":"Resource not found"}},"summary":"Updates the TripLocation resource.","description":"Updates the TripLocation resource.","parameters":[{"name":"id","in":"path","description":"TripLocation identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"requestBody":{"description":"The updated TripLocation resource","content":{"application\/merge-patch+json":{"schema":{"$ref":"#\/components\/schemas\/TripLocation"}}},"required":true},"deprecated":false}},"\/api\/users":{"get":{"operationId":"api_users_get_collection","tags":["User"],"responses":{"200":{"description":"User collection","content":{"application\/ld+json":{"schema":{"type":"object","properties":{"member":{"type":"array","items":{"$ref":"#\/components\/schemas\/User.jsonld"}},"totalItems":{"type":"integer","minimum":0},"view":{"type":"object","properties":{"@id":{"type":"string","format":"iri-reference"},"@type":{"type":"string"},"first":{"type":"string","format":"iri-reference"},"last":{"type":"string","format":"iri-reference"},"previous":{"type":"string","format":"iri-reference"},"next":{"type":"string","format":"iri-reference"}},"example":{"@id":"string","type":"string","first":"string","last":"string","previous":"string","next":"string"}},"search":{"type":"object","properties":{"@type":{"type":"string"},"template":{"type":"string"},"variableRepresentation":{"type":"string"},"mapping":{"type":"array","items":{"type":"object","properties":{"@type":{"type":"string"},"variable":{"type":"string"},"property":{"type":["string","null"]},"required":{"type":"boolean"}}}}}}},"required":["member"]}}}}},"summary":"Retrieves the collection of User resources.","description":"Retrieves the collection of User resources.","parameters":[{"name":"page","in":"query","description":"The collection page number","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"integer","default":1},"style":"form","explode":false,"allowReserved":false},{"name":"itemsPerPage","in":"query","description":"The number of items per page","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"integer","default":50,"minimum":0,"maximum":200},"style":"form","explode":false,"allowReserved":false},{"name":"firstName","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false},{"name":"lastName","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false},{"name":"userNameSearch","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false},{"name":"custom_json_order","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false}],"deprecated":false},"post":{"operationId":"api_users_post","tags":["User"],"responses":{"201":{"description":"User resource created","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/User.jsonld"}}},"links":{}},"400":{"description":"Invalid input"},"422":{"description":"Unprocessable entity"}},"summary":"Creates a User resource.","description":"Creates a User resource.","parameters":[],"requestBody":{"description":"The new User resource","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/User.jsonld"}}},"required":true},"deprecated":false}},"\/api\/users\/{id}":{"get":{"operationId":"api_users_id_get","tags":["User"],"responses":{"200":{"description":"User resource","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/User.jsonld"}}}},"404":{"description":"Resource not found"}},"summary":"Retrieves a User resource.","description":"Retrieves a User resource.","parameters":[{"name":"id","in":"path","description":"User identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"deprecated":false},"delete":{"operationId":"api_users_id_delete","tags":["User"],"responses":{"204":{"description":"User resource deleted"},"404":{"description":"Resource not found"}},"summary":"Removes the User resource.","description":"Removes the User resource.","parameters":[{"name":"id","in":"path","description":"User identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"deprecated":false},"patch":{"operationId":"api_users_id_patch","tags":["User"],"responses":{"200":{"description":"User resource updated","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/User.jsonld"}}},"links":{}},"400":{"description":"Invalid input"},"422":{"description":"Unprocessable entity"},"404":{"description":"Resource not found"}},"summary":"Updates the User resource.","description":"Updates the User resource.","parameters":[{"name":"id","in":"path","description":"User identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"requestBody":{"description":"The updated User resource","content":{"application\/merge-patch+json":{"schema":{"$ref":"#\/components\/schemas\/User"}}},"required":true},"deprecated":false}},"\/api\/user_trips":{"get":{"operationId":"api_user_trips_get_collection","tags":["UserTrip"],"responses":{"200":{"description":"UserTrip collection","content":{"application\/ld+json":{"schema":{"type":"object","properties":{"member":{"type":"array","items":{"$ref":"#\/components\/schemas\/UserTrip.jsonld"}},"totalItems":{"type":"integer","minimum":0},"view":{"type":"object","properties":{"@id":{"type":"string","format":"iri-reference"},"@type":{"type":"string"},"first":{"type":"string","format":"iri-reference"},"last":{"type":"string","format":"iri-reference"},"previous":{"type":"string","format":"iri-reference"},"next":{"type":"string","format":"iri-reference"}},"example":{"@id":"string","type":"string","first":"string","last":"string","previous":"string","next":"string"}},"search":{"type":"object","properties":{"@type":{"type":"string"},"template":{"type":"string"},"variableRepresentation":{"type":"string"},"mapping":{"type":"array","items":{"type":"object","properties":{"@type":{"type":"string"},"variable":{"type":"string"},"property":{"type":["string","null"]},"required":{"type":"boolean"}}}}}}},"required":["member"]}}}}},"summary":"Retrieves the collection of UserTrip resources.","description":"Retrieves the collection of UserTrip resources.","parameters":[{"name":"page","in":"query","description":"The collection page number","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"integer","default":1},"style":"form","explode":false,"allowReserved":false},{"name":"itemsPerPage","in":"query","description":"The number of items per page","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"integer","default":50,"minimum":0,"maximum":200},"style":"form","explode":false,"allowReserved":false},{"name":"trip","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false},{"name":"trip[]","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"array","items":{"type":"string"}},"style":"form","explode":true,"allowReserved":false},{"name":"user","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false},{"name":"user[]","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"array","items":{"type":"string"}},"style":"form","explode":true,"allowReserved":false},{"name":"custom_json_filter","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false},{"name":"custom_json_order","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false}],"deprecated":false},"post":{"operationId":"api_user_trips_post","tags":["UserTrip"],"responses":{"201":{"description":"UserTrip resource created","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/UserTrip.jsonld"}}},"links":{}},"400":{"description":"Invalid input"},"422":{"description":"Unprocessable entity"}},"summary":"Creates a UserTrip resource.","description":"Creates a UserTrip resource.","parameters":[],"requestBody":{"description":"The new UserTrip resource","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/UserTrip.jsonld"}}},"required":true},"deprecated":false}},"\/api\/user_trips\/{id}":{"get":{"operationId":"api_user_trips_id_get","tags":["UserTrip"],"responses":{"200":{"description":"UserTrip resource","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/UserTrip.jsonld"}}}},"404":{"description":"Resource not found"}},"summary":"Retrieves a UserTrip resource.","description":"Retrieves a UserTrip resource.","parameters":[{"name":"id","in":"path","description":"UserTrip identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"deprecated":false},"delete":{"operationId":"api_user_trips_id_delete","tags":["UserTrip"],"responses":{"204":{"description":"UserTrip resource deleted"},"404":{"description":"Resource not found"}},"summary":"Removes the UserTrip resource.","description":"Removes the UserTrip resource.","parameters":[{"name":"id","in":"path","description":"UserTrip identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"deprecated":false},"patch":{"operationId":"api_user_trips_id_patch","tags":["UserTrip"],"responses":{"200":{"description":"UserTrip resource updated","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/UserTrip.jsonld"}}},"links":{}},"400":{"description":"Invalid input"},"422":{"description":"Unprocessable entity"},"404":{"description":"Resource not found"}},"summary":"Updates the UserTrip resource.","description":"Updates the UserTrip resource.","parameters":[{"name":"id","in":"path","description":"UserTrip identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"requestBody":{"description":"The updated UserTrip resource","content":{"application\/merge-patch+json":{"schema":{"$ref":"#\/components\/schemas\/UserTrip"}}},"required":true},"deprecated":false}},"\/api\/user_trip_events":{"get":{"operationId":"api_user_trip_events_get_collection","tags":["UserTripEvent"],"responses":{"200":{"description":"UserTripEvent collection","content":{"application\/ld+json":{"schema":{"type":"object","properties":{"member":{"type":"array","items":{"$ref":"#\/components\/schemas\/UserTripEvent.jsonld"}},"totalItems":{"type":"integer","minimum":0},"view":{"type":"object","properties":{"@id":{"type":"string","format":"iri-reference"},"@type":{"type":"string"},"first":{"type":"string","format":"iri-reference"},"last":{"type":"string","format":"iri-reference"},"previous":{"type":"string","format":"iri-reference"},"next":{"type":"string","format":"iri-reference"}},"example":{"@id":"string","type":"string","first":"string","last":"string","previous":"string","next":"string"}},"search":{"type":"object","properties":{"@type":{"type":"string"},"template":{"type":"string"},"variableRepresentation":{"type":"string"},"mapping":{"type":"array","items":{"type":"object","properties":{"@type":{"type":"string"},"variable":{"type":"string"},"property":{"type":["string","null"]},"required":{"type":"boolean"}}}}}}},"required":["member"]}}}}},"summary":"Retrieves the collection of UserTripEvent resources.","description":"Retrieves the collection of UserTripEvent resources.","parameters":[{"name":"page","in":"query","description":"The collection page number","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"integer","default":1},"style":"form","explode":false,"allowReserved":false},{"name":"itemsPerPage","in":"query","description":"The number of items per page","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"integer","default":50,"minimum":0,"maximum":200},"style":"form","explode":false,"allowReserved":false}],"deprecated":false},"post":{"operationId":"api_user_trip_events_post","tags":["UserTripEvent"],"responses":{"201":{"description":"UserTripEvent resource created","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/UserTripEvent.jsonld"}}},"links":{}},"400":{"description":"Invalid input"},"422":{"description":"Unprocessable entity"}},"summary":"Creates a UserTripEvent resource.","description":"Creates a UserTripEvent resource.","parameters":[],"requestBody":{"description":"The new UserTripEvent resource","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/UserTripEvent.jsonld"}}},"required":true},"deprecated":false}},"\/api\/user_trip_events\/{id}":{"get":{"operationId":"api_user_trip_events_id_get","tags":["UserTripEvent"],"responses":{"200":{"description":"UserTripEvent resource","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/UserTripEvent.jsonld"}}}},"404":{"description":"Resource not found"}},"summary":"Retrieves a UserTripEvent resource.","description":"Retrieves a UserTripEvent resource.","parameters":[{"name":"id","in":"path","description":"UserTripEvent identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"deprecated":false},"patch":{"operationId":"api_user_trip_events_id_patch","tags":["UserTripEvent"],"responses":{"200":{"description":"UserTripEvent resource updated","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/UserTripEvent.jsonld"}}},"links":{}},"400":{"description":"Invalid input"},"422":{"description":"Unprocessable entity"},"404":{"description":"Resource not found"}},"summary":"Updates the UserTripEvent resource.","description":"Updates the UserTripEvent resource.","parameters":[{"name":"id","in":"path","description":"UserTripEvent identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"requestBody":{"description":"The updated UserTripEvent resource","content":{"application\/merge-patch+json":{"schema":{"$ref":"#\/components\/schemas\/UserTripEvent"}}},"required":true},"deprecated":false}},"\/api\/vessels":{"get":{"operationId":"api_vessels_get_collection","tags":["Vessel"],"responses":{"200":{"description":"Vessel collection","content":{"application\/ld+json":{"schema":{"type":"object","properties":{"member":{"type":"array","items":{"$ref":"#\/components\/schemas\/Vessel.jsonld"}},"totalItems":{"type":"integer","minimum":0},"view":{"type":"object","properties":{"@id":{"type":"string","format":"iri-reference"},"@type":{"type":"string"},"first":{"type":"string","format":"iri-reference"},"last":{"type":"string","format":"iri-reference"},"previous":{"type":"string","format":"iri-reference"},"next":{"type":"string","format":"iri-reference"}},"example":{"@id":"string","type":"string","first":"string","last":"string","previous":"string","next":"string"}},"search":{"type":"object","properties":{"@type":{"type":"string"},"template":{"type":"string"},"variableRepresentation":{"type":"string"},"mapping":{"type":"array","items":{"type":"object","properties":{"@type":{"type":"string"},"variable":{"type":"string"},"property":{"type":["string","null"]},"required":{"type":"boolean"}}}}}}},"required":["member"]}}}}},"summary":"Retrieves the collection of Vessel resources.","description":"Retrieves the collection of Vessel resources.","parameters":[{"name":"page","in":"query","description":"The collection page number","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"integer","default":1},"style":"form","explode":false,"allowReserved":false},{"name":"itemsPerPage","in":"query","description":"The number of items per page","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"integer","default":50,"minimum":0,"maximum":200},"style":"form","explode":false,"allowReserved":false},{"name":"name","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false},{"name":"custom_json_filter","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false},{"name":"custom_json_order","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false}],"deprecated":false},"post":{"operationId":"api_vessels_post","tags":["Vessel"],"responses":{"201":{"description":"Vessel resource created","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Vessel.jsonld"}}},"links":{}},"400":{"description":"Invalid input"},"422":{"description":"Unprocessable entity"}},"summary":"Creates a Vessel resource.","description":"Creates a Vessel resource.","parameters":[],"requestBody":{"description":"The new Vessel resource","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Vessel.jsonld"}}},"required":true},"deprecated":false}},"\/api\/vessels\/{id}":{"get":{"operationId":"api_vessels_id_get","tags":["Vessel"],"responses":{"200":{"description":"Vessel resource","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Vessel.jsonld"}}}},"404":{"description":"Resource not found"}},"summary":"Retrieves a Vessel resource.","description":"Retrieves a Vessel resource.","parameters":[{"name":"id","in":"path","description":"Vessel identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"deprecated":false},"delete":{"operationId":"api_vessels_id_delete","tags":["Vessel"],"responses":{"204":{"description":"Vessel resource deleted"},"404":{"description":"Resource not found"}},"summary":"Removes the Vessel resource.","description":"Removes the Vessel resource.","parameters":[{"name":"id","in":"path","description":"Vessel identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"deprecated":false},"patch":{"operationId":"api_vessels_id_patch","tags":["Vessel"],"responses":{"200":{"description":"Vessel resource updated","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Vessel.jsonld"}}},"links":{}},"400":{"description":"Invalid input"},"422":{"description":"Unprocessable entity"},"404":{"description":"Resource not found"}},"summary":"Updates the Vessel resource.","description":"Updates the Vessel resource.","parameters":[{"name":"id","in":"path","description":"Vessel identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"requestBody":{"description":"The updated Vessel resource","content":{"application\/merge-patch+json":{"schema":{"$ref":"#\/components\/schemas\/Vessel"}}},"required":true},"deprecated":false}},"\/api\/zones":{"get":{"operationId":"api_zones_get_collection","tags":["Zone"],"responses":{"200":{"description":"Zone collection","content":{"application\/ld+json":{"schema":{"type":"object","properties":{"member":{"type":"array","items":{"$ref":"#\/components\/schemas\/Zone.jsonld"}},"totalItems":{"type":"integer","minimum":0},"view":{"type":"object","properties":{"@id":{"type":"string","format":"iri-reference"},"@type":{"type":"string"},"first":{"type":"string","format":"iri-reference"},"last":{"type":"string","format":"iri-reference"},"previous":{"type":"string","format":"iri-reference"},"next":{"type":"string","format":"iri-reference"}},"example":{"@id":"string","type":"string","first":"string","last":"string","previous":"string","next":"string"}},"search":{"type":"object","properties":{"@type":{"type":"string"},"template":{"type":"string"},"variableRepresentation":{"type":"string"},"mapping":{"type":"array","items":{"type":"object","properties":{"@type":{"type":"string"},"variable":{"type":"string"},"property":{"type":["string","null"]},"required":{"type":"boolean"}}}}}}},"required":["member"]}}}}},"summary":"Retrieves the collection of Zone resources.","description":"Retrieves the collection of Zone resources.","parameters":[{"name":"page","in":"query","description":"The collection page number","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"integer","default":1},"style":"form","explode":false,"allowReserved":false},{"name":"itemsPerPage","in":"query","description":"The number of items per page","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"integer","default":50,"minimum":0,"maximum":200},"style":"form","explode":false,"allowReserved":false},{"name":"name","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false},{"name":"custom_json_filter","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false},{"name":"custom_json_order","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false}],"deprecated":false},"post":{"operationId":"api_zones_post","tags":["Zone"],"responses":{"201":{"description":"Zone resource created","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Zone.jsonld"}}},"links":{}},"400":{"description":"Invalid input"},"422":{"description":"Unprocessable entity"}},"summary":"Creates a Zone resource.","description":"Creates a Zone resource.","parameters":[],"requestBody":{"description":"The new Zone resource","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Zone.jsonld"}}},"required":true},"deprecated":false}},"\/api\/zones\/{id}":{"get":{"operationId":"api_zones_id_get","tags":["Zone"],"responses":{"200":{"description":"Zone resource","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Zone.jsonld"}}}},"404":{"description":"Resource not found"}},"summary":"Retrieves a Zone resource.","description":"Retrieves a Zone resource.","parameters":[{"name":"id","in":"path","description":"Zone identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"deprecated":false},"delete":{"operationId":"api_zones_id_delete","tags":["Zone"],"responses":{"204":{"description":"Zone resource deleted"},"404":{"description":"Resource not found"}},"summary":"Removes the Zone resource.","description":"Removes the Zone resource.","parameters":[{"name":"id","in":"path","description":"Zone identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"deprecated":false},"patch":{"operationId":"api_zones_id_patch","tags":["Zone"],"responses":{"200":{"description":"Zone resource updated","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Zone.jsonld"}}},"links":{}},"400":{"description":"Invalid input"},"422":{"description":"Unprocessable entity"},"404":{"description":"Resource not found"}},"summary":"Updates the Zone resource.","description":"Updates the Zone resource.","parameters":[{"name":"id","in":"path","description":"Zone identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"requestBody":{"description":"The updated Zone resource","content":{"application\/merge-patch+json":{"schema":{"$ref":"#\/components\/schemas\/Zone"}}},"required":true},"deprecated":false}}},"components":{"schemas":{"Event.jsonld":{"type":"object","description":"","deprecated":false,"properties":{"@context":{"readOnly":true,"oneOf":[{"type":"string"},{"type":"object","properties":{"@vocab":{"type":"string"},"hydra":{"type":"string","enum":["http:\/\/www.w3.org\/ns\/hydra\/core#"]}},"required":["@vocab","hydra"],"additionalProperties":true}]},"@id":{"readOnly":true,"type":"string"},"@type":{"readOnly":true,"type":"string"},"dbId":{"readOnly":true,"type":["integer","null"]},"name":{"type":"string"},"identifier":{"type":"string"},"sequence":{"type":"integer"},"mandatory":{"type":"boolean"},"createdAt":{"readOnly":true,"type":["string","null"],"format":"date-time"}}},"Location":{"type":"object","description":"","deprecated":false,"properties":{"dbId":{"readOnly":true,"type":["integer","null"]},"zone":{"$ref":"#\/components\/schemas\/Zone"},"name":{"type":"string"},"code":{"type":"string"},"isZone":{"type":"boolean"},"isPlace":{"type":"boolean"},"isPort":{"type":"boolean"},"createdAt":{"readOnly":true,"type":["string","null"],"format":"date-time"}},"required":["name","code"]},"Location.jsonld":{"type":"object","description":"","deprecated":false,"properties":{"@context":{"readOnly":true,"oneOf":[{"type":"string"},{"type":"object","properties":{"@vocab":{"type":"string"},"hydra":{"type":"string","enum":["http:\/\/www.w3.org\/ns\/hydra\/core#"]}},"required":["@vocab","hydra"],"additionalProperties":true}]},"@id":{"readOnly":true,"type":"string"},"@type":{"readOnly":true,"type":"string"},"dbId":{"readOnly":true,"type":["integer","null"]},"zone":{"$ref":"#\/components\/schemas\/Zone.jsonld"},"name":{"type":"string"},"code":{"type":"string"},"isZone":{"type":"boolean"},"isPlace":{"type":"boolean"},"isPort":{"type":"boolean"},"createdAt":{"readOnly":true,"type":["string","null"],"format":"date-time"}},"required":["name","code"]},"MediaObject":{"type":"object","description":"","deprecated":false,"properties":{"dbId":{"readOnly":true,"type":["integer","null"]},"contentUrl":{"externalDocs":{"url":"https:\/\/schema.org\/contentUrl"},"type":["string","null"]},"filePath":{"readOnly":true,"type":["string","null"]},"createdAt":{"readOnly":true,"type":["string","null"],"format":"date-time"}}},"MediaObject.jsonld":{"type":"object","description":"","deprecated":false,"properties":{"@context":{"readOnly":true,"oneOf":[{"type":"string"},{"type":"object","properties":{"@vocab":{"type":"string"},"hydra":{"type":"string","enum":["http:\/\/www.w3.org\/ns\/hydra\/core#"]}},"required":["@vocab","hydra"],"additionalProperties":true}]},"@id":{"readOnly":true,"type":"string"},"@type":{"readOnly":true,"type":"string"},"dbId":{"readOnly":true,"type":["integer","null"]},"contentUrl":{"externalDocs":{"url":"https:\/\/schema.org\/contentUrl"},"type":["string","null"]},"filePath":{"readOnly":true,"type":["string","null"]},"createdAt":{"readOnly":true,"type":["string","null"],"format":"date-time"}}},"ShippingCompany":{"type":"object","description":"","deprecated":false,"properties":{"dbId":{"readOnly":true,"type":["integer","null"]},"name":{"type":"string"},"code":{"type":"string"},"createdAt":{"readOnly":true,"type":["string","null"],"format":"date-time"}},"required":["name","code"]},"ShippingCompany.jsonld":{"type":"object","description":"","deprecated":false,"properties":{"@context":{"readOnly":true,"oneOf":[{"type":"string"},{"type":"object","properties":{"@vocab":{"type":"string"},"hydra":{"type":"string","enum":["http:\/\/www.w3.org\/ns\/hydra\/core#"]}},"required":["@vocab","hydra"],"additionalProperties":true}]},"@id":{"readOnly":true,"type":"string"},"@type":{"readOnly":true,"type":"string"},"dbId":{"readOnly":true,"type":["integer","null"]},"name":{"type":"string"},"code":{"type":"string"},"createdAt":{"readOnly":true,"type":["string","null"],"format":"date-time"}},"required":["name","code"]},"Trip":{"type":"object","description":"","deprecated":false,"properties":{"dbId":{"readOnly":true,"type":["integer","null"]},"vessel":{"$ref":"#\/components\/schemas\/Vessel"},"pilotageReference":{"readOnly":true,"type":["string","null"]},"customerReference":{"type":["string","null"]},"captainName":{"type":["string","null"]},"startLocation":{"$ref":"#\/components\/schemas\/Location"},"endLocation":{"$ref":"#\/components\/schemas\/Location"},"startDate":{"type":"string","format":"date-time"},"endDate":{"type":"string","format":"date-time"},"note":{"type":["string","null"]},"createdAt":{"readOnly":true,"type":["string","null"],"format":"date-time"}},"required":["startDate","endDate"]},"Trip.jsonld":{"type":"object","description":"","deprecated":false,"properties":{"@context":{"readOnly":true,"oneOf":[{"type":"string"},{"type":"object","properties":{"@vocab":{"type":"string"},"hydra":{"type":"string","enum":["http:\/\/www.w3.org\/ns\/hydra\/core#"]}},"required":["@vocab","hydra"],"additionalProperties":true}]},"@id":{"readOnly":true,"type":"string"},"@type":{"readOnly":true,"type":"string"},"dbId":{"readOnly":true,"type":["integer","null"]},"vessel":{"$ref":"#\/components\/schemas\/Vessel.jsonld"},"pilotageReference":{"readOnly":true,"type":["string","null"]},"customerReference":{"type":["string","null"]},"captainName":{"type":["string","null"]},"startLocation":{"$ref":"#\/components\/schemas\/Location.jsonld"},"endLocation":{"$ref":"#\/components\/schemas\/Location.jsonld"},"startDate":{"type":"string","format":"date-time"},"endDate":{"type":"string","format":"date-time"},"note":{"type":["string","null"]},"createdAt":{"readOnly":true,"type":["string","null"],"format":"date-time"}},"required":["startDate","endDate"]},"TripLocation":{"type":"object","description":"","deprecated":false,"properties":{"dbId":{"readOnly":true,"type":["integer","null"]},"trip":{"$ref":"#\/components\/schemas\/Trip"},"location":{"$ref":"#\/components\/schemas\/Location"},"isArrival":{"type":"boolean"},"date":{"type":"string","format":"date-time"},"createdAt":{"readOnly":true,"type":["string","null"],"format":"date-time"}},"required":["date"]},"TripLocation.jsonld":{"type":"object","description":"","deprecated":false,"properties":{"@context":{"readOnly":true,"oneOf":[{"type":"string"},{"type":"object","properties":{"@vocab":{"type":"string"},"hydra":{"type":"string","enum":["http:\/\/www.w3.org\/ns\/hydra\/core#"]}},"required":["@vocab","hydra"],"additionalProperties":true}]},"@id":{"readOnly":true,"type":"string"},"@type":{"readOnly":true,"type":"string"},"dbId":{"readOnly":true,"type":["integer","null"]},"trip":{"$ref":"#\/components\/schemas\/Trip.jsonld"},"location":{"$ref":"#\/components\/schemas\/Location.jsonld"},"isArrival":{"type":"boolean"},"date":{"type":"string","format":"date-time"},"createdAt":{"readOnly":true,"type":["string","null"],"format":"date-time"}},"required":["date"]},"User":{"type":"object","description":"","deprecated":false,"properties":{"dbId":{"readOnly":true,"type":["integer","null"]},"email":{"format":"email","externalDocs":{"url":"https:\/\/schema.org\/email"},"type":"string"},"firstName":{"type":"string"},"referenceId":{"type":"string"},"lastName":{"type":"string"},"image":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"},"imageUrl":{"readOnly":true,"type":["string","null"]},"fullName":{"readOnly":true,"type":["string","null"]},"password":{"writeOnly":true,"description":"The plaintext password when being set or changed.","type":"string"},"active":{"type":"boolean"},"roles":{"readOnly":true,"type":"array","items":{"type":"string"}},"createdAt":{"readOnly":true,"type":["string","null"],"format":"date-time"}},"required":["email","firstName","referenceId","lastName"]},"User.jsonld":{"type":"object","description":"","deprecated":false,"properties":{"@context":{"readOnly":true,"oneOf":[{"type":"string"},{"type":"object","properties":{"@vocab":{"type":"string"},"hydra":{"type":"string","enum":["http:\/\/www.w3.org\/ns\/hydra\/core#"]}},"required":["@vocab","hydra"],"additionalProperties":true}]},"@id":{"readOnly":true,"type":"string"},"@type":{"readOnly":true,"type":"string"},"dbId":{"readOnly":true,"type":["integer","null"]},"email":{"format":"email","externalDocs":{"url":"https:\/\/schema.org\/email"},"type":"string"},"firstName":{"type":"string"},"referenceId":{"type":"string"},"lastName":{"type":"string"},"image":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"},"imageUrl":{"readOnly":true,"type":["string","null"]},"fullName":{"readOnly":true,"type":["string","null"]},"password":{"writeOnly":true,"description":"The plaintext password when being set or changed.","type":"string"},"active":{"type":"boolean"},"roles":{"readOnly":true,"type":"array","items":{"type":"string"}},"createdAt":{"readOnly":true,"type":["string","null"],"format":"date-time"}},"required":["email","firstName","referenceId","lastName"]},"UserTrip":{"type":"object","description":"","deprecated":false,"properties":{"dbId":{"readOnly":true,"type":["integer","null"]},"trip":{"$ref":"#\/components\/schemas\/Trip"},"user":{"$ref":"#\/components\/schemas\/User"},"captainName":{"type":["string","null"]},"completed":{"type":"boolean"},"signature":{"$ref":"#\/components\/schemas\/MediaObject"},"signatureUrl":{"readOnly":true,"type":["string","null"]},"completedDate":{"type":["string","null"],"format":"date-time"},"createdAt":{"readOnly":true,"type":["string","null"],"format":"date-time"}},"required":["trip","user","completed"]},"UserTrip.jsonld":{"type":"object","description":"","deprecated":false,"properties":{"@context":{"readOnly":true,"oneOf":[{"type":"string"},{"type":"object","properties":{"@vocab":{"type":"string"},"hydra":{"type":"string","enum":["http:\/\/www.w3.org\/ns\/hydra\/core#"]}},"required":["@vocab","hydra"],"additionalProperties":true}]},"@id":{"readOnly":true,"type":"string"},"@type":{"readOnly":true,"type":"string"},"dbId":{"readOnly":true,"type":["integer","null"]},"trip":{"$ref":"#\/components\/schemas\/Trip.jsonld"},"user":{"$ref":"#\/components\/schemas\/User.jsonld"},"captainName":{"type":["string","null"]},"completed":{"type":"boolean"},"signature":{"$ref":"#\/components\/schemas\/MediaObject.jsonld"},"signatureUrl":{"readOnly":true,"type":["string","null"]},"completedDate":{"type":["string","null"],"format":"date-time"},"createdAt":{"readOnly":true,"type":["string","null"],"format":"date-time"}},"required":["trip","user","completed"]},"UserTripEvent":{"type":"object","description":"","deprecated":false,"properties":{"dbId":{"readOnly":true,"type":["integer","null"]},"userTrip":{"readOnly":true,"$ref":"#\/components\/schemas\/UserTrip"},"event":{"readOnly":true,"type":"string","format":"iri-reference","example":"https:\/\/example.com\/"},"date":{"type":"string","format":"date-time"},"note":{"type":["string","null"]},"createdAt":{"readOnly":true,"type":["string","null"],"format":"date-time"}},"required":["date"]},"UserTripEvent.jsonld":{"type":"object","description":"","deprecated":false,"properties":{"@context":{"readOnly":true,"oneOf":[{"type":"string"},{"type":"object","properties":{"@vocab":{"type":"string"},"hydra":{"type":"string","enum":["http:\/\/www.w3.org\/ns\/hydra\/core#"]}},"required":["@vocab","hydra"],"additionalProperties":true}]},"@id":{"readOnly":true,"type":"string"},"@type":{"readOnly":true,"type":"string"},"dbId":{"readOnly":true,"type":["integer","null"]},"userTrip":{"readOnly":true,"$ref":"#\/components\/schemas\/UserTrip.jsonld"},"event":{"readOnly":true,"$ref":"#\/components\/schemas\/Event.jsonld"},"date":{"type":"string","format":"date-time"},"note":{"type":["string","null"]},"createdAt":{"readOnly":true,"type":["string","null"],"format":"date-time"}},"required":["date"]},"Vessel":{"type":"object","description":"","deprecated":false,"properties":{"dbId":{"readOnly":true,"type":["integer","null"]},"name":{"type":"string"},"code":{"type":"string"},"company":{"$ref":"#\/components\/schemas\/ShippingCompany"},"createdAt":{"readOnly":true,"type":["string","null"],"format":"date-time"}},"required":["name","code"]},"Vessel.jsonld":{"type":"object","description":"","deprecated":false,"properties":{"@context":{"readOnly":true,"oneOf":[{"type":"string"},{"type":"object","properties":{"@vocab":{"type":"string"},"hydra":{"type":"string","enum":["http:\/\/www.w3.org\/ns\/hydra\/core#"]}},"required":["@vocab","hydra"],"additionalProperties":true}]},"@id":{"readOnly":true,"type":"string"},"@type":{"readOnly":true,"type":"string"},"dbId":{"readOnly":true,"type":["integer","null"]},"name":{"type":"string"},"code":{"type":"string"},"company":{"$ref":"#\/components\/schemas\/ShippingCompany.jsonld"},"createdAt":{"readOnly":true,"type":["string","null"],"format":"date-time"}},"required":["name","code"]},"Zone":{"type":"object","description":"","deprecated":false,"properties":{"dbId":{"readOnly":true,"type":["integer","null"]},"name":{"type":"string"},"createdAt":{"readOnly":true,"type":["string","null"],"format":"date-time"}},"required":["name"]},"Zone.jsonld":{"type":"object","description":"","deprecated":false,"properties":{"@context":{"readOnly":true,"oneOf":[{"type":"string"},{"type":"object","properties":{"@vocab":{"type":"string"},"hydra":{"type":"string","enum":["http:\/\/www.w3.org\/ns\/hydra\/core#"]}},"required":["@vocab","hydra"],"additionalProperties":true}]},"@id":{"readOnly":true,"type":"string"},"@type":{"readOnly":true,"type":"string"},"dbId":{"readOnly":true,"type":["integer","null"]},"name":{"type":"string"},"createdAt":{"readOnly":true,"type":["string","null"],"format":"date-time"}},"required":["name"]},"Credentials":{"type":"object","properties":{"email":{"type":"string","example":"user@example.com"},"password":{"type":"string","example":"password123"}}},"AuthResponse":{"type":"object","properties":{"@id":{"type":"string","example":"\/api\/users\/1"},"dbId":{"type":"integer","example":1},"token":{"type":"string","example":"JWT_TOKEN"}}}},"responses":{},"parameters":{},"examples":{},"requestBodies":{},"headers":{},"securitySchemes":{"JWT":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}}},"security":[{"JWT":[]}],"tags":[],"webhooks":{}} \ No newline at end of file diff --git a/angular/openapi.yaml b/angular/openapi.yaml index 34e0487..71630e1 100644 --- a/angular/openapi.yaml +++ b/angular/openapi.yaml @@ -2312,6 +2312,33 @@ components: required: - name - code + MediaObject: + type: object + description: '' + deprecated: false + properties: + dbId: + readOnly: true + type: + - integer + - 'null' + contentUrl: + externalDocs: + url: 'https://schema.org/contentUrl' + type: + - string + - 'null' + filePath: + readOnly: true + type: + - string + - 'null' + createdAt: + readOnly: true + type: + - string + - 'null' + format: date-time MediaObject.jsonld: type: object description: '' @@ -2788,6 +2815,8 @@ components: - 'null' completed: type: boolean + signature: + $ref: '#/components/schemas/MediaObject' signatureUrl: readOnly: true type: @@ -2807,6 +2836,7 @@ components: required: - trip - user + - completed UserTrip.jsonld: type: object description: '' @@ -2850,6 +2880,8 @@ components: - 'null' completed: type: boolean + signature: + $ref: '#/components/schemas/MediaObject.jsonld' signatureUrl: readOnly: true type: @@ -2869,6 +2901,7 @@ components: required: - trip - user + - completed UserTripEvent: type: object description: '' diff --git a/angular/src/app/_components/_abstract/abstract-data-form-component.ts b/angular/src/app/_components/_abstract/abstract-data-form-component.ts index 5ea56ec..4b62d6e 100644 --- a/angular/src/app/_components/_abstract/abstract-data-form-component.ts +++ b/angular/src/app/_components/_abstract/abstract-data-form-component.ts @@ -31,8 +31,8 @@ export abstract class AbstractDataFormComponent, - protected updateFn: UpdateFunction, + protected createFn?: SaveFunction, + protected updateFn?: UpdateFunction, protected deleteFn?: DeleteFunction, protected translateService?: TranslateService, protected router?: Router @@ -58,24 +58,26 @@ export abstract class AbstractDataFormComponent { - this.submit.emit({ - status: ModalStatus.Submitted, - data: response - }); - }, - error: (error) => { - console.error('Error saving data:', error); - this.submit.emit({ - status: ModalStatus.Cancelled, // Statt Error verwenden wir Cancelled - data: null - }); - } - }); + if (request$ !== undefined) { + request$.subscribe({ + next: (response) => { + this.submit.emit({ + status: ModalStatus.Submitted, + data: response + }); + }, + error: (error) => { + console.error('Error saving data:', error); + this.submit.emit({ + status: ModalStatus.Cancelled, // Statt Error verwenden wir Cancelled + data: null + }); + } + }); + } } onDelete(): void { diff --git a/angular/src/app/_forms/apiForms.ts b/angular/src/app/_forms/apiForms.ts index c978083..e44992c 100644 --- a/angular/src/app/_forms/apiForms.ts +++ b/angular/src/app/_forms/apiForms.ts @@ -31,6 +31,13 @@ export const locationJsonldForm = new FormGroup({ createdAt: new FormControl(null, []) }); +export const mediaObjectForm = new FormGroup({ + dbId: new FormControl(null, []), + contentUrl: new FormControl(null, []), + filePath: new FormControl(null, []), + createdAt: new FormControl(null, []) +}); + export const mediaObjectJsonldForm = new FormGroup({ dbId: new FormControl(null, []), contentUrl: new FormControl(null, []), @@ -133,7 +140,8 @@ export const userTripForm = new FormGroup({ trip: new FormControl(null, [Validators.required]), user: new FormControl(null, [Validators.required]), captainName: new FormControl(null, []), - completed: new FormControl(null, []), + completed: new FormControl(null, [Validators.required]), + signature: new FormControl(null, []), signatureUrl: new FormControl(null, []), completedDate: new FormControl(null, []), createdAt: new FormControl(null, []) @@ -144,7 +152,8 @@ export const userTripJsonldForm = new FormGroup({ trip: new FormControl(null, [Validators.required]), user: new FormControl(null, [Validators.required]), captainName: new FormControl(null, []), - completed: new FormControl(null, []), + completed: new FormControl(null, [Validators.required]), + signature: new FormControl(null, []), signatureUrl: new FormControl(null, []), completedDate: new FormControl(null, []), createdAt: new FormControl(null, []) diff --git a/angular/src/app/_views/user-trip/user-trip-detail/user-trip-detail.component.html b/angular/src/app/_views/user-trip/user-trip-detail/user-trip-detail.component.html index 6046e8d..9af4595 100644 --- a/angular/src/app/_views/user-trip/user-trip-detail/user-trip-detail.component.html +++ b/angular/src/app/_views/user-trip/user-trip-detail/user-trip-detail.component.html @@ -5,5 +5,18 @@ {{ userTrip.trip.pilotageReference }} ({{ userTrip.user.fullName }}) + + + + + + + + } diff --git a/angular/src/app/_views/user-trip/user-trip-detail/user-trip-detail.component.ts b/angular/src/app/_views/user-trip/user-trip-detail/user-trip-detail.component.ts index ffca8c2..e3d6a44 100644 --- a/angular/src/app/_views/user-trip/user-trip-detail/user-trip-detail.component.ts +++ b/angular/src/app/_views/user-trip/user-trip-detail/user-trip-detail.component.ts @@ -10,6 +10,8 @@ import { import {AppHelperService} from "@app/_helpers/app-helper.service"; import {ActivatedRoute} from "@angular/router"; import {FormBuilder} from "@angular/forms"; +import {FormMode, FormSubmitEvent} from "@app/_components/_abstract/abstract-data-form-component"; +import {ModalStatus} from "@app/_helpers/modal.states"; @Component({ selector: 'app-user-trip-detail', @@ -18,6 +20,7 @@ import {FormBuilder} from "@angular/forms"; }) export class UserTripDetailComponent { protected userTrip!: UserTripJsonld; + protected readonly FormMode = FormMode; constructor( private tripService: TripService, @@ -39,4 +42,11 @@ export class UserTripDetailComponent { ); }); } + + onFormUpdate(event: FormSubmitEvent) { + if (event.status === ModalStatus.Submitted && event.data) { + this.userTrip = event.data; + } + } + } diff --git a/angular/src/app/_views/user-trip/user-trip-form/user-trip-form.component.html b/angular/src/app/_views/user-trip/user-trip-form/user-trip-form.component.html new file mode 100644 index 0000000..5f82f2c --- /dev/null +++ b/angular/src/app/_views/user-trip/user-trip-form/user-trip-form.component.html @@ -0,0 +1,48 @@ +
+
+
+ + + + +
+ + +
+
+

{{ 'user_trip.completed' | translate }}:

+ +
+ + +
+ + + @if (selectedFile) { + {{ selectedFile.name }} + } + @if (data?.signature?.contentUrl) { +
+ {{ 'user_trip.current_file' | translate }}: {{ getFileNameFromUrl(data?.signature?.contentUrl) }} +
+ } +
+
+
+ +
+ + + + @if (isEditMode()) { + + } +
+
\ No newline at end of file diff --git a/angular/src/app/_views/user-trip/user-trip-form/user-trip-form.component.scss b/angular/src/app/_views/user-trip/user-trip-form/user-trip-form.component.scss new file mode 100644 index 0000000..e69de29 diff --git a/angular/src/app/_views/user-trip/user-trip-form/user-trip-form.component.spec.ts b/angular/src/app/_views/user-trip/user-trip-form/user-trip-form.component.spec.ts new file mode 100644 index 0000000..c1c1ee9 --- /dev/null +++ b/angular/src/app/_views/user-trip/user-trip-form/user-trip-form.component.spec.ts @@ -0,0 +1,23 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { UserTripFormComponent } from './user-trip-form.component'; + +describe('UserTripFormComponent', () => { + let component: UserTripFormComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [UserTripFormComponent] + }) + .compileComponents(); + + fixture = TestBed.createComponent(UserTripFormComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/angular/src/app/_views/user-trip/user-trip-form/user-trip-form.component.ts b/angular/src/app/_views/user-trip/user-trip-form/user-trip-form.component.ts new file mode 100644 index 0000000..b02a9a4 --- /dev/null +++ b/angular/src/app/_views/user-trip/user-trip-form/user-trip-form.component.ts @@ -0,0 +1,116 @@ +import { Component } from '@angular/core'; +import { + AbstractDataFormComponent, + FormMode, + FormSubmitEvent +} from "@app/_components/_abstract/abstract-data-form-component"; +import { + LocationService, MediaObjectJsonld, MediaObjectService, TripJsonld, + UserTripJsonld, + UserTripService, + VesselService +} from "@app/core/api/v1"; +import { tripForm, userTripForm } from "@app/_forms/apiForms"; +import { TranslateService } from "@ngx-translate/core"; +import { Router } from "@angular/router"; +import { ROUTE_USER_TRIPS } from "@app/app-routing.module"; +import { ModalStatus } from "@app/_helpers/modal.states"; +import { firstValueFrom } from 'rxjs'; + +@Component({ + selector: 'app-user-trip-form', + templateUrl: './user-trip-form.component.html', + styleUrl: './user-trip-form.component.scss' +}) +export class UserTripFormComponent extends AbstractDataFormComponent { + + protected readonly userTripForm = userTripForm; + selectedFile: File | null = null; + + constructor( + private userTripService: UserTripService, + private mediaObjectService: MediaObjectService, + translateService: TranslateService, + router: Router + ) { + super( + userTripForm, + undefined, + (id: string | number, data: UserTripJsonld) => this.userTripService.userTripsIdPatch(id.toString(), data), + (id: string | number) => this.userTripService.userTripsIdDelete(id.toString()), + translateService, + router + ); + this.redirectAfterDelete = '/' + ROUTE_USER_TRIPS; + } + + override ngOnInit(): void { + super.ngOnInit(); + + // Debug-Ausgabe für Formularvalidierung + this.form.statusChanges.subscribe(status => { + console.log('Form status:', status); + console.log('Form errors:', this.form.errors); + + Object.keys(this.form.controls).forEach(key => { + const control = this.form.get(key); + if (control?.invalid) { + console.log(`Control '${key}' is invalid:`, control.errors); + } + }); + }); + } + + onFileSelected(event: Event): void { + const element = event.target as HTMLInputElement; + if (element.files && element.files.length > 0) { + this.selectedFile = element.files[0]; + } + } + + getFileNameFromUrl(url: string | null | undefined): string { + if (!url) return ''; + return url.split('/').pop() || ''; + } + + override onSubmit(): void { + //if (!this.form.valid) return; + if (!this.form.valid) { + console.log('Form is invalid:', this.form.errors); + Object.keys(this.form.controls).forEach(key => { + const control = this.form.get(key); + if (control?.invalid) { + console.log(`Control '${key}' is invalid:`, control.errors); + } + }); + return; + } + + // Wenn keine Datei ausgewählt wurde, rufe direkt die Elternmethode auf + if (!this.selectedFile) { + super.onSubmit(); + return; + } + + // 1. Handle file upload if a file is selected + // Blob direkt verwenden, keine FormData erforderlich + this.mediaObjectService.mediaObjectsPost(this.selectedFile).subscribe({ + next: (mediaObject) => { + // 2. Update the form data with the new mediaObject + this.form.patchValue({ + signature: mediaObject + }); + + // 3. Call the parent method to handle the standard save process + super.onSubmit(); + }, + error: (error) => { + console.error('Error uploading file:', error); + this.submit.emit({ + status: ModalStatus.Cancelled, + data: null + }); + } + }); + } +} \ No newline at end of file diff --git a/angular/src/app/_views/user-trip/user-trip-list/user-trip-list.component.ts b/angular/src/app/_views/user-trip/user-trip-list/user-trip-list.component.ts index d432cf9..ec57c28 100644 --- a/angular/src/app/_views/user-trip/user-trip-list/user-trip-list.component.ts +++ b/angular/src/app/_views/user-trip/user-trip-list/user-trip-list.component.ts @@ -74,6 +74,22 @@ export class UserTripListComponent { sortable: true, filterType: FilterBarComponent.FILTER_TYPE_DATE, } as ListColDefinition, + { + name: 'completed', + text: 'user_trip.completed', + type: ListComponent.COLUMN_TYPE_BOOLEAN, + field: 'completed', + sortable: true, + filterType: FilterBarComponent.FILTER_TYPE_BOOLEAN, + } as ListColDefinition, + { + name: 'completedDate', + text: 'user_trip.completed_at', + type: ListComponent.COLUMN_TYPE_DATE, + field: 'completedDate', + sortable: true, + filterType: FilterBarComponent.FILTER_TYPE_DATE, + } as ListColDefinition, ]; } diff --git a/angular/src/app/app.module.ts b/angular/src/app/app.module.ts index 7a28cec..45101e9 100644 --- a/angular/src/app/app.module.ts +++ b/angular/src/app/app.module.ts @@ -66,6 +66,7 @@ import {DatetimePickerComponent} from "@app/_components/datetime-picker/datetime import { UserTripComponent } from './_views/user-trip/user-trip.component'; import { UserTripListComponent } from './_views/user-trip/user-trip-list/user-trip-list.component'; import { UserTripDetailComponent } from './_views/user-trip/user-trip-detail/user-trip-detail.component'; +import { UserTripFormComponent } from './_views/user-trip/user-trip-form/user-trip-form.component'; registerLocaleData(localeDe, 'de-DE'); @@ -157,6 +158,7 @@ export function HttpLoaderFactory(http: HttpClient) { UserTripComponent, UserTripListComponent, UserTripDetailComponent, + UserTripFormComponent, ], providers: [ {provide: HTTP_INTERCEPTORS, useClass: JwtInterceptor, multi: true}, diff --git a/angular/src/app/core/api/v1/.openapi-generator/FILES b/angular/src/app/core/api/v1/.openapi-generator/FILES index 8a0298f..7b39874 100644 --- a/angular/src/app/core/api/v1/.openapi-generator/FILES +++ b/angular/src/app/core/api/v1/.openapi-generator/FILES @@ -39,6 +39,7 @@ model/eventJsonldContext.ts model/eventJsonldContextOneOf.ts model/location.ts model/locationJsonld.ts +model/mediaObject.ts model/mediaObjectJsonld.ts model/models.ts model/shippingCompany.ts diff --git a/angular/src/app/core/api/v1/model/mediaObject.ts b/angular/src/app/core/api/v1/model/mediaObject.ts new file mode 100644 index 0000000..ac623e7 --- /dev/null +++ b/angular/src/app/core/api/v1/model/mediaObject.ts @@ -0,0 +1,23 @@ +/** + * Imaq Platform + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * + */ +export interface MediaObject { + readonly dbId?: number | null; + contentUrl?: string | null; + readonly filePath?: string | null; + readonly createdAt?: string | null; +} + diff --git a/angular/src/app/core/api/v1/model/models.ts b/angular/src/app/core/api/v1/model/models.ts index 5518858..4917d22 100644 --- a/angular/src/app/core/api/v1/model/models.ts +++ b/angular/src/app/core/api/v1/model/models.ts @@ -19,6 +19,7 @@ export * from './eventJsonldContext'; export * from './eventJsonldContextOneOf'; export * from './location'; export * from './locationJsonld'; +export * from './mediaObject'; export * from './mediaObjectJsonld'; export * from './shippingCompany'; export * from './shippingCompanyJsonld'; diff --git a/angular/src/app/core/api/v1/model/userTrip.ts b/angular/src/app/core/api/v1/model/userTrip.ts index 4849fb5..880a96e 100644 --- a/angular/src/app/core/api/v1/model/userTrip.ts +++ b/angular/src/app/core/api/v1/model/userTrip.ts @@ -11,6 +11,7 @@ */ import { Trip } from './trip'; import { User } from './user'; +import { MediaObject } from './mediaObject'; /** @@ -21,7 +22,8 @@ export interface UserTrip { trip: Trip; user: User; captainName?: string | null; - completed?: boolean; + completed: boolean; + signature?: MediaObject; readonly signatureUrl?: string | null; completedDate?: string | null; readonly createdAt?: string | null; diff --git a/angular/src/app/core/api/v1/model/userTripJsonld.ts b/angular/src/app/core/api/v1/model/userTripJsonld.ts index a0c7ac7..169965b 100644 --- a/angular/src/app/core/api/v1/model/userTripJsonld.ts +++ b/angular/src/app/core/api/v1/model/userTripJsonld.ts @@ -10,6 +10,7 @@ * Do not edit the class manually. */ import { TripJsonld } from './tripJsonld'; +import { MediaObjectJsonld } from './mediaObjectJsonld'; import { UserJsonld } from './userJsonld'; import { EventJsonldContext } from './eventJsonldContext'; @@ -25,7 +26,8 @@ export interface UserTripJsonld { trip: TripJsonld; user: UserJsonld; captainName?: string | null; - completed?: boolean; + completed: boolean; + signature?: MediaObjectJsonld; readonly signatureUrl?: string | null; completedDate?: string | null; readonly createdAt?: string | null; diff --git a/angular/src/assets/i18n/en.json b/angular/src/assets/i18n/en.json index 30d956e..15e2ee4 100644 --- a/angular/src/assets/i18n/en.json +++ b/angular/src/assets/i18n/en.json @@ -38,7 +38,11 @@ }, "user_trip": { - "view": "User Trips" + "view": "User Trips", + "events": "Events", + "completed": "Completed", + "completed_at": "Completed at", + "signature": "Signature Image" }, "base_data": { diff --git a/httpdocs/src/ApiResource/UserTripApi.php b/httpdocs/src/ApiResource/UserTripApi.php index 9d20408..6012d89 100644 --- a/httpdocs/src/ApiResource/UserTripApi.php +++ b/httpdocs/src/ApiResource/UserTripApi.php @@ -95,6 +95,7 @@ class UserTripApi public ?string $captainName = null; + #[Assert\NotBlank] public bool $completed; /** @@ -111,8 +112,7 @@ class UserTripApi ) ] )] - #[Assert\NotBlank] - public ?MediaObjectApi $mediaObject = null; + public ?MediaObjectApi $signature = null; #[ApiProperty(writable: false)] public ?string $signatureUrl = null; diff --git a/httpdocs/src/Mapper/UserTripEntityToApiMapper.php b/httpdocs/src/Mapper/UserTripEntityToApiMapper.php index d9124a3..4d703d9 100644 --- a/httpdocs/src/Mapper/UserTripEntityToApiMapper.php +++ b/httpdocs/src/Mapper/UserTripEntityToApiMapper.php @@ -2,6 +2,7 @@ namespace App\Mapper; +use App\ApiResource\MediaObjectApi; use App\ApiResource\TripApi; use App\ApiResource\UserApi; use App\ApiResource\UserTripApi; @@ -41,6 +42,7 @@ class UserTripEntityToApiMapper implements MapperInterface $dto->dbId = $entity->getId(); $dto->captainName = $entity->getCaptainName(); $dto->signatureUrl = $this->fileUrlService->getFileUrl($entity->getSignature()); + $dto->completed = $entity->isCompleted(); $dto->completedDate = $entity->getCompletedDate(); $dto->createdAt = $entity->getCreatedAt(); @@ -52,6 +54,14 @@ class UserTripEntityToApiMapper implements MapperInterface MicroMapperInterface::MAX_DEPTH => 1, ]); + $dto->signatureUrl = null; + if ($entity->getSignature() !== null) { + $dto->signatureUrl = $this->microMapper->map($entity->getSignature(), MediaObjectApi::class, [ + MicroMapperInterface::MAX_DEPTH => 1, + ]); + } + + return $dto; } } \ No newline at end of file