
This is a flat (without history) import of (some of) the content from our markdown module. We've imported this without history because the repo contains our blog posts and showcases posts content prior to porting them to strapi. Since this contains many images, it would balloon the size of this repo to import the full history. Instead, please refer to the history of the (archived) markdown repo at: https://github.com/freesewing/markdown
97 lines
2.6 KiB
Markdown
97 lines
2.6 KiB
Markdown
---
|
|
title: Sign up
|
|
---
|
|
|
|
## Request account
|
|
```
|
|
POST /signup
|
|
{
|
|
email: 'test@freesewing.org',
|
|
password: 'test',
|
|
language: 'en'
|
|
}
|
|
```
|
|
On success:
|
|
```
|
|
200
|
|
```
|
|
On error:
|
|
```
|
|
400
|
|
```
|
|
|
|
- This is the first half in the user sign up flow.
|
|
- `language` should be one of the [configured language codes](https://github.com/freesewing/backend/blob/develop/src/config/index.js#L32)
|
|
- This will create (but not activate) a user account
|
|
- This will send out an email to the user to confirm their email address
|
|
|
|
## Create account
|
|
```
|
|
POST /account
|
|
{
|
|
id: '5d5132041ad3f369443f1d7b'
|
|
consent: {
|
|
profile: true,
|
|
model: true,
|
|
openData: true
|
|
}
|
|
}
|
|
```
|
|
On success: The account data:
|
|
```
|
|
200
|
|
{
|
|
'account': {
|
|
'settings': {
|
|
'language': 'en',
|
|
'units': 'metric'
|
|
},
|
|
'consent': {
|
|
'profile': true,
|
|
'model': true,
|
|
'openData': true,
|
|
},
|
|
'time': {
|
|
'login': '2019-08-12T09:41:15.823Z'
|
|
},
|
|
'role': 'user',
|
|
'patron': 0,
|
|
'bio': '',
|
|
'picture': 'csfwg.svg',
|
|
'status': 'active',
|
|
'handle': 'csfwg',
|
|
'username': 'user-csfwg',
|
|
'email': 'test@freesewing.org',
|
|
'pictureUris': {
|
|
'l': 'https://static.freesewing.org/users/c/csfwg/csfwg.svg',
|
|
'm': 'https://static.freesewing.org/users/c/csfwg/csfwg.svg',
|
|
's': 'https://static.freesewing.org/users/c/csfwg/csfwg.svg',
|
|
'xs': 'https://static.freesewing.org/users/c/csfwg/csfwg.svg'
|
|
}
|
|
},
|
|
'models': {},
|
|
'recipes': {},
|
|
'token': 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJfaWQiOiI1ZDUxMzQzYjFhZDNmMzY5NDQzZjFkOTYiLCJoYW5kbGUiOiJjc2Z3ZyIsImF1ZCI6ImZyZWVzZXdpbmcub3JnIiwiaXNzIjoiZnJlZXNld2luZy5vcmciLCJpYXQiOjE1NjU2MDI4NzV9.-u4qgiH5sEcwhSBvQ9AOxjqsJO3-Phm9t7VbPaPS7vs'
|
|
}
|
|
```
|
|
On failure:
|
|
```
|
|
400
|
|
```
|
|
|
|
This is the second half of the sign up flow. The email sent to the user in the first half of the sign up flow contains a link to the (frontend) confirmation page. This will get the confirmation ID from the URL and `POST` it to
|
|
the backend, along with the user's choices regarding consent for processing their personal data.
|
|
|
|
The `consent` object has the following properties:
|
|
- `bool profile` : Consent for the processing of profile data
|
|
- `bool model` : Consent for the processing of model data
|
|
- `bool openData` : Whether or not the user allows publishing of measurements as open data
|
|
|
|
For more details on user consent, please consult [FreeSewing's privacy notice](https://en.freesewing.org/docs/about/privacy).
|
|
|
|
<Note>
|
|
|
|
Our frontend won't allow users to proceed without profile consent as
|
|
storing your data requires that consent. The backend enforces this too
|
|
|
|
</Note>
|