1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
|
/*
headers: {
"x-yoox-appname": auth.appname,
"x-yoox-account-token": auth.access_token,
"x-yoox-device": auth.device,
"x-yoox-api-key": auth.apikey,
},
*/
var auth = sdk.auth = (function(){
var auth = {}
auth.appname = is_iphone ? "native-iphone-stoneisland/1.0.0" : "native-android-stoneisland/1.0.0"
auth.apikey = "U2FsdGVkX18fThqg9bF0/ZgE9Jg948hn8O9EXli4B2729nAESCQaexv//M5+7+za"
auth.device = "smartphone"
auth.access_token = ""
auth.user_id = -1
auth.next_view = null
auth.deferred_product = null
// ios: integrate keychain api
// android: cordova.file.externalRootDirectory api
auth.init = function(fn){
console.log("AUTH INIT")
auth.get_user(function(){
if (auth.logged_in()) {
sdk.account.checkin({
success: function(data){
fn && fn( auth.logged_in() )
}
})
auth.get_cart()
}
else {
fn && fn( auth.logged_in() )
}
})
}
auth.set_user = function(user_id, access_token, cb){
auth.access_token = access_token
auth.user_id = user_id
localStorage.setItem("yoox.access_token", access_token)
localStorage.setItem("yoox.user_id", user_id)
cb && cb()
}
auth.get_user = function(cb){
auth.access_token = localStorage.getItem("yoox.access_token") || ""
auth.user_id = localStorage.getItem("yoox.user_id") || -1
cb && cb()
}
auth.clear_user = function(cb){
auth.access_token = ""
auth.user_id = -1
localStorage.removeItem("yoox.access_token")
localStorage.removeItem("yoox.user_id")
cb && cb()
}
auth.set_cart = function(cart_id, cart_token, cb){
localStorage.setItem("yoox.cart_token", cart_token)
localStorage.setItem("yoox.cart_id", cart_id)
cb && cb()
}
auth.get_cart = function(cb){
sdk.cart.token = localStorage.getItem("yoox.cart_token") || ""
sdk.cart.id = localStorage.getItem("yoox.cart_id") || -1
cb && cb()
}
auth.clear_cart = function(cb){
sdk.cart.token = ""
sdk.cart.id = -1
localStorage.removeItem("yoox.cart_token")
localStorage.removeItem("yoox.cart_id")
cb && cb()
}
auth.create_cart = function(cb){
if (auth.has_cart()) { return cb() }
sdk.cart.initialize({
success: function(data){
sdk.cart.set_user({
success: function(){
auth.set_cart(sdk.cart.id, sdk.cart.token, function(){
cb && cb()
})
}
})
}
})
}
auth.add_deferred_product_to_cart = function(cb){
// auth.deferred_product
if (! auth.deferred_product) {
cb && cb()
return
}
sdk.cart.add_item({
data: auth.deferred_product,
success: function(){
console.log("ADDED")
cb && cb()
}
})
auth.deferred_product = null
app.header.increment_cart_count()
}
auth.log_out = function(){
auth.clear_user()
auth.clear_cart()
auth.view_logged_out()
}
auth.logged_in = function(){
return (auth.user_id !== -1) && (auth.user_id !== "undefined")
}
auth.has_cart = function(){
return (sdk.cart.id !== -1) && (sdk.cart.id !== "undefined")
}
return auth
})()
|