Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[MA-96] describe getActionAgendaById API #2

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
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
78 changes: 78 additions & 0 deletions strategy-contract.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
openapi: 3.0.1
info:
title: Strategy Module
description: This is the Strategy Module of AEGEE-Europe
license:
name: Apache 2.0
url: http://www.apache.org/licenses/LICENSE-2.0.html
version: 0.0.1
paths:
/actionagenda/{aaId}:
get:
tags:
- Action Agenda
summary: Display a specified Action Agenda
description: For valid response try integer IDs with value >= 1 and <= 10. Other
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't really understand this. If the ID is between 1 and 10 it will give an Action Agenda and otherwise it will generate an exception? Won't it generate 404 errors for every non-existing Action Agenda?

Copy link

@freitzio freitzio Nov 30, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That was a leftover of the base we used. This is only in the description here and not an actual limitation of the values but indeed this needs to change. Thanks for noticing it!

values will generated exceptions
Comment on lines +15 to +16

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
description: For valid response try integer IDs with value >= 1 and <= 10. Other
values will generated exceptions
description: >
Get one Action Agenda by ID

?

operationId: getActionAgendaById
parameters:
- name: aaId
in: path
description: ID of Action Agenda that needs to be fetched
required: true
schema:
type: string
responses:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would add a response of 401 here, saying that the user is unauthorized to do view the Action Agenda

200:
description: Get specified Action Agenda
content:
application/json:
schema:
$ref: '#/components/schemas/ActionAgenda'
400:
description: Invalid Action Agenda ID supplied
content: {}
404:
description: Action Agenda not found
content: {}

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
content: {}
content: {}
default:
description: Error

This fixes the 401 request by Rik. I don't think we need to specify here the meaning of 401, because the whole API is only accessible with authN

components:

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
components:
components:

I like line breaks

schemas:
ActionAgenda:
type: array

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

When we return an ActionAgenda, we must also return its ID, because that's the only way we can manipulate this object.

items:
$ref: '#/components/schemas/FocusArea'
FocusArea:

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
FocusArea:
FocusArea:

type: object
properties:

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
properties:
required:
- name
- actions
properties:

name:
type: string
example: 'Climate Emergency'
actions:
type: array
items:
$ref: '#/components/schemas/Action'
Action:

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Action:
Action:

type: object
properties:

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
properties:
required:
- title
- description
- indicators
properties:

title:
type: string
example: "Action Title"
description:
type: string
example: "Action Description"
indicators:
type: array
items:
$ref: "#/components/schemas/Indicator"
Indicator:

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Indicator:
Indicator:

type: object
properties:

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
properties:
required:
- name
- minimum
- maximum
properties:

name:
type: string
example: "Indicator Name"
minimum:
type: integer
example: 1
maximum:
type: integer
example: 5

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
example: 5
example: 5

empty line at the end of file