//@ts-nocheck
import { action, observable } from 'mobx';
import { Alert } from 'react-native';
import { Api } from '../../services/api';

class Store {
  @observable isLoading = false;

  @action
  async uploadVideo(loanID, body, onSuccess?, onError) {
    this.isLoading = true;
    try {
      const response = await Api.getInstance().uploadVideo(loanID, body);
      if (response.kind === 'ok') {
        if (response.data.meta.errorCode === 200) {
          if (onSuccess) onSuccess();
        } else {
          Alert.alert('Thông báo', response.data.meta.errorMessage);
          if (onError) onError();
        }
      } else {
        Alert.alert('Thông báo', 'Lỗi đã xảy ra. Vui lòng thực hiện lại');
        if (onError) onError();
      }
    } catch (error) {
      console.log(error);
      Alert.alert('Thông báo', 'Lỗi đã xảy ra. Vui lòng thực hiện lại');
      if (onError) onError();
    } finally {
      this.isLoading = false;
    }
  }
}

const videoStore = new Store();
export default videoStore;
