Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
# Schema: MeetingOutcomeCollectionModel
---
type: object
required:
- _type
- count
- total
- _embedded
- _links
properties:
_type:
type: string
enum:
- Collection
count:
type: integer
total:
type: integer
_embedded:
type: object
required:
- elements
properties:
elements:
type: array
items:
$ref: './meeting_outcome_model.yml'
_links:
type: object
required:
- self
properties:
self:
allOf:
- $ref: './link.yml'
- description: |-
The link to this outcome collection resource

**Resource**: MeetingOutcomeCollection
69 changes: 69 additions & 0 deletions docs/api/apiv3/components/schemas/meeting_outcome_model.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
# Schema: MeetingOutcomeModel
---
type: object
required:
- _type
- id
- kind
- createdAt
- updatedAt
properties:
_type:
type: string
enum:
- MeetingOutcome
id:
type: integer
description: Identifier of this outcome
minimum: 1
kind:
type: string
description: |-
The type of this outcome. Possible values:

- *information*: an informational outcome with notes
- *work_package*: an outcome linked to a work package
enum:
- information
- work_package
notes:
$ref: "./formattable.yml"
createdAt:
type: string
format: date-time
description: Time of creation.
updatedAt:
type: string
format: date-time
description: Time of the most recent change.
_links:
type: object
properties:
self:
allOf:
- $ref: './link.yml'
- description: |-
This outcome

**Resource**: MeetingOutcome
author:
allOf:
- $ref: './link.yml'
- description: |-
The user who created this outcome

**Resource**: User
agendaItem:
allOf:
- $ref: './link.yml'
- description: |-
The agenda item this outcome belongs to

**Resource**: MeetingAgendaItem
workPackage:
allOf:
- $ref: './link.yml'
- description: |-
The linked work package (for work_package type outcomes)

**Resource**: WorkPackage
26 changes: 26 additions & 0 deletions docs/api/apiv3/components/schemas/meeting_outcome_write_model.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# Schema: MeetingOutcomeWriteModel
---
type: object
properties:
kind:
type: string
description: |-
The type of this outcome. Possible values:

- *information*: an informational outcome with notes
- *work_package*: an outcome linked to a work package
enum:
- information
- work_package
notes:
$ref: "./formattable.yml"
_links:
type: object
properties:
workPackage:
allOf:
- $ref: "./link.yml"
- description: |-
The linked work package (for work_package type outcomes)

**Resource**: WorkPackage
10 changes: 10 additions & 0 deletions docs/api/apiv3/openapi-spec.yml
Original file line number Diff line number Diff line change
Expand Up @@ -275,6 +275,10 @@ paths:
"$ref": "./paths/meeting_agenda_items.yml"
"/api/v3/meetings/{meeting_id}/agenda_items/{id}":
"$ref": "./paths/meeting_agenda_item.yml"
"/api/v3/meetings/{meeting_id}/agenda_items/{agenda_item_id}/outcomes":
"$ref": "./paths/meeting_agenda_item_outcomes.yml"
"/api/v3/meetings/{meeting_id}/agenda_items/{agenda_item_id}/outcomes/{id}":
"$ref": "./paths/meeting_agenda_item_outcome.yml"
"/api/v3/meetings/{id}/attachments":
"$ref": "./paths/meeting_attachments.yml"
"/api/v3/meetings/{id}/form":
Expand Down Expand Up @@ -892,6 +896,12 @@ components:
"$ref": "./components/schemas/meeting_agenda_item_write_model.yml"
MeetingAgendaItemCollectionModel:
"$ref": "./components/schemas/meeting_agenda_item_collection_model.yml"
MeetingOutcomeCollectionModel:
"$ref": "./components/schemas/meeting_outcome_collection_model.yml"
MeetingOutcomeModel:
"$ref": "./components/schemas/meeting_outcome_model.yml"
MeetingOutcomeWriteModel:
"$ref": "./components/schemas/meeting_outcome_write_model.yml"
MeetingCollectionModel:
"$ref": "./components/schemas/meeting_collection_model.yml"
MeetingModel:
Expand Down
190 changes: 190 additions & 0 deletions docs/api/apiv3/paths/meeting_agenda_item_outcome.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,190 @@
# /api/v3/meetings/{meeting_id}/agenda_items/{agenda_item_id}/outcomes/{id}
---
get:
summary: Get a meeting outcome
operationId: get_meeting_outcome
tags:
- Meetings
description: Retrieve an individual outcome of a meeting agenda item.
parameters:
- description: Meeting identifier
example: 1
in: path
name: meeting_id
required: true
schema:
type: integer
- description: Agenda item identifier
example: 1
in: path
name: agenda_item_id
required: true
schema:
type: integer
- description: Outcome identifier
example: 1
in: path
name: id
required: true
schema:
type: integer
responses:
'200':
description: OK
content:
application/hal+json:
schema:
$ref: "../components/schemas/meeting_outcome_model.yml"
'404':
content:
application/hal+json:
schema:
$ref: "../components/schemas/error_response.yml"
examples:
response:
value:
_type: Error
errorIdentifier: urn:openproject-org:api:v3:errors:NotFound
message: The requested resource could not be found.
description: |-
Returned if the outcome, agenda item, or meeting does not exist or the client does not have sufficient permissions.

patch:
summary: Update a meeting outcome
operationId: update_meeting_outcome
tags:
- Meetings
description: Updates the given meeting outcome.
parameters:
- description: Meeting identifier
example: 1
in: path
name: meeting_id
required: true
schema:
type: integer
- description: Agenda item identifier
example: 1
in: path
name: agenda_item_id
required: true
schema:
type: integer
- description: Outcome identifier
example: 1
in: path
name: id
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: "../components/schemas/meeting_outcome_write_model.yml"
responses:
'200':
description: OK
content:
application/hal+json:
schema:
$ref: "../components/schemas/meeting_outcome_model.yml"
'400':
$ref: "../components/responses/invalid_request_body.yml"
'403':
content:
application/hal+json:
schema:
$ref: "../components/schemas/error_response.yml"
examples:
response:
value:
_type: Error
errorIdentifier: urn:openproject-org:api:v3:errors:MissingPermission
message: You are not authorized to access this resource.
description: |-
Returned if the client does not have sufficient permissions.

**Required permission:** manage outcomes
'404':
content:
application/hal+json:
schema:
$ref: "../components/schemas/error_response.yml"
examples:
response:
value:
_type: Error
errorIdentifier: urn:openproject-org:api:v3:errors:NotFound
message: The requested resource could not be found.
description: |-
Returned if the outcome, agenda item, or meeting does not exist.
'406':
$ref: "../components/responses/missing_content_type.yml"
'415':
$ref: "../components/responses/unsupported_media_type.yml"
'422':
description: |-
Returned if:

* a constraint for a property was violated (`PropertyConstraintViolation`)

delete:
summary: Delete a meeting outcome
operationId: delete_meeting_outcome
tags:
- Meetings
description: Deletes the outcome.
parameters:
- description: Meeting identifier
example: 1
in: path
name: meeting_id
required: true
schema:
type: integer
- description: Agenda item identifier
example: 1
in: path
name: agenda_item_id
required: true
schema:
type: integer
- description: Outcome identifier
example: 1
in: path
name: id
required: true
schema:
type: integer
responses:
'204':
description: Returned if the outcome was successfully deleted
'403':
content:
application/hal+json:
schema:
$ref: "../components/schemas/error_response.yml"
examples:
response:
value:
_type: Error
errorIdentifier: urn:openproject-org:api:v3:errors:MissingPermission
message: You are not authorized to access this resource.
description: |-
Returned if the client does not have sufficient permissions.

**Required permission:** manage outcomes
'404':
content:
application/hal+json:
schema:
$ref: "../components/schemas/error_response.yml"
examples:
response:
value:
_type: Error
errorIdentifier: urn:openproject-org:api:v3:errors:NotFound
message: The requested resource could not be found.
description: |-
Returned if the outcome, agenda item, or meeting does not exist.
Loading
Loading