You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
mv-api-spec/openapi/components/schemas/poll.yaml

57 lines
1.6 KiB

type: object
properties:
id:
type: string
description: A unique identifier.
example: 1jDe1e5eF_IkaYPuoIYX
readOnly: true
uuid:
type: string
format: uuid
description: >
A Universally Unique IDentifier for the poll. (version 4)
example: bb788552-727d-470b-827e-d7796248d293
readOnly: true
title:
type: string
description: The title of the poll.
example: What project should our neighbourhood invest in for the next year?
description:
type: string
description: >
A lengthy description of the poll.
In here should be stated the constitutive details of the poll,
whether it is informative or imperative for example.
example: >
This poll will help decide which projects get the most attention and budget
so you should consider the proposals carefully and with gumption.
proposals:
type: array
description: The proposals being voted in a poll.
minItems: 2
maxItems: 20
items:
$ref: ./proposal.yaml
grades:
type: array
description: The grades on which one participant vote to a proposal.
minItems: 2
maxItems: 10
items:
$ref: ./grade.yaml
participants:
type: array
description: The participants that are allowed to participate to the election.
items:
$ref: ./participant.yaml
user-id:
type: string
description: Organizer id. If not given, a dummy user is created.
restrict-participants:
type: boolean
description: True if anyone can participate in this poll, False otherwise.
example: false
required:
- title
- proposals