ActionUserFind.js 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. import {actionUserCreate} from "../reducers/UserReducer";
  2. const {actionPromise} = require("../reducers/PromiseReducer");
  3. const {gql} = require("./PathDB");
  4. //UserFindOne
  5. export const actionUserFindOne = (_id) => {
  6. return actionPromise('userfindone', gql(`query userfindone($q: String){
  7. UserFindOne(query: $q){
  8. _id createdAt login nick acl avatar{
  9. _id text url originalFileName
  10. }
  11. }
  12. }`, {q: JSON.stringify([{_id}])}))
  13. }
  14. export const actionFullUserFindOne = (_id) =>
  15. async dispatch => {
  16. let value = await dispatch(actionUserFindOne(_id))
  17. if (value){
  18. dispatch(actionUserCreate(value))
  19. }
  20. }
  21. //UserFind
  22. export const actionUserFind = (count=0, limit=100) => {
  23. return actionPromise('allUsers', gql(`query allUsers($query: String!){
  24. UserFind(query: $query){
  25. _id login createdAt nick acl avatar
  26. {_id, url}
  27. }
  28. }`,
  29. {
  30. query: JSON.stringify([{}, { sort: [{ ["createdAt"]: -1 }], skip: [count || 0], limit: [limit] }]),
  31. }
  32. )
  33. )
  34. }
  35. //UserCount
  36. export const actionUserCount = () => {
  37. return actionPromise('usersCount', gql(`query usersCount{
  38. UserCount(query: "[{}]")
  39. }`)
  40. )
  41. }