|
|
@@ -2,14 +2,6 @@ import BaseProvider from '~/services/data/BaseProvider'
|
|
|
|
|
|
class StructuresProvider extends BaseProvider {
|
|
|
protected normalize (s: any) : Structure {
|
|
|
- s.n1Id = s.n1Id ? parseInt(s.n1Id) : null
|
|
|
- s.n2Id = s.n2Id ? parseInt(s.n2Id) : null
|
|
|
- s.n3Id = s.n3Id ? parseInt(s.n3Id) : null
|
|
|
- s.n4Id = s.n4Id ? parseInt(s.n4Id) : null
|
|
|
- s.n5Id = s.n5Id ? parseInt(s.n5Id) : null
|
|
|
- s.practices = s.practices ? s.practices.split(',') : []
|
|
|
- s.addresses = ((s.addresses && s.addresses !== '{}') ? JSON.parse('[' + s.addresses + ']') : []) as Array<Address>
|
|
|
-
|
|
|
// Define the on-map address according to the chosen priorities
|
|
|
s.mapAddress = s.addresses.find((a: Address) => { return a.type === 'ADDRESS_PRACTICE' }) ||
|
|
|
s.addresses.find((a: Address) => { return a.type === 'ADDRESS_HEAD_OFFICE' }) ||
|
|
|
@@ -20,25 +12,23 @@ class StructuresProvider extends BaseProvider {
|
|
|
s.addresses.find((a: Address) => { return a.type === 'ADDRESS_HEAD_OFFICE' }) ||
|
|
|
null
|
|
|
|
|
|
- s.latitude = s.latitude ? parseFloat(s.latitude) : null
|
|
|
- s.longitude = s.longitude ? parseFloat(s.longitude) : null
|
|
|
- s.parents = s.parents ? s.parents.split(',').map((i: string) => Number(i)) : []
|
|
|
- s.articles = (s.articles && s.articles !== '{}') ? JSON.parse('[' + s.articles + ']').reverse() : []
|
|
|
- s.articles.sort((a: Article, b: Article) => { return a.date > b.date ? -1 : 1 })
|
|
|
+ if (s.hasOwnProperty('articles') && s.articles) {
|
|
|
+ s.articles.sort((a: Article, b: Article) => { return a.date > b.date ? -1 : 1 })
|
|
|
+ }
|
|
|
return s
|
|
|
}
|
|
|
|
|
|
async getAll (parentId: number): Promise<Array<Structure>> {
|
|
|
return await this.get(
|
|
|
- `/api/public/federation_structures/all?parent-id=${parentId}`
|
|
|
+ `/api/public/federation_structures?parents=${parentId}`
|
|
|
).then((res) => {
|
|
|
- return res.map((s: any) => { return this.normalize(s) })
|
|
|
+ return res["hydra:member"].map((s: any) => { return this.normalize(s) })
|
|
|
})
|
|
|
}
|
|
|
|
|
|
async getById (organizationId: number): Promise<Structure> {
|
|
|
return await this.get(
|
|
|
- `/api/public/federation_structures/get?organization-id=${organizationId}`
|
|
|
+ `/api/public/federation_structures/${organizationId}`
|
|
|
).then((s) => {
|
|
|
return this.normalize(s)
|
|
|
})
|