Skip to content

WIP Implement Forums Object #290

Closed
Closed
@rootelement

Description

@rootelement

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)

  1. User creates a challenge of status New, gets a UUID
  2. On this challenge, if the user wants a discussion created, they will populate
"challenge.discussions": [
  {
    "name": "My Forum Name",
    "type": "challenge",
    "provider": "vanilla"
  }
]
  1. The challenge forum processor will pick up the challenge create event, check in the array if there is a type: challenge and provider: vanilla without a populated url property, create the forum, then PATCH the challenge to add the url.

  2. 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

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions