Backend for IDEALvoting
To start the server:
> docker-compose -f docker-compose.yml -f docker-compose.local.yml up -d
> ./sbt idealVotingServer/run
/v1/election
POST
Example request:
{
"title": "My Election",
"description": "Election description", // optional
"admin": "[email protected]",
"options": [
{
"title": "Option A",
"description": "This is option A" // optional
},
{
"title": "Option B",
"description": "This is option B" // optional
}
],
"voters": [
"[email protected]",
"Bob <[email protected]>"
]
}
Example response:
{
"links": [
{
"href": "/v1/election/admin/my-election/asdfasdfasdf",
"rel": "election-view-admin",
"method": "GET",
"parameters": {
"titleMangled": "my-election",
"token": "asdfasdfasdf"
}
}
]
}
/v1/election/<election-title-mangled>/<token>
POST
Example request:
/v1/election/my-election/qwerqwerqwer
{
"preferences": [
1,
0
]
}
Example response:
{
"links": [
{
"href": "/v1/election/my-election/qwerqwerqwer",
"rel": "election-view",
"method": "GET",
"parameters": {
"titleMangled": "my-election",
"token": "qwerqwerqwer"
}
}
]
}
/v1/election/admin/<election-title-mangled>/<token>
POST
Example request:
/v1/election/admin/my-election/qwerasdfzxcv
empty body
Example response:
{
"links": [
{
"href": "/v1/election/admin/my-election/qwerasdfzxcv",
"rel": "election-view-admin",
"method": "GET",
"parameters": {
"titleMangled": "my-election",
"token": "qwerasdfzxcv"
}
}
]
}