Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import react from 'react'
- import Alert from 'react-native'
- import axios from 'axios'
- import {IMGUR_URL} from "./Constants";
- import {getData} from "./Store";
- import FormData from "form-data";
- import ImagePicker from "react-native-image-picker";
- function get_links(response) {
- let arr = [];
- for (let i = 0; i < response.data.data.length; i++) {
- if (response.data.data[i].images_count === undefined) {
- continue;
- }
- let compos = {link: '', title: '', score: '', id: ''};
- compos.title = response.data.data[i].title;
- compos.score = response.data.data[i].points;
- compos.id = response.data.data[i].id;
- 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') {
- compos.link = response.data.data[i].images[0].link;
- arr.push(compos);
- }
- }
- return arr;
- }
- export default {
- user: async () => {
- try {
- const response = await axios.get(`${IMGUR_URL}account/me/images`, {
- headers: {Authorization: `Bearer ` + await getData('@token')}
- });
- let arr = [];
- for (let i = 0; i < response.data.data.length; i++) {
- let compos = {link: '', title: '', id: ''};
- 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') {
- compos.title = response.data.data[i].name;
- compos.link = response.data.data[i].link;
- compos.id = response.data.data[i].id;
- arr.push(compos);
- } else {
- }
- }
- return arr;
- } catch (e) {
- console.log(e);
- return null;
- }
- },
- favorites: async () => {
- try {
- const response = await axios.get(`${IMGUR_URL}account/` + await getData('@username') + '/gallery_favorites/', {
- headers: {Authorization: `Client-ID ` + await getData('@clientId')}
- });
- return get_links(response);
- } catch (e) {
- console.log(e);
- return null;
- }
- },
- search: async (find) => {
- try {
- const response = await axios.get(`${IMGUR_URL}gallery/search/?q=` + find, {
- headers: {Authorization: `Client-ID ` + await getData('@clientId')}
- });
- return get_links(response);
- } catch (e) {
- console.log(e);
- return null;
- }
- },
- fav_unfav: async (find) => {
- const data = {};
- try {
- const response = await axios.post(`${IMGUR_URL}image/` + find + '/favorite', data,{
- headers: {Authorization: `Bearer ` + await getData('@token')}
- });
- if (response.data.data === "favorited")
- return true;
- else if (response.data.data === "unfavorited")
- return false;
- } catch (e) {
- console.log(e);
- return null;
- }
- },
- upload: async () => {
- const option = {
- title: 'Chose what to upload'
- };
- ImagePicker.launchImageLibrary(option, async response => {
- if (response.didCancel) {
- console.log('User cancelled image picker');
- } else if (response.error) {
- console.log('ImagePicker Error: ', response.error);
- } else if (response.customButton) {
- console.log('User tapped custom button: ', response.customButton);
- } else {
- const data = new FormData();
- data.append('image', response);
- data.append('name', response.fileName);
- data.append('type', response.type);
- try {
- const response = await axios.post(`${IMGUR_URL}image`, data, {
- headers: {
- Authorization: `Bearer ` + await getData('@token'),
- 'content-type': 'multipart/form-data'
- }
- });
- return true;
- } catch (e) {
- console.log(e);
- return null;
- }
- }
- })
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement