StructuresProvider.ts 1.1 KB

123456789101112131415161718192021222324252627282930313233
  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 !== null ? s.practices.split(',') : []
  10. s.latitude = s.latitude ? parseFloat(s.latitude) : null
  11. s.longitude = s.longitude ? parseFloat(s.longitude) : null
  12. return s
  13. }
  14. async getAll (parentId: number): Promise<Array<Structure>> {
  15. return await this.get(
  16. `/api/public/federation_structures/all?parent-id=${parentId}`
  17. ).then((res) => {
  18. return res.map((s: any) => { return this.normalize(s) })
  19. })
  20. }
  21. async getById (organizationId: number): Promise<Structure> {
  22. return await this.get(
  23. `/api/public/federation_structures/get?organization-id=${organizationId}`
  24. ).then((s) => {
  25. return this.normalize(s)
  26. })
  27. }
  28. }
  29. export default StructuresProvider