feat: design applications and first api calls

Co-authored-by: Walid <87608619+WalidKorchi@users.noreply.github.com>
This commit is contained in:
Divlo
2021-10-24 06:09:43 +02:00
parent 33bd2bb6bf
commit a0fa66e8f5
136 changed files with 14787 additions and 1668 deletions

View File

@ -0,0 +1,19 @@
import { Handler } from '../../handler'
import { user, userSettings } from '../user'
export const getUsersCurrentHandler: Handler = {
method: 'GET',
url: '/users/current',
response: {
statusCode: 200,
body: {
user: {
...user,
settings: userSettings,
currentStrategy: 'local',
strategies: ['local']
}
}
}
}

View File

@ -0,0 +1,14 @@
import { Handler } from '../../handler'
export const postUsersRefreshTokenHandler: Handler = {
method: 'POST',
url: '/users/refresh-token',
response: {
statusCode: 200,
body: {
accessToken: 'access-token',
expiresIn: 3600000,
type: 'Bearer'
}
}
}

View File

@ -0,0 +1,10 @@
import { Handler } from '../../handler'
export const postUsersResetPasswordHandler: Handler = {
method: 'POST',
url: '/users/reset-password',
response: {
statusCode: 200,
body: 'Password-reset request successful, please check your emails!'
}
}

View File

@ -0,0 +1,23 @@
import { Handler } from '../../handler'
export const putUsersResetPasswordHandler: Handler = {
method: 'PUT',
url: '/users/reset-password',
response: {
statusCode: 200,
body: 'The new password has been saved!'
}
}
export const putUsersResetPasswordInvalidTemporaryTokenHandler: Handler = {
method: 'PUT',
url: '/users/reset-password',
response: {
statusCode: 400,
body: {
statusCode: 400,
error: 'Bad Request',
message: '"tempToken" is invalid'
}
}
}

View File

@ -0,0 +1,28 @@
import { Handler } from '../../handler'
export const postUsersSigninHandler: Handler = {
method: 'POST',
url: '/users/signin',
response: {
statusCode: 200,
body: {
accessToken: 'access-token',
refreshToken: 'refresh-token',
expiresIn: 3600000,
type: 'Bearer'
}
}
}
export const postUsersSigninInvalidCredentialsHandler: Handler = {
method: 'POST',
url: '/users/signin',
response: {
statusCode: 400,
body: {
statusCode: 400,
error: 'Bad Request',
message: 'Invalid credentials.'
}
}
}

View File

@ -0,0 +1,30 @@
import { Handler } from '../../handler'
import { user, userSettings } from '../user'
export const postUsersSignupHandler: Handler = {
method: 'POST',
url: '/users/signup',
response: {
statusCode: 201,
body: {
user: {
...user,
settings: userSettings
}
}
}
}
export const postUsersSignupAlreadyUsedHandler: Handler = {
method: 'POST',
url: '/users/signup',
response: {
statusCode: 400,
body: {
statusCode: 400,
error: 'Bad Request',
message: 'body.email or body.name already taken.'
}
}
}

View File

@ -0,0 +1,26 @@
import { UserSettings } from '../../../models/UserSettings'
import { UserPublic } from '../../../models/User'
export const user: UserPublic = {
id: 1,
name: 'Divlo',
email: 'contact@divlo.fr',
logo: undefined,
status: undefined,
biography: undefined,
website: 'https://divlo.fr',
isConfirmed: true,
createdAt: '2021-10-20T20:30:51.595Z',
updatedAt: '2021-10-20T20:59:08.485Z'
}
export const userSettings: UserSettings = {
id: 1,
language: 'en',
theme: 'dark',
isPublicEmail: false,
isPublicGuilds: false,
createdAt: '2021-10-20T20:30:51.605Z',
updatedAt: '2021-10-22T07:22:07.956Z',
userId: 1
}