StructuresProvider.ts 1.3 KB

1234567891011121314151617181920212223242526272829303132333435
  1. import BaseProvider from '~/services/data/BaseProvider'
  2. class StructuresProvider extends BaseProvider {
  3. protected normalize (s: any) : Structure {
  4. s.n1Id = s.n1Id ? parseInt(s.n1Id) : null
  5. s.n2Id = s.n2Id ? parseInt(s.n2Id) : null
  6. s.n3Id = s.n3Id ? parseInt(s.n3Id) : null
  7. s.n4Id = s.n4Id ? parseInt(s.n4Id) : null
  8. s.n5Id = s.n5Id ? parseInt(s.n5Id) : null
  9. s.practices = s.practices ? s.practices.split(',') : []
  10. s.latitude = s.latitude ? parseFloat(s.latitude) : null
  11. s.longitude = s.longitude ? parseFloat(s.longitude) : null
  12. s.parents = s.parents ? s.parents.split(',').map((i: string) => Number(i)) : []
  13. s.articles = (s.articles && s.articles !== '{}') ? JSON.parse('[' + s.articles + ']').reverse() : []
  14. return s
  15. }
  16. async getAll (parentId: number): Promise<Array<Structure>> {
  17. return await this.get(
  18. `/api/public/federation_structures/all?parent-id=${parentId}`
  19. ).then((res) => {
  20. return res.map((s: any) => { return this.normalize(s) })
  21. })
  22. }
  23. async getById (organizationId: number): Promise<Structure> {
  24. return await this.get(
  25. `/api/public/federation_structures/get?organization-id=${organizationId}`
  26. ).then((s) => {
  27. return this.normalize(s)
  28. })
  29. }
  30. }
  31. export default StructuresProvider