Skip to content

Commit

Permalink
feat: add getConnaissancesClient
Browse files Browse the repository at this point in the history
  • Loading branch information
maelgangloff committed Apr 29, 2024
1 parent dd03036 commit 03583c1
Show file tree
Hide file tree
Showing 5 changed files with 184 additions and 102 deletions.
11 changes: 0 additions & 11 deletions src/components/Auth/AuthResponse.ts

This file was deleted.

161 changes: 161 additions & 0 deletions src/components/PCE/ConnaissancesClient.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,161 @@
/* eslint-disable camelcase */
export interface ConnaissancesClient {
/**
* Identifiant du formulaire de connaissances client
*/
id: number
user_account: {
id: number
created_at: string
updated_at: string
}
/**
* Numéro unique identifiant le Point de Comptage et d'Estimation
*/
numero_pce: string
/**
* Type de logement (maison, appartement, autre)
*/
type_logement: string
/**
* Statut d'occupation (propriétaire, locataire)
*/
statut_occupation: string
/**
* Type de résidence (principale, secondaire)
*/
type_residence: string
/**
* Type de chauffage (individuel, collectif, je ne sais pas)
*/
type_chauffage: string
/**
* Surface habitable en m2
*/
surface_habitable: string
/**
* Année de construction
*/
annee_construction: string
/**
* Nombre d'occupants du logement
*/
nombre_occupants: string
/**
* Forme du logement
*/
forme_logement: string
/**
* Indique si le logement est mitoyen
*/
logement_mitoyen: boolean
/**
* Type de plancher
*/
type_plancher: string
/**
* Type de toiture
*/
type_toiture: string
/**
* Nombre de niveaux chauffés
*/
nombre_niveaux_chauffes: string
/**
* Energie principale de chauffage
*/
energie_principale_chauffage: string
/**
* Type d'équipement de chauffage
*/
type_equipement_chauffage: string
/**
* Âge de l'équipement de chauffage
*/
age_equipement_chauffage: string
/**
* Energie de production de l'eau chaude
*/
energie_production_eau_chaude: string
/**
* Mode de production de l'eau chaude
*/
mode_production_eau_chaude: string
/**
* Equipement de production de l'eau chaude
*/
equipement_production_eau_chaude: string
/**
* Energie pour la cuisson
*/
energie_cuisson: string
/**
* Indique si le logement a été rénové ces dix dernières années
*/
renovation_dix_dernieres_annees: boolean
/**
* Indique si la toiture ou les comples sont isolés
*/
isolation_toiture_ou_combles: boolean
/**
* Indique si les murs sont isolés
*/
isolation_murs: boolean
/***
* Type d'isolation des murs
*/
isolation_murs_type: string
/**
* Indique si le plancher bas est isolé
*/
isolation_plancher_bas: boolean
/**
* Indique si les fenêtres ont été remplacées
*/
remplacement_fenetre: boolean
/**
* Indique si les fenêtres de toit ont été remplacées
*/
remplacement_fenetre_toit: boolean
/**
* Indique si le logement possède de la ventilation
*/
ventilation: boolean
/**
* Type de ventilation du logement
*/
ventilation_type: string
/**
* Indique si le logement est isolé par un autre moyen
*/
isolation_autre: boolean
/**
* Indique si un projet de travaux sont prévus d'ici l'année prochaine
*/
projets_logement_next_year: boolean
/**
* Projet de logement
*/
projet_logement: string
/**
* Période de démarrage du projet
*/
periode_demarrage_projet: string
/**
* Indique si le formulaire est complété
*/
is_completed: boolean

/**
* Indique si une estimation du DPE du logement existe
*/
qee: boolean
/**
* Date de création du formulaire de connaissances client
*/
created_at: string
/**
* Date de mise à jour du formulaire de connaissances client
*/
updated_at: string
}
89 changes: 0 additions & 89 deletions src/components/PCE/DonneesEnrichissement.ts

This file was deleted.

1 change: 1 addition & 0 deletions src/components/PCE/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,4 @@ export { ConsommationReference } from './ConsommationReference'
export { Consommation, ConsommationType } from './Consommation'
export { Frequency } from './Frequency'
export { Seuils, SeuilsCreated } from './Seuils'
export { ConnaissancesClient } from './ConnaissancesClient'
24 changes: 22 additions & 2 deletions src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import { wrapper } from 'axios-cookiejar-support'
import { CookieJar } from 'tough-cookie'

import { UserInfo } from './components/User/UserInfo'
import { PCE, Adresse, Consommation, ConsommationReference, ConsommationType, Frequency, PCECoefficient, Seuils, SeuilsCreated } from './components/PCE'
import { PCE, Adresse, Consommation, ConsommationReference, ConsommationType, Frequency, PCECoefficient, Seuils, SeuilsCreated, ConnaissancesClient } from './components/PCE'
import { Accreditation, HistoriqueConsultation, HistoriqueConsultationRequest, InfoLogement } from './components/User'

import { HTMLResponseError } from './components/Errors'
Expand Down Expand Up @@ -252,7 +252,7 @@ export class GRDF {
/**
* Mise à jour de l'accréditation (changement de l'alias par exemple)
* @param {string} pce Identifiant du PCE
* @param partialPCE
* @param partialPCE L'objet PCE revendiqué
* @return {Promise<PCE>}
*/
public async putUserAccreditation (pce: string, partialPCE: Partial<PCE> & { alias: string, role: string }): Promise<PCE> {
Expand All @@ -276,12 +276,32 @@ export class GRDF {

/**
* Informations sur le logement d'un PCE
* @param {string} pce Identifiant PCE
* @return {Promise<InfoLogement>}
*/
public async getInfoLogementPCE (pce: string): Promise<InfoLogement> {
return await this.request(`e-connexion/info_logements?${qs.stringify({ pce })}`)
}

/**
* Informations sur le client (type de logement, surface, mode de chauffage, etc.)
* @param {string} pce Identifiant PCE
* @returns {Promise<ConnaissancesClient>}
*/
public async getConnaissancesClient (pce: string): Promise<ConnaissancesClient> {
return await this.request(`e-connexion/connaissances-client/${pce}`)
}

/**
* Mettre à jour le formulaire de connaissances client (type de logement, surface, mode de chauffage, etc.)
* @param {number} id Identifiant du formulaire
* @param {ConnaissancesClient} data Données partielles à mettre à jour dans le formulaire
* @returns {Promise<ConnaissancesClient>}
*/
public async patchConnaissancesClient (id: number, data: ConnaissancesClient): Promise<ConnaissancesClient> {
return await this.request(`e-connexion/connaissances-client/${id}`, { method: 'PATCH', data })
}

private async request (endpoint: string, axiosConfig: AxiosRequestConfig = {}): Promise<any> {
const config = {
baseURL: 'https://monespace.grdf.fr/api',
Expand Down

0 comments on commit 03583c1

Please sign in to comment.