mirror of
https://github.com/ArthurDanjou/artdanj-api.git
synced 2026-01-14 20:19:26 +01:00
@@ -7,24 +7,29 @@ export default class AuthController {
|
||||
public async login ({ request, auth, response }: HttpContextContract) {
|
||||
const email = request.input('email')
|
||||
const password = request.input('password')
|
||||
const infinity = request.input('infinity', false)
|
||||
|
||||
const token = await auth.attempt(email, password, {
|
||||
expiresIn: '2 days'
|
||||
expiresIn: infinity ? '' : '2 days'
|
||||
})
|
||||
return response.status(200).send({
|
||||
token: token.toJSON()
|
||||
})
|
||||
return response.status(200).send(token.toJSON())
|
||||
}
|
||||
|
||||
public async createInfiniteToken ({ request, auth, response }: HttpContextContract) {
|
||||
const email = request.input('email')
|
||||
const password = request.input('password')
|
||||
const token = await auth.attempt(email, password)
|
||||
return response.status(200).send(token.toJSON())
|
||||
return response.status(200).send({
|
||||
token: token.toJSON()
|
||||
})
|
||||
}
|
||||
|
||||
public async logout ({ auth, response }: HttpContextContract) {
|
||||
await auth.logout()
|
||||
return response.status(200).send({
|
||||
message: 'You have been disconnected'
|
||||
message: 'You have been disconnected!'
|
||||
})
|
||||
}
|
||||
|
||||
@@ -43,13 +48,13 @@ export default class AuthController {
|
||||
|
||||
if (twitter.accessDenied()) {
|
||||
return response.status(403).send({
|
||||
message: 'Access Denied'
|
||||
message: 'Access Denied!'
|
||||
})
|
||||
}
|
||||
|
||||
if (twitter.stateMisMatch()) {
|
||||
return response.status(405).send({
|
||||
message: 'Request expired. Retry again'
|
||||
message: 'Request expired. Retry again!'
|
||||
})
|
||||
}
|
||||
|
||||
@@ -72,13 +77,13 @@ export default class AuthController {
|
||||
|
||||
if (github.accessDenied()) {
|
||||
return response.status(403).send({
|
||||
message: 'Access Denied'
|
||||
message: 'Access Denied!'
|
||||
})
|
||||
}
|
||||
|
||||
if (github.stateMisMatch()) {
|
||||
return response.status(405).send({
|
||||
message: 'Request expired. Retry again'
|
||||
message: 'Request expired. Retry again!'
|
||||
})
|
||||
}
|
||||
|
||||
@@ -101,13 +106,13 @@ export default class AuthController {
|
||||
|
||||
if (google.accessDenied()) {
|
||||
return response.status(403).send({
|
||||
message: 'Access Denied'
|
||||
message: 'Access Denied!'
|
||||
})
|
||||
}
|
||||
|
||||
if (google.stateMisMatch()) {
|
||||
return response.status(405).send({
|
||||
message: 'Request expired. Retry again'
|
||||
message: 'Request expired. Retry again!'
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
@@ -1,21 +1,23 @@
|
||||
import { HttpContextContract } from '@ioc:Adonis/Core/HttpContext'
|
||||
import {HttpContextContract} from '@ioc:Adonis/Core/HttpContext'
|
||||
import Application from "@ioc:Adonis/Core/Application";
|
||||
import File from "App/Models/File";
|
||||
|
||||
export default class FileController {
|
||||
|
||||
public async index () {
|
||||
return File.query()
|
||||
public async index({response}: HttpContextContract) {
|
||||
return response.status(200).send({
|
||||
files: File.query()
|
||||
})
|
||||
}
|
||||
|
||||
public async store ({request}: HttpContextContract) {
|
||||
public async store({request, response}: HttpContextContract) {
|
||||
const file = await request.file('file', {
|
||||
extnames: ['jpg', 'png', 'jpeg']
|
||||
})
|
||||
const label = request.input('label')
|
||||
|
||||
if (!file) {
|
||||
return 'Please upload file'
|
||||
return 'Please upload file!'
|
||||
}
|
||||
if (file.hasErrors) {
|
||||
return file.errors
|
||||
@@ -25,16 +27,20 @@ export default class FileController {
|
||||
name: `${label}.${file.extname}`
|
||||
})
|
||||
|
||||
return await File.create({
|
||||
fileName: `${label}.${file.extname}`,
|
||||
label: label
|
||||
return response.status(200).send({
|
||||
file: await File.create({
|
||||
fileName: `${label}.${file.extname}`,
|
||||
label: label
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
public async destroy({ params }: HttpContextContract) {
|
||||
public async destroy({params, response}: HttpContextContract) {
|
||||
const file = await File.findOrFail(params.id)
|
||||
await file.delete()
|
||||
return { message: "Le fichier a bien été supprimée" }
|
||||
return response.status(200).send({
|
||||
message: 'File successfully deleted!'
|
||||
})
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { HttpContextContract } from '@ioc:Adonis/Core/HttpContext'
|
||||
import {HttpContextContract} from '@ioc:Adonis/Core/HttpContext'
|
||||
import FormValidator from "App/Validators/FormValidator";
|
||||
import Form from "App/Models/Form";
|
||||
import FormConfirmation from "App/Mailers/FormConfirmation";
|
||||
@@ -7,7 +7,6 @@ export default class FormsController {
|
||||
|
||||
public async send({ request, response }: HttpContextContract) {
|
||||
const data = await request.validate(FormValidator)
|
||||
|
||||
await Form.create(data)
|
||||
|
||||
await new FormConfirmation(data.name, data.email).preview()
|
||||
|
||||
@@ -4,15 +4,24 @@ import GuestValidator from "App/Validators/guestbook/GuestValidator";
|
||||
|
||||
export default class GuestBookController {
|
||||
|
||||
public async get () {
|
||||
return GuestBookMessage.query().orderBy('created_at', 'desc')
|
||||
public async get({response}: HttpContextContract) {
|
||||
return response.status(200).send({
|
||||
guestbook_messages: GuestBookMessage.query().orderBy('created_at', 'desc')
|
||||
})
|
||||
}
|
||||
|
||||
public async store ({request, auth}: HttpContextContract) {
|
||||
if (auth.isLoggedIn) {
|
||||
const data = await request.validate(GuestValidator)
|
||||
return await GuestBookMessage.create(data)
|
||||
}
|
||||
public async store({request, auth, response}: HttpContextContract) {
|
||||
const data = await request.validate(GuestValidator)
|
||||
const user = await auth.user!
|
||||
const guestbook_message = user.related('guestbook_message').firstOrCreate({
|
||||
userId: user.id
|
||||
}, {
|
||||
...data,
|
||||
userId: user.id
|
||||
})
|
||||
return response.status(200).send({
|
||||
guestbook_message
|
||||
})
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@ import {HttpContextContract} from "@ioc:Adonis/Core/HttpContext";
|
||||
|
||||
export default class PostsController {
|
||||
|
||||
public async getLikes ({params}: HttpContextContract) {
|
||||
public async getLikes({params, response}: HttpContextContract) {
|
||||
let post = await Post.findBy('slug', params.slug)
|
||||
|
||||
if (!post) {
|
||||
@@ -13,7 +13,9 @@ export default class PostsController {
|
||||
})
|
||||
}
|
||||
|
||||
return post.likes
|
||||
return response.status(200).send({
|
||||
likes: post.likes
|
||||
})
|
||||
}
|
||||
|
||||
public async like ({params, response}: HttpContextContract) {
|
||||
@@ -32,7 +34,6 @@ export default class PostsController {
|
||||
likes: getLikes
|
||||
}).save()
|
||||
return response.status(200).send({
|
||||
status: 200,
|
||||
post
|
||||
})
|
||||
}
|
||||
@@ -46,7 +47,6 @@ export default class PostsController {
|
||||
likes: getLikes
|
||||
}).save()
|
||||
return response.status(200).send({
|
||||
status: 200,
|
||||
post
|
||||
})
|
||||
}
|
||||
|
||||
@@ -10,7 +10,8 @@ export default class ProfileController {
|
||||
"Dev",
|
||||
"DevOps",
|
||||
"New technologies",
|
||||
"Gaming"
|
||||
"Gaming",
|
||||
"Cloud"
|
||||
],
|
||||
code: [
|
||||
"Javascript",
|
||||
@@ -29,18 +30,18 @@ export default class ProfileController {
|
||||
"Software dev"
|
||||
],
|
||||
technologies: {
|
||||
web_app: ["VueJs", "NuxtJs", "Sass", "Tailwind"],
|
||||
web_app: ["VueJs", "NuxtJs", "Sass", "Tailwind", "WindiCss"],
|
||||
desktop_app: ["ElectronJs"],
|
||||
mobile_app: ["React Native"],
|
||||
mobile_app: ["React Native", "Vue Native"],
|
||||
back_end: {
|
||||
typescript: ["AdonisJs"],
|
||||
java: ["Spring"]
|
||||
},
|
||||
databases: ["MongoDB", "MariaDB", "Redis"],
|
||||
messaging: ["RabbitMq"],
|
||||
messaging: ["RabbitMQ"],
|
||||
other: ["Docker", "Git"],
|
||||
architecture: ["microservices", "event-driven", "design system pattern"],
|
||||
operating_systems: ['Windows', 'Linux']
|
||||
operating_systems: ['MacOS', "Linux"]
|
||||
},
|
||||
})
|
||||
}
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
import { HttpContextContract } from '@ioc:Adonis/Core/HttpContext'
|
||||
import {HttpContextContract} from '@ioc:Adonis/Core/HttpContext'
|
||||
import Project from "App/Models/Project";
|
||||
import ProjectValidator from "App/Validators/project/ProjectValidator";
|
||||
|
||||
export default class ProjectsController {
|
||||
|
||||
public async get ({ response }: HttpContextContract) {
|
||||
const projects = await Project.query().orderBy('id', 'asc')
|
||||
return response.status(200).send({
|
||||
projects
|
||||
projects: await Project.query().orderBy('id', 'asc')
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ import {UpdateGitHubReadme} from "App/Tasks/UpdateGithubReadme";
|
||||
|
||||
export default class StatesController {
|
||||
|
||||
public async get ({response}: HttpContextContract) {
|
||||
public async get({response}: HttpContextContract) {
|
||||
const is_sleeping = await Redis.get('states:sleeping')
|
||||
const is_listening_music = await Redis.get('states:listening')
|
||||
const is_developing = await Redis.get('states:developing')
|
||||
@@ -18,7 +18,7 @@ export default class StatesController {
|
||||
})
|
||||
}
|
||||
|
||||
public async set ({request, response, params}: HttpContextContract) {
|
||||
public async set({request, response, params}: HttpContextContract) {
|
||||
const state = params.state
|
||||
const value = await request.input('value')
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { HttpContextContract } from '@ioc:Adonis/Core/HttpContext'
|
||||
import {HttpContextContract} from '@ioc:Adonis/Core/HttpContext'
|
||||
import Subscriber from "App/Models/Subscriber";
|
||||
import SubscriberValidator from "App/Validators/subscriber/SubscriberValidator";
|
||||
|
||||
@@ -10,12 +10,23 @@ export default class SubscribersController {
|
||||
})
|
||||
}
|
||||
|
||||
public async store ({ request, response }: HttpContextContract) {
|
||||
public async store({request, response}: HttpContextContract) {
|
||||
const data = await request.validate(SubscriberValidator)
|
||||
await Subscriber.create(data)
|
||||
return response.status(200).send({
|
||||
message: 'Subscriber successfully registered !'
|
||||
message: 'Subscriber successfully registered!'
|
||||
})
|
||||
}
|
||||
|
||||
public async delete({request, response}: HttpContextContract) {
|
||||
const data = await request.validate(SubscriberValidator)
|
||||
const subscriber = await Subscriber.findBy('email', data.email)
|
||||
if (subscriber) {
|
||||
await subscriber.delete()
|
||||
return response.status(200).send({
|
||||
message: 'Subscriber successfully deleted!'
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -5,34 +5,33 @@ import UserUpdateValidator from "App/Validators/users/UserUpdateValidator";
|
||||
|
||||
export default class UsersController {
|
||||
|
||||
public async index () {
|
||||
return User.query()
|
||||
public async index({response}: HttpContextContract) {
|
||||
return response.status(200).send({
|
||||
users: User.query()
|
||||
})
|
||||
}
|
||||
|
||||
public async store ({request}: HttpContextContract) {
|
||||
public async store({request, response}: HttpContextContract) {
|
||||
const data = await request.validate(UserStoreValidator)
|
||||
return await User.create(data)
|
||||
return response.status(200).send({
|
||||
user: await User.create(data)
|
||||
})
|
||||
}
|
||||
|
||||
public async show ({params}: HttpContextContract) {
|
||||
return await User.findOrFail(params.id)
|
||||
public async show({params, response}: HttpContextContract) {
|
||||
return response.status(200).send({
|
||||
user: await User.findOrFail(params.id)
|
||||
})
|
||||
}
|
||||
|
||||
public async update({ request, params, response }: HttpContextContract) {
|
||||
public async update({request, params, response}: HttpContextContract) {
|
||||
const user = await User.findOrFail(params.id)
|
||||
const data = await request.validate(UserUpdateValidator)
|
||||
const { email } = data
|
||||
const user2 = await User.findBy('email', email)
|
||||
|
||||
if (user2 !== null && user.email !== email) {
|
||||
return response.abort({
|
||||
message: 'L\' adresse mail n\'est pas unique !'
|
||||
})
|
||||
}
|
||||
|
||||
await user.merge(data).save()
|
||||
|
||||
return { message: 'Le compte a été mis à jour' }
|
||||
return response.status(200).send({
|
||||
message: 'User successfully updated!'
|
||||
})
|
||||
}
|
||||
|
||||
public async destroy({ response, params, auth }: HttpContextContract) {
|
||||
@@ -44,7 +43,9 @@ export default class UsersController {
|
||||
}
|
||||
|
||||
await user.delete()
|
||||
return { message: "L'utilisateur a bien été supprimé" }
|
||||
return response.status(200).send({
|
||||
message: 'User successfully deleted!'
|
||||
})
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user