summaryrefslogtreecommitdiff
path: root/StoneIsland/www/js/sdk/cart.js
blob: 6c8bab0c82f894ef67c863357380a20c4f40afbe (plain)
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
sdk.cart = (function(){
  var cart = {}
  
  cart.id = ""
  cart.token = ""

  // https://gist.github.com/fanfare/9a50c524aea417d0bf3e
  cart.initialize = function(opt){
    $.ajax({
      method: "POST",
      url: sdk.path("Cart.API/1.6", "carts.json"),
      headers: {
        "x-yoox-appname": auth.appname,
        "x-yoox-device": auth.device,
      },
      data: opt.data,
      success: function(data){
        console.log(data)
        cart.id = data["CartSession"]["CartId"]
        cart.token = data["CartSession"]["CartToken"]
        opt.success(data)
      },
      error: opt.error,
    })
  }
  
  cart.set_user = function(opt){
    $.ajax({
      method: "PUT",
      url: sdk.path("Cart.API/1.6", "carts.json"),
      headers: {
        "x-yoox-appname": auth.appname,
        "x-yoox-cart-token": cart.token,
      },
      data: {
        "UserId": auth.user_id,
        "UserToken": auth.access_token,
      },
      success: function(data){
        console.log(data)
        opt.success(data)
      },
      error: opt.error,
    })
  }
  
  // Code10, Size, Section
  cart.add_item = function(opt){
    $.ajax({
      method: "POST",
      url: sdk.path("Cart.API/1.6", "carts/" + cart.id + "/items.json"),
      headers: {
        "x-yoox-appname": auth.appname,
        "x-yoox-cart-token": cart.token,
      },
      data: opt.data,
      success: function(data){
        console.log(data)
        opt.success(data)
      },
      error: opt.error,
    })
  }

  cart.delete_item = function(opt){
    $.ajax({
      method: "DELETE",
      url: sdk.path("Cart.API/1.6", "carts/" + cart.id +
                                    "/items/" + opt.code10 +
                                    "/" + opt.size + ".json"),
      headers: {
        "x-yoox-appname": auth.appname,
        "x-yoox-cart-token": cart.token,
      },
      success: function(data){
        console.log(data)
        opt.success(data)
      },
      error: opt.error,
    })
  }

  cart.get_status = function(opt){
    $.ajax({
      method: "GET",
      url: sdk.path("Cart.API/1.6", "carts/" + cart.id),
      headers: {
        "x-yoox-appname": auth.appname,
        "x-yoox-cart-token": cart.token,
        "x-yoox-device": auth.device,
      },
      data: {
        "UserId": auth.user_id,
        "UserToken": auth.access_token,
      },
      success: function(data){
        console.log(data)
        opt.success(data)
      },
      error: opt.error,
    })
  }
  
  return cart
})()