useAccess.ts 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. import { AnyJson } from '~/types/interfaces'
  2. import {QUERY_TYPE} from "~/types/enums";
  3. import { useContext} from '@nuxtjs/composition-api'
  4. import DataProvider from "~/services/data/dataProvider";
  5. /**
  6. * @category composables/data
  7. * @class UseAccess
  8. * Use Classe qui va récupérer les Accesses suivant des critères de recherche
  9. */
  10. export class UseAccess {
  11. private $dataProvider!: DataProvider
  12. constructor() {
  13. const {$dataProvider} = useContext()
  14. this.$dataProvider = $dataProvider
  15. }
  16. public invoke(): AnyJson{
  17. return {
  18. getPhysicalByFullName: (research: string) => this.getPhysicalByFullName(research),
  19. }
  20. }
  21. private async getPhysicalByFullName(research: string): Promise<Array<AnyJson>>{
  22. if(research){
  23. const response = await this.$dataProvider.invoke({
  24. type: QUERY_TYPE.DEFAULT,
  25. url: `api/access_people`,
  26. listArgs: {
  27. filters:[
  28. {key: 'person.isPhysical', value: 1},
  29. {key: 'fullname', value: research}
  30. ]
  31. }
  32. })
  33. return response.data
  34. }
  35. return []
  36. }
  37. }