Skip to content

Instantly share code, notes, and snippets.

@shavidzet
Last active September 11, 2016 18:27
Show Gist options
  • Save shavidzet/4d9495e026b99ad168a54416a08dbe4a to your computer and use it in GitHub Desktop.
Save shavidzet/4d9495e026b99ad168a54416a08dbe4a to your computer and use it in GitHub Desktop.
import facebookRepository from 'Repositories/facebookRepository'
class AuthRepository
{
async emailExists(email) {
return new Promise((resolve, reject) => {
$.post('http://api.gotrip.ge/api/user/check_email.php', {email}, response => resolve(response))
})
}
makeAuth(data) {
if (typeof data == 'undefined' || data == null) return false
let result = data
if (typeof data == 'object') result = JSON.stringify(data)
localStorage.setItem('logged', result)
}
logout() {
localStorage.removeItem('logged')
}
async makeRegister(data) {
//let postData = {email, password, age, fname, lname, phone, gender}
return new Promise((resolve, reject) => {
$.post('http://api.gotrip.ge/api/user/register.php', data, response => resolve(response))
})
}
async facebookAuth() {
const loginStatus = await facebookRepository.login()
if (loginStatus.status !== 'connected') return false
let userData = await facebookRepository.userDataMethod()
let emailExists = await this.emailExists(userData.email)
if (emailExists) {
this.makeAuth(emailExists)
} else {
let regPostData = userData
regPostData.password = '000000'
regPostData.fname = userData.first_name
regPostData.lname = userData.last_name
regPostData.age = userData.age_range.max ? userData.age_range.max : '80'
regPostData.phone = '000000'
let regData = await this.makeRegister(regPostData)
this.makeAuth(regData)
}
return new Promise((resolve, reject) => resolve(true))
}
}
export default new AuthRepository
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment