summaryrefslogtreecommitdiff
path: root/StoneIsland/platforms/android/assets/www/js/sdk/auth.js
diff options
context:
space:
mode:
Diffstat (limited to 'StoneIsland/platforms/android/assets/www/js/sdk/auth.js')
-rwxr-xr-xStoneIsland/platforms/android/assets/www/js/sdk/auth.js129
1 files changed, 129 insertions, 0 deletions
diff --git a/StoneIsland/platforms/android/assets/www/js/sdk/auth.js b/StoneIsland/platforms/android/assets/www/js/sdk/auth.js
new file mode 100755
index 00000000..87ce60ea
--- /dev/null
+++ b/StoneIsland/platforms/android/assets/www/js/sdk/auth.js
@@ -0,0 +1,129 @@
+/*
+ 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) {
+ console.log("VV NO DEF PROD")
+ cb && cb()
+ return
+ }
+ sdk.cart.add_item({
+ data: auth.deferred_product,
+ success: function(){
+ console.log("ADDED ITEM")
+ cb && cb()
+ },
+ error: function(data){
+ console.log("ERROR ADDING ITEM", data)
+ cb && cb()
+ },
+ })
+ auth.deferred_product = null
+ app.header.increment_cart_count()
+ }
+
+ auth.log_out = function(){
+ auth.clear_user()
+ auth.clear_cart()
+ }
+ auth.logged_in = function(){
+ return (auth.user_id && auth.user_id !== -1 && auth.user_id !== "undefined")
+ }
+ auth.has_cart = function(){
+ return (sdk.cart.id && sdk.cart.id !== -1 && sdk.cart.id !== "undefined")
+ }
+
+ return auth
+})() \ No newline at end of file