diff options
-rw-r--r-- | SCHEMA.md | 32 |
1 files changed, 30 insertions, 2 deletions
@@ -3,11 +3,14 @@ Since MongoDB has no set schema, we document it here to document what our objects should look like. If you add new properties or remove them from objects **make sure to update them here**. In this document: -- [Form structure](#form-structure) +- [Form](#form) - [Form features](#form-features) - [Form question](#form-question) +- [Form response](#form-response) + - [User details object](#user-details-object) + - [Anti-spam object](#anti-spam-object) -## Form structure +## Form | Field | Type | Description | Example | | ----------- | ---------------------------------------- | ----------------------------------------------------------------------------------------- | --------------------------- | @@ -120,3 +123,28 @@ Textareas require no additional configuration. "text": "This section will quiz you on A, B and C" } ``` + +## Form response + +| Field | Type | Description | +| ---------- | ---------------------------------------------------- | --------------------------------------------------------------------------- | +| `_id`/`id` | MongoDB ObjectID | Random identifier used for the response | +| `user` | Optional [user details object](#user-details-object) | An object describing the user that submitted if the form is not anonymous | +| `antispam` | Optional [anti spam object](#anti-spam-object) | An object containing information about the anti-spam on the form submission | +| `response` | Object | Object containing question IDs mapping to the users answer | +| `form_id` | String | ID of the form that the user is submitting to | + +### User details object + +The user details contains the information returned by Discord alongside an `admin` boolean key representing that the user has admin privileges. The information returned from Discord can be found in the [Discord Developer portal](https://discord.com/developers/docs/resources/user#user-object). + +### Anti-spam object + +The anti-spam object contains information about the source of the form submission. + +| Field | Type | Description | +| ----------------- | ------- | ----------------------------------------------- | +| `ip_hash` | String | hash of the submitting users IP address | +| `user_agent_hash` | String | hash of the submitting users user agent | +| `captcha_pass` | Boolean | Whether the user passsed the hCaptcha | +| `dns_blacklisted` | Boolean | Whether the submitting IP is on a DNS blacklist | |