aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--SCHEMA.md32
1 files changed, 30 insertions, 2 deletions
diff --git a/SCHEMA.md b/SCHEMA.md
index 60bfac0..e86524c 100644
--- a/SCHEMA.md
+++ b/SCHEMA.md
@@ -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 |