Select Git revision
adapters.ts
ThomasBidot
authored and
GitHub
committed
* Fix Oser to OSER (#55) * adds support for personnal data * modifie le form pour inclure la nationalité * supprime le gg form * supprime le champ section et ajoute la liste des etablissements * adapts for user * adds validation and connects to students api for personnal data * adds classType field and rgpd info * corrects scholarships * removes signup file tab * minor presentation changes * deletes random console.log * changes upload component declarations * changes upload component declarations * changes upload component declarations * changes upload component declarations * changes upload component declarations * changes upload component declarations * changes upload component declarations * filters if the whole list is sent back * adds message after personnal data modifications * fix Oser to OSER * Validated signup file display (#57) * Modify inscription page (#32) * modify the order of blocks * Update dependencies and TravisCI build (#33) * Update dependencies via a clean npm install * Use Node.js 10 in Travis CI * Specify node==10.x for Heroku * adds support for personnal data * modifie le form pour inclure la nationalité * supprime le gg form * supprime le champ section et ajoute la liste des etablissements * adapts for user * adds validation and connects to students api for personnal data * adds classType field and rgpd info * corrects scholarships * removes signup file tab * minor presentation changes * deletes random console.log * changes upload component declarations * changes upload component declarations * changes upload component declarations * changes upload component declarations * changes upload component declarations * changes upload component declarations * changes upload component declarations * filters if the whole list is sent back * adds message after personnal data modifications * adds untested frontend support for showing validated status of signup file * adds phone number validation for personnal data * checks for year field in registration to display correct status Co-authored-by:AurianeStrasser2 <32937502+AurianeStrasser2@users.noreply.github.com> Co-authored-by:
chiahetcho <44137047+chiahetcho@users.noreply.github.com> Co-authored-by:
Florimond Manca <florimond.manca@gmail.com> Co-authored-by:
Dylan Sechet <dylan.sechet82@gmail.com> * Personnal data fix (#58) * adds support for personnal data * modifie le form pour inclure la nationalité * supprime le gg form * supprime le champ section et ajoute la liste des etablissements * adapts for user * adds validation and connects to students api for personnal data * adds classType field and rgpd info * corrects scholarships * removes signup file tab * minor presentation changes * deletes random console.log * changes upload component declarations * changes upload component declarations * changes upload component declarations * changes upload component declarations * changes upload component declarations * changes upload component declarations * changes upload component declarations * filters if the whole list is sent back * adds message after personnal data modifications * adds some options and fixes wrong scholarship in the personnal data form * adds info on phone number format (#61) * Modify inscription page (#32) * modify the order of blocks * Update dependencies and TravisCI build (#33) * Update dependencies via a clean npm install * Use Node.js 10 in Travis CI * Specify node==10.x for Heroku * adds support for personnal data * modifie le form pour inclure la nationalité * supprime le gg form * supprime le champ section et ajoute la liste des etablissements * adapts for user * adds validation and connects to students api for personnal data * adds classType field and rgpd info * corrects scholarships * removes signup file tab * minor presentation changes * deletes random console.log * changes upload component declarations * changes upload component declarations * changes upload component declarations * changes upload component declarations * changes upload component declarations * changes upload component declarations * changes upload component declarations * filters if the whole list is sent back * adds message after personnal data modifications * Validated signup file display (#54) * adds support for personnal data * modifie le form pour inclure la nationalité * supprime le gg form * supprime le champ section et ajoute la liste des etablissements * adapts for user * adds validation and connects to students api for personnal data * adds classType field and rgpd info * corrects scholarships * removes signup file tab * minor presentation changes * deletes random console.log * changes upload component declarations * changes upload component declarations * changes upload component declarations * changes upload component declarations * changes upload component declarations * changes upload component declarations * changes upload component declarations * filters if the whole list is sent back * adds message after personnal data modifications * adds untested frontend support for showing validated status of signup file * adds phone number validation for personnal data * checks for year field in registration to display correct status * adds some options and fixes wrong scholarship in the personnal data form * adds info on phone number format Co-authored-by:
AurianeStrasser2 <32937502+AurianeStrasser2@users.noreply.github.com> Co-authored-by:
chiahetcho <44137047+chiahetcho@users.noreply.github.com> Co-authored-by:
Florimond Manca <florimond.manca@gmail.com> Co-authored-by:
Dylan Sechet <dylan.sechet82@gmail.com> * Update student-signup.component.html (#62) * Improve error message (#63) * adds support for personnal data * modifie le form pour inclure la nationalité * supprime le gg form * supprime le champ section et ajoute la liste des etablissements * adapts for user * adds validation and connects to students api for personnal data * adds classType field and rgpd info * corrects scholarships * removes signup file tab * minor presentation changes * deletes random console.log * changes upload component declarations * changes upload component declarations * changes upload component declarations * changes upload component declarations * changes upload component declarations * changes upload component declarations * changes upload component declarations * filters if the whole list is sent back * adds message after personnal data modifications * improves phone number validation format * adds error message when email is already used and redirects after signup (#64) * adds support for personnal data * modifie le form pour inclure la nationalité * supprime le gg form * supprime le champ section et ajoute la liste des etablissements * adapts for user * adds validation and connects to students api for personnal data * adds classType field and rgpd info * corrects scholarships * removes signup file tab * minor presentation changes * deletes random console.log * changes upload component declarations * changes upload component declarations * changes upload component declarations * changes upload component declarations * changes upload component declarations * changes upload component declarations * changes upload component declarations * filters if the whole list is sent back * adds message after personnal data modifications * improves phone number validation format * adds message when email already used and redirects after signup * ajout champ confirmation email * ajout champ confirmation email en changeant tout * correction ERRROR due a la suppressiond es ficher email.matcher.ts et password.matcher.ts * chgmt mineurs * chgmt mineurs * mise en commentaire de la condition sur le mdp * mise en commentaire de "personnalDataService" * ajout d'espaces sur html * Add context_sheet for visits, frontend Co-authored-by:
Arthur Guédon <60623551+arthurgdn@users.noreply.github.com> Co-authored-by:
AurianeStrasser2 <32937502+AurianeStrasser2@users.noreply.github.com> Co-authored-by:
chiahetcho <44137047+chiahetcho@users.noreply.github.com> Co-authored-by:
Florimond Manca <florimond.manca@gmail.com> Co-authored-by:
Dylan Sechet <dylan.sechet82@gmail.com> Co-authored-by:
feli vigneau <feli.vigneau@student-cs.fr> Co-authored-by:
felivigneau <felivigneau@gmail.com> Co-authored-by:
feli90 <73308577+feli90@users.noreply.github.com> Co-authored-by:
Bidot-Naude Thomas <thomas.bidotnaude@student-cs.fr>
adapters.ts 3.21 KiB
import { Visit, Place, Participant, Organizer } from './models';
import { UserAdapter, AddressAdapter, IAdapter } from 'app/core';
export class PlaceAdapter implements IAdapter<Place> {
private addressAdapter = new AddressAdapter();
adapt(data: any): Place {
return {
id: data.id,
name: data.name,
description: data.description,
address: data.address ? this.addressAdapter.adapt(data.address) : null,
}
}
}
export class ParticipantAdapter implements IAdapter<Participant> {
private userAdapter = new UserAdapter();
adapt(data: any): Participant {
return {
id: data.id,
present: data.present,
accepted: data.accepted,
user: this.userAdapter.adapt(data.user),
visitId: data.visit,
}
}
}
export class OrganizerAdapter implements IAdapter<Organizer> {
private userAdapter = new UserAdapter();
adapt(data: any): Organizer {
return {
id: data.id,
user: data.user ? this.userAdapter.adapt(data.user) : null,
}
}
}
export class SimpleVisitAdapter implements IAdapter<Visit> {
private placeAdapter = new PlaceAdapter();
private participantAdapter = new ParticipantAdapter();
adapt(data: any): Visit {
const fromUserIds = (arr: number[]) => (arr || []).map(
id => ({
id: null,
user: { id: id },
visitId: data.id,
})
);
const participants = data.participants.map(
p => this.participantAdapter.adapt(p)
);
const place = this.placeAdapter.adapt({ name: data.place });
return new Visit({
id: data.id,
title: data.title,
summary: data.summary,
description: data.description,
place: place,
date: new Date(data.date),
startTime: new Date(Date.parse(`1 Jan 2000 ${data.start_time}`)),
endTime: new Date(Date.parse(`1 Jan 2000 ${data.end_time}`)),
passed: data.passed,
deadline: new Date(data.deadline),
registrationsOpen: data.registrations_open,
image: data.image,
participants: participants,
organizers: fromUserIds(data.organizers),
})
}
}
export class VisitAdapter implements IAdapter<Visit> {
private placeAdapter = new PlaceAdapter();
private participantAdapter = new ParticipantAdapter();
private organizerAdapter = new OrganizerAdapter();
adapt(data: any): Visit {
const participants = data.participants.map(
p => this.participantAdapter.adapt(p)
);
const organizers = data.organizers.map(
o => this.organizerAdapter.adapt(o)
);
return new Visit({
id: data.id,
title: data.title,
summary: data.summary,
description: data.description,
place: data.place ? this.placeAdapter.adapt(data.place) : null,
date: new Date(data.date),
startTime: new Date(Date.parse(`1 Jan 2000 ${data.start_time}`)),
endTime: new Date(Date.parse(`1 Jan 2000 ${data.end_time}`)),
passed: data.passed,
meetingPlace: data.meeting,
deadline: new Date(data.deadline),
registrationsOpen: data.registrations_open,
image: data.image,
factSheet: data.fact_sheet,
contextSheet: data.context_sheet,
permissionSheet: data.permission,
participants: participants,
organizers: organizers,
});
}
}