restart portfolio

This commit is contained in:
Tutur33
2023-12-05 18:45:50 +01:00
parent de25e0072a
commit 40db853637
1174 changed files with 21145 additions and 107608 deletions
+26 -26
View File
@@ -1,34 +1,34 @@
import type { HttpContextContract } from '@ioc:Adonis/Core/HttpContext'
import User from 'App/Models/User'
import CreateUserValidator from 'App/Validators/CreateUserValidator'
import type { HttpContextContract } from '@ioc:Adonis/Core/HttpContext';
import User from 'App/Models/User';
import CreateUserValidator from 'App/Validators/CreateUserValidator';
export default class AuthController {
async index ({ view }: HttpContextContract) {
return view.render('auth')
}
async login({ view }: HttpContextContract) {
return view.render('auth/login')
}
async login ({request, auth, response, session}: HttpContextContract) {
const email = request.input('loginemail')
const password = request.input('loginpassword')
async doLogin({ request, auth, response, session }: HttpContextContract) {
const email = request.input('email')
const password = request.input('password')
try {
await auth.use('web').attempt(email, password)
response.redirect().toRoute('home')
} catch {
session.flash({error: "Identifiant ou mot de passe incorrect"})
response.redirect().back()
}
}
try {
await auth.use('web').attempt(email, password)
response.redirect().toRoute('home')
} catch {
session.flash({error: 'Identifiants incorrects'})
response.redirect().toRoute('login')
}
}
async signup({ request, response }: HttpContextContract) {
const playload = await request.validate(CreateUserValidator)
await User.create(playload)
return response.redirect().toRoute('home')
}
async signup({ view }: HttpContextContract) {
return view.render('auth/signup')
}
async logout({ auth, response }:HttpContextContract) {
await auth.logout()
return response.redirect().back()
}
async doSignup({ request, response }: HttpContextContract) {
const playload = await request.validate(CreateUserValidator)
await User.create(playload)
return response.redirect().toRoute('home')
}
}
-33
View File
@@ -1,33 +0,0 @@
import type { HttpContextContract } from '@ioc:Adonis/Core/HttpContext'
import ModifPseudoValidator from 'App/Validators/ModifPseudoValidator'
import ModifEmailValidator from 'App/Validators/ModifEmailValidator'
export default class ComptesController {
async index({ view }: HttpContextContract) {
return view.render('compte')
}
async modifpseudo({ request, auth, session, response }: HttpContextContract) {
const user = auth.user
await request.validate(ModifPseudoValidator)
user!.pseudo = request.input('pseudo')
await user!.save()
session.flash({success: "Username updated successfully"})
response.redirect().back()
}
async modifemail({ request, auth, session, response }: HttpContextContract) {
const user = auth.user
await request.validate(ModifEmailValidator)
user!.email = request.input('email')
await user!.save()
session.flash({success: "Email updated successfully"})
response.redirect().back()
}
}
-8
View File
@@ -1,8 +0,0 @@
import type { HttpContextContract } from '@ioc:Adonis/Core/HttpContext'
export default class HomeController {
async index ({ view }: HttpContextContract) {
return view.render('index')
}
}
@@ -1,21 +0,0 @@
import type { HttpContextContract } from '@ioc:Adonis/Core/HttpContext'
export default class ProjectsController {
async nups({ view }: HttpContextContract) {
return view.render('projects/nups/project-nups')
}
async nupsWeb({ view }: HttpContextContract) {
return view.render('projects/nups/nups')
}
async myNetwork({ view }: HttpContextContract) {
return view.render('projects/myNetwork/index')
}
async journal({ view }: HttpContextContract) {
return view.render('projects/journal/index')
}
}
-9
View File
@@ -1,9 +0,0 @@
import type { HttpContextContract } from '@ioc:Adonis/Core/HttpContext'
export default class TermsController {
async index({ view }: HttpContextContract) {
return view.render('terms')
}
}
-46
View File
@@ -1,46 +0,0 @@
import { schema, CustomMessages, rules } from '@ioc:Adonis/Core/Validator'
import type { HttpContextContract } from '@ioc:Adonis/Core/HttpContext'
export default class ModifEmailValidator {
constructor(protected ctx: HttpContextContract) {}
/*
* Define schema to validate the "shape", "type", "formatting" and "integrity" of data.
*
* For example:
* 1. The username must be of data type string. But then also, it should
* not contain special characters or numbers.
* ```
* schema.string([ rules.alpha() ])
* ```
*
* 2. The email must be of data type string, formatted as a valid
* email. But also, not used by any other user.
* ```
* schema.string([
* rules.email(),
* rules.unique({ table: 'users', column: 'email' }),
* ])
* ```
*/
public schema = schema.create({
email: schema.string({}, [rules.email(), rules.unique({ table: 'users', column: 'email' }) ])
})
/**
* Custom messages for validation failures. You can make use of dot notation `(.)`
* for targeting nested fields and array expressions `(*)` for targeting all
* children of an array. For example:
*
* {
* 'profile.username.required': 'Username is required',
* 'scores.*.number': 'Define scores as valid numbers'
* }
*
*/
public messages: CustomMessages = {
required: 'The {{ field }} is required to modifie email',
'email.email': 'You must enter an email in the email field',
'email.unique': 'Email is already in use'
}
}
-45
View File
@@ -1,45 +0,0 @@
import { schema, CustomMessages, rules } from '@ioc:Adonis/Core/Validator'
import type { HttpContextContract } from '@ioc:Adonis/Core/HttpContext'
export default class ModifPseudoValidator {
constructor(protected ctx: HttpContextContract) {}
/*
* Define schema to validate the "shape", "type", "formatting" and "integrity" of data.
*
* For example:
* 1. The username must be of data type string. But then also, it should
* not contain special characters or numbers.
* ```
* schema.string([ rules.alpha() ])
* ```
*
* 2. The email must be of data type string, formatted as a valid
* email. But also, not used by any other user.
* ```
* schema.string([
* rules.email(),
* rules.unique({ table: 'users', column: 'email' }),
* ])
* ```
*/
public schema = schema.create({
pseudo: schema.string({}, [rules.minLength(3)])
})
/**
* Custom messages for validation failures. You can make use of dot notation `(.)`
* for targeting nested fields and array expressions `(*)` for targeting all
* children of an array. For example:
*
* {
* 'profile.username.required': 'Username is required',
* 'scores.*.number': 'Define scores as valid numbers'
* }
*
*/
public messages: CustomMessages = {
required: 'The {{ field }} is required to modifie pseudo',
'pseudo.minLength': 'The pseudo must be at least 3 characters long'
}
}