handlePresence.js 741 B

123456789101112131415161718192021222324252627282930313233
  1. const handleStatusDetails = (params) => {
  2. let resultArr = [];
  3. if (Array.isArray(params)) {
  4. resultArr = [...params];
  5. return resultArr;
  6. }
  7. if (params instanceof Object) {
  8. for (const key in params) {
  9. if (params.hasOwnProperty(key)) {
  10. const status = params[key];
  11. resultArr.push({ device: key, status: Number(status) });
  12. }
  13. }
  14. }
  15. return resultArr;
  16. };
  17. export default function (statusBody) {
  18. return {
  19. uid: statusBody.uid || statusBody.userId,
  20. expiry: statusBody.expiry || statusBody.expire,
  21. lastTime: statusBody.lastTime || statusBody.last_time,
  22. statusDetails: handleStatusDetails(
  23. statusBody.status || statusBody.statusDetails
  24. ),
  25. ext: statusBody.ext,
  26. };
  27. }