Closed
Description
We need to allow CRUD of Challenge Objects including a forums object to associate the forum for the UI.
Example additional property to the challenge object.
{
...
"discussions": [
{
"name": "Challenge Discussions",
"type": "challenge",
"provider": "vanilla",
"url": "https://vanilla.topcoder-dev.com/forum/group/discussionid",
"options": [{ "key": "foo", "value": "bar" }]
}
]
}
Options should be a non-required, non-validated array of key-value pairs
How a User Creates a Forum:
(From the comment below)
- User creates a challenge of status New, gets a UUID
- On this challenge, if the user wants a discussion created, they will populate
"challenge.discussions": [
{
"name": "My Forum Name",
"type": "challenge",
"provider": "vanilla"
}
]
-
The challenge forum processor will pick up the challenge create event, check in the array if there is a
type: challenge
andprovider: vanilla
without a populated url property, create the forum, then PATCH the challenge to add the url. -
The forum processor listens for resource create/delete notifications and, if there's a
type: challenge
,provider: vanilla
discussion, will add/remove that user using the v5 resources api.
Tasks
- Update Challenge Dynamo Model, API CRUD, and JOI to allow reading/writing of the discussions property
Metadata
Metadata
Assignees
Labels
No labels