Skip to content

Commit cbd1026

Browse files
authored
Merge pull request #16 from python-discord/add-form-response-schema
2 parents e1a628b + 43f720f commit cbd1026

File tree

1 file changed

+30
-2
lines changed

1 file changed

+30
-2
lines changed

SCHEMA.md

Lines changed: 30 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,14 @@
33
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**.
44

55
In this document:
6-
- [Form structure](#form-structure)
6+
- [Form](#form)
77
- [Form features](#form-features)
88
- [Form question](#form-question)
9+
- [Form response](#form-response)
10+
- [User details object](#user-details-object)
11+
- [Anti-spam object](#anti-spam-object)
912

10-
## Form structure
13+
## Form
1114

1215
| Field | Type | Description | Example |
1316
| ----------- | ---------------------------------------- | ----------------------------------------------------------------------------------------- | --------------------------- |
@@ -120,3 +123,28 @@ Textareas require no additional configuration.
120123
"text": "This section will quiz you on A, B and C"
121124
}
122125
```
126+
127+
## Form response
128+
129+
| Field | Type | Description |
130+
| ---------- | ---------------------------------------------------- | --------------------------------------------------------------------------- |
131+
| `_id`/`id` | MongoDB ObjectID | Random identifier used for the response |
132+
| `user` | Optional [user details object](#user-details-object) | An object describing the user that submitted if the form is not anonymous |
133+
| `antispam` | Optional [anti spam object](#anti-spam-object) | An object containing information about the anti-spam on the form submission |
134+
| `response` | Object | Object containing question IDs mapping to the users answer |
135+
| `form_id` | String | ID of the form that the user is submitting to |
136+
137+
### User details object
138+
139+
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).
140+
141+
### Anti-spam object
142+
143+
The anti-spam object contains information about the source of the form submission.
144+
145+
| Field | Type | Description |
146+
| ----------------- | ------- | ----------------------------------------------- |
147+
| `ip_hash` | String | hash of the submitting users IP address |
148+
| `user_agent_hash` | String | hash of the submitting users user agent |
149+
| `captcha_pass` | Boolean | Whether the user passsed the hCaptcha |
150+
| `dns_blacklisted` | Boolean | Whether the submitting IP is on a DNS blacklist |

0 commit comments

Comments
 (0)