Advertisement
Guest User

Untitled

a guest
Oct 21st, 2019
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.53 KB | None | 0 0
  1. import react from 'react'
  2. import Alert from 'react-native'
  3. import axios from 'axios'
  4. import {IMGUR_URL} from "./Constants";
  5. import {getData} from "./Store";
  6. import FormData from "form-data";
  7. import ImagePicker from "react-native-image-picker";
  8.  
  9. function get_links(response) {
  10. let arr = [];
  11.  
  12. for (let i = 0; i < response.data.data.length; i++) {
  13. if (response.data.data[i].images_count === undefined) {
  14. continue;
  15. }
  16. let compos = {link: '', title: '', score: '', id: ''};
  17. compos.title = response.data.data[i].title;
  18. compos.score = response.data.data[i].points;
  19. compos.id = response.data.data[i].id;
  20. if (response.data.data[i].images[0].link.substr(response.data.data[i].images[0].link.length - 3) === 'jpg' || response.data.data[i].images[0].link.substr(response.data.data[i].images[0].link.length - 3) === 'png') {
  21. compos.link = response.data.data[i].images[0].link;
  22. arr.push(compos);
  23. }
  24. }
  25. return arr;
  26. }
  27.  
  28. export default {
  29. user: async () => {
  30. try {
  31. const response = await axios.get(`${IMGUR_URL}account/me/images`, {
  32. headers: {Authorization: `Bearer ` + await getData('@token')}
  33. });
  34. let arr = [];
  35. for (let i = 0; i < response.data.data.length; i++) {
  36. let compos = {link: '', title: '', id: ''};
  37. if (response.data.data[i].link.substr(response.data.data[i].link.length - 3) === 'jpg' || response.data.data[i].link.substr(response.data.data[i].link.length - 3) === 'png') {
  38. compos.title = response.data.data[i].name;
  39. compos.link = response.data.data[i].link;
  40. compos.id = response.data.data[i].id;
  41. arr.push(compos);
  42. } else {
  43. }
  44. }
  45. return arr;
  46. } catch (e) {
  47. console.log(e);
  48. return null;
  49. }
  50. },
  51. favorites: async () => {
  52. try {
  53. const response = await axios.get(`${IMGUR_URL}account/` + await getData('@username') + '/gallery_favorites/', {
  54. headers: {Authorization: `Client-ID ` + await getData('@clientId')}
  55. });
  56. return get_links(response);
  57.  
  58. } catch (e) {
  59. console.log(e);
  60. return null;
  61. }
  62. },
  63. search: async (find) => {
  64. try {
  65. const response = await axios.get(`${IMGUR_URL}gallery/search/?q=` + find, {
  66. headers: {Authorization: `Client-ID ` + await getData('@clientId')}
  67. });
  68. return get_links(response);
  69. } catch (e) {
  70. console.log(e);
  71. return null;
  72. }
  73. },
  74. fav_unfav: async (find) => {
  75. const data = {};
  76. try {
  77. const response = await axios.post(`${IMGUR_URL}image/` + find + '/favorite', data,{
  78. headers: {Authorization: `Bearer ` + await getData('@token')}
  79. });
  80. if (response.data.data === "favorited")
  81. return true;
  82. else if (response.data.data === "unfavorited")
  83. return false;
  84. } catch (e) {
  85. console.log(e);
  86. return null;
  87. }
  88. },
  89. upload: async () => {
  90. const option = {
  91. title: 'Chose what to upload'
  92. };
  93. ImagePicker.launchImageLibrary(option, async response => {
  94. if (response.didCancel) {
  95. console.log('User cancelled image picker');
  96. } else if (response.error) {
  97. console.log('ImagePicker Error: ', response.error);
  98. } else if (response.customButton) {
  99. console.log('User tapped custom button: ', response.customButton);
  100. } else {
  101. const data = new FormData();
  102. data.append('image', response);
  103. data.append('name', response.fileName);
  104. data.append('type', response.type);
  105. try {
  106. const response = await axios.post(`${IMGUR_URL}image`, data, {
  107. headers: {
  108. Authorization: `Bearer ` + await getData('@token'),
  109. 'content-type': 'multipart/form-data'
  110. }
  111. });
  112. return true;
  113. } catch (e) {
  114. console.log(e);
  115. return null;
  116. }
  117. }
  118. })
  119. }
  120. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement