@lacagnottedesproches/lcdp-js-lite 1.10.0 → 1.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -168,4 +168,50 @@ describe("LCDPRequest (with jest-fetch-mock)", () => {
168
168
  }),
169
169
  );
170
170
  });
171
+
172
+ test("createPayout() posts plain JSON to /pots/{id}/payout", async () => {
173
+ fetchMock.mockResponseOnce(
174
+ JSON.stringify({
175
+ payout_id: "payout_1",
176
+ amount_to_owner: 137043,
177
+ pot_closed: true,
178
+ status: "pending",
179
+ }),
180
+ { status: 201 },
181
+ );
182
+
183
+ const api = new LCDPRequest(SECRET, API_URL);
184
+ const res = await api.createPayout("pot_1", {
185
+ acct_id: "acc_1",
186
+ close_pot: true,
187
+ });
188
+
189
+ expect(res.payout_id).toBe("payout_1");
190
+ expect(res.amount_to_owner).toBe(137043);
191
+ expect(res.pot_closed).toBe(true);
192
+ expect(res.status).toBe("pending");
193
+
194
+ expect(fetchMock).toHaveBeenCalledWith(
195
+ `${API_URL}/pots/pot_1/payout`,
196
+ expect.objectContaining({
197
+ method: "POST",
198
+ headers: expect.objectContaining({
199
+ Authorization: `Bearer ${SECRET}`,
200
+ }),
201
+ body: JSON.stringify({ acct_id: "acc_1", close_pot: true }),
202
+ }),
203
+ );
204
+ });
205
+
206
+ test("createPayout() rejects on 409 ineligible", async () => {
207
+ fetchMock.mockResponseOnce(JSON.stringify({ detail: "below_minimum" }), {
208
+ status: 409,
209
+ });
210
+
211
+ const api = new LCDPRequest(SECRET, API_URL);
212
+
213
+ await expect(
214
+ api.createPayout("pot_1", { acct_id: "acc_1", close_pot: false }),
215
+ ).rejects.toBe("below_minimum");
216
+ });
171
217
  });
package/dist/api.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { Account, AccountAndPotCreated, AccountCreated, ExternalTokenObject, LCDPApi, PotCreated, TokenObject } from "./types";
1
+ import { Account, AccountAndPotCreated, AccountCreated, ExternalTokenObject, LCDPApi, PayloadPayout, PayoutResult, PotCreated, TokenObject } from "./types";
2
2
  interface LCDPApiResponse {
3
3
  [key: string]: string | LCDPApiResponse;
4
4
  }
@@ -6,12 +6,13 @@ export declare class LCDPRequest implements LCDPApi {
6
6
  _apiToken: string;
7
7
  _apiUrl: string;
8
8
  constructor(secret: string, apiUrl: string);
9
- requestLCDPApi: (endpoint: string, payload: TokenObject | ExternalTokenObject, authToken: string, customMethod?: "POST" | "PATCH") => Promise<LCDPApiResponse | void>;
9
+ requestLCDPApi: (endpoint: string, payload: TokenObject | ExternalTokenObject | PayloadPayout, authToken: string, customMethod?: "POST" | "PATCH") => Promise<LCDPApiResponse | void>;
10
10
  requestGetLCDPApi: (endpoint: string, authToken: string) => Promise<LCDPApiResponse | void>;
11
11
  createAccount: (payload: TokenObject) => Promise<AccountCreated>;
12
12
  createPot: (payload: TokenObject) => Promise<PotCreated>;
13
13
  createAccountAndPot: (payload: TokenObject) => Promise<AccountAndPotCreated>;
14
14
  updatePot: (payload: TokenObject) => Promise<void>;
15
+ createPayout: (potId: string, payload: PayloadPayout) => Promise<PayoutResult>;
15
16
  getAccount: (accountId: string) => Promise<Account>;
16
17
  updateAccount: (accountId: string, payload: ExternalTokenObject) => Promise<void>;
17
18
  updateAccountIdentity: (accountId: string, payload: ExternalTokenObject) => Promise<void>;
package/dist/index.js CHANGED
@@ -487,8 +487,8 @@ var LCDPRequest = /*#__PURE__*/_createClass(function LCDPRequest(secret, apiUrl)
487
487
  return _ref9.apply(this, arguments);
488
488
  };
489
489
  }());
490
- _defineProperty(this, "getAccount", /*#__PURE__*/function () {
491
- var _ref1 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee10(accountId) {
490
+ _defineProperty(this, "createPayout", /*#__PURE__*/function () {
491
+ var _ref1 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee10(potId, payload) {
492
492
  return _regenerator().w(function (_context10) {
493
493
  while (1) switch (_context10.n) {
494
494
  case 0:
@@ -498,7 +498,7 @@ var LCDPRequest = /*#__PURE__*/_createClass(function LCDPRequest(secret, apiUrl)
498
498
  return _regenerator().w(function (_context1) {
499
499
  while (1) switch (_context1.n) {
500
500
  case 0:
501
- responsePromise = _this.requestGetLCDPApi("accounts/".concat(accountId), _this._apiToken);
501
+ responsePromise = _this.requestLCDPApi("pots/".concat(potId, "/payout"), payload, _this._apiToken);
502
502
  return _context1.a(2, responsePromise.then(function (data) {
503
503
  try {
504
504
  resolve(data);
@@ -511,19 +511,19 @@ var LCDPRequest = /*#__PURE__*/_createClass(function LCDPRequest(secret, apiUrl)
511
511
  }
512
512
  }, _callee1);
513
513
  }));
514
- return function (_x16, _x17) {
514
+ return function (_x17, _x18) {
515
515
  return _ref10.apply(this, arguments);
516
516
  };
517
517
  }()));
518
518
  }
519
519
  }, _callee10);
520
520
  }));
521
- return function (_x15) {
521
+ return function (_x15, _x16) {
522
522
  return _ref1.apply(this, arguments);
523
523
  };
524
524
  }());
525
- _defineProperty(this, "updateAccount", /*#__PURE__*/function () {
526
- var _ref11 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee12(accountId, payload) {
525
+ _defineProperty(this, "getAccount", /*#__PURE__*/function () {
526
+ var _ref11 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee12(accountId) {
527
527
  return _regenerator().w(function (_context12) {
528
528
  while (1) switch (_context12.n) {
529
529
  case 0:
@@ -533,10 +533,10 @@ var LCDPRequest = /*#__PURE__*/_createClass(function LCDPRequest(secret, apiUrl)
533
533
  return _regenerator().w(function (_context11) {
534
534
  while (1) switch (_context11.n) {
535
535
  case 0:
536
- responsePromise = _this.requestLCDPApi("accounts/".concat(accountId), payload, _this._apiToken, "PATCH");
537
- return _context11.a(2, responsePromise.then(function (_) {
536
+ responsePromise = _this.requestGetLCDPApi("accounts/".concat(accountId), _this._apiToken);
537
+ return _context11.a(2, responsePromise.then(function (data) {
538
538
  try {
539
- resolve();
539
+ resolve(data);
540
540
  } catch (error) {
541
541
  reject(error);
542
542
  }
@@ -553,11 +553,11 @@ var LCDPRequest = /*#__PURE__*/_createClass(function LCDPRequest(secret, apiUrl)
553
553
  }
554
554
  }, _callee12);
555
555
  }));
556
- return function (_x18, _x19) {
556
+ return function (_x19) {
557
557
  return _ref11.apply(this, arguments);
558
558
  };
559
559
  }());
560
- _defineProperty(this, "updateAccountIdentity", /*#__PURE__*/function () {
560
+ _defineProperty(this, "updateAccount", /*#__PURE__*/function () {
561
561
  var _ref13 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee14(accountId, payload) {
562
562
  return _regenerator().w(function (_context14) {
563
563
  while (1) switch (_context14.n) {
@@ -568,7 +568,7 @@ var LCDPRequest = /*#__PURE__*/_createClass(function LCDPRequest(secret, apiUrl)
568
568
  return _regenerator().w(function (_context13) {
569
569
  while (1) switch (_context13.n) {
570
570
  case 0:
571
- responsePromise = _this.requestLCDPApi("accounts/".concat(accountId, "/identity"), payload, _this._apiToken, "POST");
571
+ responsePromise = _this.requestLCDPApi("accounts/".concat(accountId), payload, _this._apiToken, "PATCH");
572
572
  return _context13.a(2, responsePromise.then(function (_) {
573
573
  try {
574
574
  resolve();
@@ -592,7 +592,7 @@ var LCDPRequest = /*#__PURE__*/_createClass(function LCDPRequest(secret, apiUrl)
592
592
  return _ref13.apply(this, arguments);
593
593
  };
594
594
  }());
595
- _defineProperty(this, "updateAccountBank", /*#__PURE__*/function () {
595
+ _defineProperty(this, "updateAccountIdentity", /*#__PURE__*/function () {
596
596
  var _ref15 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee16(accountId, payload) {
597
597
  return _regenerator().w(function (_context16) {
598
598
  while (1) switch (_context16.n) {
@@ -603,7 +603,7 @@ var LCDPRequest = /*#__PURE__*/_createClass(function LCDPRequest(secret, apiUrl)
603
603
  return _regenerator().w(function (_context15) {
604
604
  while (1) switch (_context15.n) {
605
605
  case 0:
606
- responsePromise = _this.requestLCDPApi("accounts/".concat(accountId, "/bank"), payload, _this._apiToken, "POST");
606
+ responsePromise = _this.requestLCDPApi("accounts/".concat(accountId, "/identity"), payload, _this._apiToken, "POST");
607
607
  return _context15.a(2, responsePromise.then(function (_) {
608
608
  try {
609
609
  resolve();
@@ -627,6 +627,41 @@ var LCDPRequest = /*#__PURE__*/_createClass(function LCDPRequest(secret, apiUrl)
627
627
  return _ref15.apply(this, arguments);
628
628
  };
629
629
  }());
630
+ _defineProperty(this, "updateAccountBank", /*#__PURE__*/function () {
631
+ var _ref17 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee18(accountId, payload) {
632
+ return _regenerator().w(function (_context18) {
633
+ while (1) switch (_context18.n) {
634
+ case 0:
635
+ return _context18.a(2, new Promise(/*#__PURE__*/function () {
636
+ var _ref18 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee17(resolve, reject) {
637
+ var responsePromise;
638
+ return _regenerator().w(function (_context17) {
639
+ while (1) switch (_context17.n) {
640
+ case 0:
641
+ responsePromise = _this.requestLCDPApi("accounts/".concat(accountId, "/bank"), payload, _this._apiToken, "POST");
642
+ return _context17.a(2, responsePromise.then(function (_) {
643
+ try {
644
+ resolve();
645
+ } catch (error) {
646
+ reject(error);
647
+ }
648
+ })["catch"](function (reason) {
649
+ return reject(reason);
650
+ }));
651
+ }
652
+ }, _callee17);
653
+ }));
654
+ return function (_x32, _x33) {
655
+ return _ref18.apply(this, arguments);
656
+ };
657
+ }()));
658
+ }
659
+ }, _callee18);
660
+ }));
661
+ return function (_x30, _x31) {
662
+ return _ref17.apply(this, arguments);
663
+ };
664
+ }());
630
665
  if (typeof window !== "undefined") {
631
666
  throw new Error("Must be used server side");
632
667
  }
package/dist/index.min.js CHANGED
@@ -1,3 +1,3 @@
1
1
  var lcdpjs=function(n){"use strict";function t(n,t){(null==t||t>n.length)&&(t=n.length);for(var r=0,e=Array(t);r<t;r++)e[r]=n[r];return e}function r(n,t,r,e,o,i,u){try{var c=n[i](u),a=c.value}catch(n){return void r(n)}c.done?t(a):Promise.resolve(a).then(e,o)}function e(n){return function(){var t=this,e=arguments;return new Promise(function(o,i){var u=n.apply(t,e);function c(n){r(u,o,i,c,a,"next",n)}function a(n){r(u,o,i,c,a,"throw",n)}c(void 0)})}}function o(n,t,r){if(c())return Reflect.construct.apply(null,arguments);var e=[null];return e.push.apply(e,t),new(n.bind.apply(n,e))}function i(n,t,r){return Object.defineProperty(n,"prototype",{writable:!1}),n}function u(n,t,r){return(t=function(n){var t=function(n,t){if("object"!=typeof n||!n)return n;var r=n[Symbol.toPrimitive];if(void 0!==r){var e=r.call(n,t);if("object"!=typeof e)return e;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(n)}(n,"string");return"symbol"==typeof t?t:t+""}(t))in n?Object.defineProperty(n,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):n[t]=r,n}function c(){try{var n=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(n){}return(c=function(){return!!n})()}function a(){
2
2
  /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
3
- var n,t,r="function"==typeof Symbol?Symbol:{},e=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function i(r,e,o,i){var a=e&&e.prototype instanceof c?e:c,s=Object.create(a.prototype);return f(s,"_invoke",function(r,e,o){var i,c,a,f=0,s=o||[],l=!1,p={p:0,n:0,v:n,a:d,f:d.bind(n,4),d:function(t,r){return i=t,c=0,a=n,p.n=r,u}};function d(r,e){for(c=r,a=e,t=0;!l&&f&&!o&&t<s.length;t++){var o,i=s[t],d=p.p,v=i[2];r>3?(o=v===e)&&(a=i[(c=i[4])?5:(c=3,3)],i[4]=i[5]=n):i[0]<=d&&((o=r<2&&d<i[1])?(c=0,p.v=e,p.n=i[1]):d<v&&(o=r<3||i[0]>e||e>v)&&(i[4]=r,i[5]=e,p.n=v,c=0))}if(o||r>1)return u;throw l=!0,e}return function(o,s,v){if(f>1)throw TypeError("Generator is already running");for(l&&1===s&&d(s,v),c=s,a=v;(t=c<2?n:a)||!l;){i||(c?c<3?(c>1&&(p.n=-1),d(c,a)):p.n=a:p.v=a);try{if(f=2,i){if(c||(o="next"),t=i[o]){if(!(t=t.call(i,a)))throw TypeError("iterator result is not an object");if(!t.done)return t;a=t.value,c<2&&(c=0)}else 1===c&&(t=i.return)&&t.call(i),c<2&&(a=TypeError("The iterator does not provide a '"+o+"' method"),c=1);i=n}else if((t=(l=p.n<0)?a:r.call(e,p))!==u)break}catch(t){i=n,c=1,a=t}finally{f=1}}return{value:t,done:l}}}(r,o,i),!0),s}var u={};function c(){}function s(){}function l(){}t=Object.getPrototypeOf;var p=[][e]?t(t([][e]())):(f(t={},e,function(){return this}),t),d=l.prototype=c.prototype=Object.create(p);function v(n){return Object.setPrototypeOf?Object.setPrototypeOf(n,l):(n.__proto__=l,f(n,o,"GeneratorFunction")),n.prototype=Object.create(d),n}return s.prototype=l,f(d,"constructor",l),f(l,"constructor",s),s.displayName="GeneratorFunction",f(l,o,"GeneratorFunction"),f(d),f(d,o,"Generator"),f(d,e,function(){return this}),f(d,"toString",function(){return"[object Generator]"}),(a=function(){return{w:i,m:v}})()}function f(n,t,r,e){var o=Object.defineProperty;try{o({},"",{})}catch(n){o=0}f=function(n,t,r,e){function i(t,r){f(n,t,function(n){return this._invoke(t,r,n)})}t?o?o(n,t,{value:r,enumerable:!e,configurable:!e,writable:!e}):n[t]=r:(i("next",0),i("throw",1),i("return",2))},f(n,t,r,e)}function s(n){return function(n){if(Array.isArray(n))return t(n)}(n)||function(n){if("undefined"!=typeof Symbol&&null!=n[Symbol.iterator]||null!=n["@@iterator"])return Array.from(n)}(n)||function(n,r){if(n){if("string"==typeof n)return t(n,r);var e={}.toString.call(n).slice(8,-1);return"Object"===e&&n.constructor&&(e=n.constructor.name),"Map"===e||"Set"===e?Array.from(n):"Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e)?t(n,r):void 0}}(n)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var l,p,d=i(function n(t,r){var o=this;if(function(n,t){if(!(n instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n),u(this,"_apiToken",void 0),u(this,"_apiUrl",void 0),u(this,"requestLCDPApi",function(n,t,r){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"POST";if("undefined"!=typeof window)throw new Error("Must be used server side");return new Promise(function(){var u=e(a().m(function e(u,c){var f,s,l,p,d,v,h;return a().w(function(e){for(;;)switch(e.p=e.n){case 0:return f="".concat(o._apiUrl,"/").concat(n),e.p=1,e.n=2,fetch(f,{method:i,headers:{"Content-Type":"application/json","User-Agent":"lcdp/v1",Authorization:"Bearer ".concat(r)},body:JSON.stringify(t)});case 2:if(s=e.v,!((l=s.status)>=400)){e.n=4;break}return e.n=3,s.json();case 3:p=e.v,d=p.detail,c(d),e.n=7;break;case 4:if(204!==l){e.n=5;break}u(),e.n=7;break;case 5:return e.n=6,s.json();case 6:v=e.v,u(v);case 7:e.n=9;break;case 8:e.p=8,h=e.v,c(h);case 9:return e.a(2)}},e,null,[[1,8]])}));return function(n,t){return u.apply(this,arguments)}}())}),u(this,"requestGetLCDPApi",function(n,t){if("undefined"!=typeof window)throw new Error("Must be used server side");return new Promise(function(){var r=e(a().m(function r(e,i){var u,c,f,s,l,p,d;return a().w(function(r){for(;;)switch(r.p=r.n){case 0:return u="".concat(o._apiUrl,"/").concat(n),r.p=1,r.n=2,fetch(u,{method:"GET",headers:{"Content-Type":"application/json","User-Agent":"lcdp/v1",Authorization:"Bearer ".concat(t)}});case 2:if(c=r.v,!((f=c.status)>=400)){r.n=4;break}return r.n=3,c.json();case 3:s=r.v,l=s.detail,i(l),r.n=7;break;case 4:if(204!==f){r.n=5;break}e(),r.n=7;break;case 5:return r.n=6,c.json();case 6:p=r.v,e(p);case 7:r.n=9;break;case 8:r.p=8,d=r.v,i(d);case 9:return r.a(2)}},r,null,[[1,8]])}));return function(n,t){return r.apply(this,arguments)}}())}),u(this,"createAccount",function(){var n=e(a().m(function n(t){return a().w(function(n){for(;;)if(0===n.n)return n.a(2,new Promise(function(){var n=e(a().m(function n(r,e){var i;return a().w(function(n){for(;;)if(0===n.n)return i=o.requestLCDPApi("accounts",t,o._apiToken),n.a(2,i.then(function(n){try{r(n)}catch(n){e(n)}}).catch(function(n){return e(n)}))},n)}));return function(t,r){return n.apply(this,arguments)}}()))},n)}));return function(t){return n.apply(this,arguments)}}()),u(this,"createPot",function(){var n=e(a().m(function n(t){return a().w(function(n){for(;;)if(0===n.n)return n.a(2,new Promise(function(){var n=e(a().m(function n(r,e){var i;return a().w(function(n){for(;;)if(0===n.n)return i=o.requestLCDPApi("pots",t,o._apiToken),n.a(2,i.then(function(n){try{r(n)}catch(n){e(n)}}).catch(function(n){return e(n)}))},n)}));return function(t,r){return n.apply(this,arguments)}}()))},n)}));return function(t){return n.apply(this,arguments)}}()),u(this,"createAccountAndPot",function(){var n=e(a().m(function n(t){return a().w(function(n){for(;;)if(0===n.n)return n.a(2,new Promise(function(){var n=e(a().m(function n(r,e){var i;return a().w(function(n){for(;;)if(0===n.n)return i=o.requestLCDPApi("wizards",t,o._apiToken),n.a(2,i.then(function(n){try{r(n)}catch(n){e(n)}}).catch(function(n){return e(n)}))},n)}));return function(t,r){return n.apply(this,arguments)}}()))},n)}));return function(t){return n.apply(this,arguments)}}()),u(this,"updatePot",function(){var n=e(a().m(function n(t){return a().w(function(n){for(;;)if(0===n.n)return n.a(2,new Promise(function(){var n=e(a().m(function n(r,e){var i;return a().w(function(n){for(;;)if(0===n.n)return i=o.requestLCDPApi("pots",t,o._apiToken,"PATCH"),n.a(2,i.then(function(n){try{r()}catch(n){e(n)}}).catch(function(n){return e(n)}))},n)}));return function(t,r){return n.apply(this,arguments)}}()))},n)}));return function(t){return n.apply(this,arguments)}}()),u(this,"getAccount",function(){var n=e(a().m(function n(t){return a().w(function(n){for(;;)if(0===n.n)return n.a(2,new Promise(function(){var n=e(a().m(function n(r,e){var i;return a().w(function(n){for(;;)if(0===n.n)return i=o.requestGetLCDPApi("accounts/".concat(t),o._apiToken),n.a(2,i.then(function(n){try{r(n)}catch(n){e(n)}}).catch(function(n){return e(n)}))},n)}));return function(t,r){return n.apply(this,arguments)}}()))},n)}));return function(t){return n.apply(this,arguments)}}()),u(this,"updateAccount",function(){var n=e(a().m(function n(t,r){return a().w(function(n){for(;;)if(0===n.n)return n.a(2,new Promise(function(){var n=e(a().m(function n(e,i){var u;return a().w(function(n){for(;;)if(0===n.n)return u=o.requestLCDPApi("accounts/".concat(t),r,o._apiToken,"PATCH"),n.a(2,u.then(function(n){try{e()}catch(n){i(n)}}).catch(function(n){return i(n)}))},n)}));return function(t,r){return n.apply(this,arguments)}}()))},n)}));return function(t,r){return n.apply(this,arguments)}}()),u(this,"updateAccountIdentity",function(){var n=e(a().m(function n(t,r){return a().w(function(n){for(;;)if(0===n.n)return n.a(2,new Promise(function(){var n=e(a().m(function n(e,i){var u;return a().w(function(n){for(;;)if(0===n.n)return u=o.requestLCDPApi("accounts/".concat(t,"/identity"),r,o._apiToken,"POST"),n.a(2,u.then(function(n){try{e()}catch(n){i(n)}}).catch(function(n){return i(n)}))},n)}));return function(t,r){return n.apply(this,arguments)}}()))},n)}));return function(t,r){return n.apply(this,arguments)}}()),u(this,"updateAccountBank",function(){var n=e(a().m(function n(t,r){return a().w(function(n){for(;;)if(0===n.n)return n.a(2,new Promise(function(){var n=e(a().m(function n(e,i){var u;return a().w(function(n){for(;;)if(0===n.n)return u=o.requestLCDPApi("accounts/".concat(t,"/bank"),r,o._apiToken,"POST"),n.a(2,u.then(function(n){try{e()}catch(n){i(n)}}).catch(function(n){return i(n)}))},n)}));return function(t,r){return n.apply(this,arguments)}}()))},n)}));return function(t,r){return n.apply(this,arguments)}}()),"undefined"!=typeof window)throw new Error("Must be used server side");this._apiToken=t,this._apiUrl=r});n.AfinaError=void 0,(l=n.AfinaError||(n.AfinaError={})).Verify="Fail to verify origin request",l.Stripe="Stripe is not available",l.ClientSide="Should be on Client Side",l.Key="A publishable key is mandatory",n.TokenObjectType=void 0,(p=n.TokenObjectType||(n.TokenObjectType={})).Account="account",p.Pot="pot",p.Wizard="wizard";var v=null,h="https://api.lacagnottedesproches.fr",y=function(n){return new RegExp("/^".concat(n,"?(.*)$/"))},w=null,m=null,b=function(n){var t=document.createElement("script");t.src="".concat(n,"/js");var r=document.head||document.body;if(!r)throw new Error("Expected document.body not to be null. Stripe.js requires a <body> element.");r.appendChild(t);var e=document.createElement("div");return e.id="lcdp-modal-root",document.body.appendChild(e),t},P=function(n){return v||(v=new Promise(function(t,r){var e;if("undefined"!=typeof window&&"undefined"!=typeof document)if(null!==(e=window.lcdp)&&void 0!==e&&e.Afina)t(window.lcdp.Afina);else{var o=h,i=y(o);if(n&&n.length>=2){var u=n[1];null!=u&&u.api_url&&(o=u.api_url,i=y(o))}try{var c=function(n,t){for(var r=document.querySelectorAll('script[src^="'.concat(n,'"]')),e=0;e<r.length;e++){var o=r[e];if(t.test(o.src))return o}return null}(o,i);if(c)console.warn("it seems a lcdp script already exists.");else if(c){if(c&&null!==m&&null!==w){var a;c.removeEventListener("load",m),c.removeEventListener("error",w),null===(a=c.parentNode)||void 0===a||a.removeChild(c),c=b(o)}}else c=b(o);m=function(n,t){return function(){var r;null!==(r=window.lcdp)&&void 0!==r&&r.Afina?n(window.lcdp.Afina):t(new Error("lcdp.js not available"))}}(t,r),w=function(n){return function(){n(new Error("Failed to load lcdp.js"))}}(r),c.addEventListener("load",m),c.addEventListener("error",w)}catch(n){return void r(n)}}else t(null)}))},A=function(){var n=e(a().m(function n(t,r){var e,i;return a().w(function(n){for(;;)switch(n.n){case 0:if(null!==t){n.n=1;break}return n.a(2,Promise.resolve(null));case 1:return e=o(t,s(r)),i=r[1],n.a(2,e.init(!1===(null==i?void 0:i.stripe)?{stripe:!1}:void 0).then(function(n){return n}))}},n)}));return function(t,r){return n.apply(this,arguments)}}(),T=function(){var n=e(a().m(function n(){var t,r,e,o=arguments;return a().w(function(n){for(;;)if(0===n.n){for(t=o.length,r=new Array(t),e=0;e<t;e++)r[e]=o[e];return n.a(2,P(r).then(function(n){return A(n,r)}))}},n)}));return function(){return n.apply(this,arguments)}}();return n.loadLCDP=T,n.requestLCDP=function(n){return new d(n,arguments.length>1&&void 0!==arguments[1]?arguments[1]:h)},n}({});
3
+ var n,t,r="function"==typeof Symbol?Symbol:{},e=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function i(r,e,o,i){var a=e&&e.prototype instanceof c?e:c,s=Object.create(a.prototype);return f(s,"_invoke",function(r,e,o){var i,c,a,f=0,s=o||[],l=!1,p={p:0,n:0,v:n,a:v,f:v.bind(n,4),d:function(t,r){return i=t,c=0,a=n,p.n=r,u}};function v(r,e){for(c=r,a=e,t=0;!l&&f&&!o&&t<s.length;t++){var o,i=s[t],v=p.p,d=i[2];r>3?(o=d===e)&&(a=i[(c=i[4])?5:(c=3,3)],i[4]=i[5]=n):i[0]<=v&&((o=r<2&&v<i[1])?(c=0,p.v=e,p.n=i[1]):v<d&&(o=r<3||i[0]>e||e>d)&&(i[4]=r,i[5]=e,p.n=d,c=0))}if(o||r>1)return u;throw l=!0,e}return function(o,s,d){if(f>1)throw TypeError("Generator is already running");for(l&&1===s&&v(s,d),c=s,a=d;(t=c<2?n:a)||!l;){i||(c?c<3?(c>1&&(p.n=-1),v(c,a)):p.n=a:p.v=a);try{if(f=2,i){if(c||(o="next"),t=i[o]){if(!(t=t.call(i,a)))throw TypeError("iterator result is not an object");if(!t.done)return t;a=t.value,c<2&&(c=0)}else 1===c&&(t=i.return)&&t.call(i),c<2&&(a=TypeError("The iterator does not provide a '"+o+"' method"),c=1);i=n}else if((t=(l=p.n<0)?a:r.call(e,p))!==u)break}catch(t){i=n,c=1,a=t}finally{f=1}}return{value:t,done:l}}}(r,o,i),!0),s}var u={};function c(){}function s(){}function l(){}t=Object.getPrototypeOf;var p=[][e]?t(t([][e]())):(f(t={},e,function(){return this}),t),v=l.prototype=c.prototype=Object.create(p);function d(n){return Object.setPrototypeOf?Object.setPrototypeOf(n,l):(n.__proto__=l,f(n,o,"GeneratorFunction")),n.prototype=Object.create(v),n}return s.prototype=l,f(v,"constructor",l),f(l,"constructor",s),s.displayName="GeneratorFunction",f(l,o,"GeneratorFunction"),f(v),f(v,o,"Generator"),f(v,e,function(){return this}),f(v,"toString",function(){return"[object Generator]"}),(a=function(){return{w:i,m:d}})()}function f(n,t,r,e){var o=Object.defineProperty;try{o({},"",{})}catch(n){o=0}f=function(n,t,r,e){function i(t,r){f(n,t,function(n){return this._invoke(t,r,n)})}t?o?o(n,t,{value:r,enumerable:!e,configurable:!e,writable:!e}):n[t]=r:(i("next",0),i("throw",1),i("return",2))},f(n,t,r,e)}function s(n){return function(n){if(Array.isArray(n))return t(n)}(n)||function(n){if("undefined"!=typeof Symbol&&null!=n[Symbol.iterator]||null!=n["@@iterator"])return Array.from(n)}(n)||function(n,r){if(n){if("string"==typeof n)return t(n,r);var e={}.toString.call(n).slice(8,-1);return"Object"===e&&n.constructor&&(e=n.constructor.name),"Map"===e||"Set"===e?Array.from(n):"Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e)?t(n,r):void 0}}(n)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var l,p,v=i(function n(t,r){var o=this;if(function(n,t){if(!(n instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n),u(this,"_apiToken",void 0),u(this,"_apiUrl",void 0),u(this,"requestLCDPApi",function(n,t,r){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"POST";if("undefined"!=typeof window)throw new Error("Must be used server side");return new Promise(function(){var u=e(a().m(function e(u,c){var f,s,l,p,v,d,h;return a().w(function(e){for(;;)switch(e.p=e.n){case 0:return f="".concat(o._apiUrl,"/").concat(n),e.p=1,e.n=2,fetch(f,{method:i,headers:{"Content-Type":"application/json","User-Agent":"lcdp/v1",Authorization:"Bearer ".concat(r)},body:JSON.stringify(t)});case 2:if(s=e.v,!((l=s.status)>=400)){e.n=4;break}return e.n=3,s.json();case 3:p=e.v,v=p.detail,c(v),e.n=7;break;case 4:if(204!==l){e.n=5;break}u(),e.n=7;break;case 5:return e.n=6,s.json();case 6:d=e.v,u(d);case 7:e.n=9;break;case 8:e.p=8,h=e.v,c(h);case 9:return e.a(2)}},e,null,[[1,8]])}));return function(n,t){return u.apply(this,arguments)}}())}),u(this,"requestGetLCDPApi",function(n,t){if("undefined"!=typeof window)throw new Error("Must be used server side");return new Promise(function(){var r=e(a().m(function r(e,i){var u,c,f,s,l,p,v;return a().w(function(r){for(;;)switch(r.p=r.n){case 0:return u="".concat(o._apiUrl,"/").concat(n),r.p=1,r.n=2,fetch(u,{method:"GET",headers:{"Content-Type":"application/json","User-Agent":"lcdp/v1",Authorization:"Bearer ".concat(t)}});case 2:if(c=r.v,!((f=c.status)>=400)){r.n=4;break}return r.n=3,c.json();case 3:s=r.v,l=s.detail,i(l),r.n=7;break;case 4:if(204!==f){r.n=5;break}e(),r.n=7;break;case 5:return r.n=6,c.json();case 6:p=r.v,e(p);case 7:r.n=9;break;case 8:r.p=8,v=r.v,i(v);case 9:return r.a(2)}},r,null,[[1,8]])}));return function(n,t){return r.apply(this,arguments)}}())}),u(this,"createAccount",function(){var n=e(a().m(function n(t){return a().w(function(n){for(;;)if(0===n.n)return n.a(2,new Promise(function(){var n=e(a().m(function n(r,e){var i;return a().w(function(n){for(;;)if(0===n.n)return i=o.requestLCDPApi("accounts",t,o._apiToken),n.a(2,i.then(function(n){try{r(n)}catch(n){e(n)}}).catch(function(n){return e(n)}))},n)}));return function(t,r){return n.apply(this,arguments)}}()))},n)}));return function(t){return n.apply(this,arguments)}}()),u(this,"createPot",function(){var n=e(a().m(function n(t){return a().w(function(n){for(;;)if(0===n.n)return n.a(2,new Promise(function(){var n=e(a().m(function n(r,e){var i;return a().w(function(n){for(;;)if(0===n.n)return i=o.requestLCDPApi("pots",t,o._apiToken),n.a(2,i.then(function(n){try{r(n)}catch(n){e(n)}}).catch(function(n){return e(n)}))},n)}));return function(t,r){return n.apply(this,arguments)}}()))},n)}));return function(t){return n.apply(this,arguments)}}()),u(this,"createAccountAndPot",function(){var n=e(a().m(function n(t){return a().w(function(n){for(;;)if(0===n.n)return n.a(2,new Promise(function(){var n=e(a().m(function n(r,e){var i;return a().w(function(n){for(;;)if(0===n.n)return i=o.requestLCDPApi("wizards",t,o._apiToken),n.a(2,i.then(function(n){try{r(n)}catch(n){e(n)}}).catch(function(n){return e(n)}))},n)}));return function(t,r){return n.apply(this,arguments)}}()))},n)}));return function(t){return n.apply(this,arguments)}}()),u(this,"updatePot",function(){var n=e(a().m(function n(t){return a().w(function(n){for(;;)if(0===n.n)return n.a(2,new Promise(function(){var n=e(a().m(function n(r,e){var i;return a().w(function(n){for(;;)if(0===n.n)return i=o.requestLCDPApi("pots",t,o._apiToken,"PATCH"),n.a(2,i.then(function(n){try{r()}catch(n){e(n)}}).catch(function(n){return e(n)}))},n)}));return function(t,r){return n.apply(this,arguments)}}()))},n)}));return function(t){return n.apply(this,arguments)}}()),u(this,"createPayout",function(){var n=e(a().m(function n(t,r){return a().w(function(n){for(;;)if(0===n.n)return n.a(2,new Promise(function(){var n=e(a().m(function n(e,i){var u;return a().w(function(n){for(;;)if(0===n.n)return u=o.requestLCDPApi("pots/".concat(t,"/payout"),r,o._apiToken),n.a(2,u.then(function(n){try{e(n)}catch(n){i(n)}}).catch(function(n){return i(n)}))},n)}));return function(t,r){return n.apply(this,arguments)}}()))},n)}));return function(t,r){return n.apply(this,arguments)}}()),u(this,"getAccount",function(){var n=e(a().m(function n(t){return a().w(function(n){for(;;)if(0===n.n)return n.a(2,new Promise(function(){var n=e(a().m(function n(r,e){var i;return a().w(function(n){for(;;)if(0===n.n)return i=o.requestGetLCDPApi("accounts/".concat(t),o._apiToken),n.a(2,i.then(function(n){try{r(n)}catch(n){e(n)}}).catch(function(n){return e(n)}))},n)}));return function(t,r){return n.apply(this,arguments)}}()))},n)}));return function(t){return n.apply(this,arguments)}}()),u(this,"updateAccount",function(){var n=e(a().m(function n(t,r){return a().w(function(n){for(;;)if(0===n.n)return n.a(2,new Promise(function(){var n=e(a().m(function n(e,i){var u;return a().w(function(n){for(;;)if(0===n.n)return u=o.requestLCDPApi("accounts/".concat(t),r,o._apiToken,"PATCH"),n.a(2,u.then(function(n){try{e()}catch(n){i(n)}}).catch(function(n){return i(n)}))},n)}));return function(t,r){return n.apply(this,arguments)}}()))},n)}));return function(t,r){return n.apply(this,arguments)}}()),u(this,"updateAccountIdentity",function(){var n=e(a().m(function n(t,r){return a().w(function(n){for(;;)if(0===n.n)return n.a(2,new Promise(function(){var n=e(a().m(function n(e,i){var u;return a().w(function(n){for(;;)if(0===n.n)return u=o.requestLCDPApi("accounts/".concat(t,"/identity"),r,o._apiToken,"POST"),n.a(2,u.then(function(n){try{e()}catch(n){i(n)}}).catch(function(n){return i(n)}))},n)}));return function(t,r){return n.apply(this,arguments)}}()))},n)}));return function(t,r){return n.apply(this,arguments)}}()),u(this,"updateAccountBank",function(){var n=e(a().m(function n(t,r){return a().w(function(n){for(;;)if(0===n.n)return n.a(2,new Promise(function(){var n=e(a().m(function n(e,i){var u;return a().w(function(n){for(;;)if(0===n.n)return u=o.requestLCDPApi("accounts/".concat(t,"/bank"),r,o._apiToken,"POST"),n.a(2,u.then(function(n){try{e()}catch(n){i(n)}}).catch(function(n){return i(n)}))},n)}));return function(t,r){return n.apply(this,arguments)}}()))},n)}));return function(t,r){return n.apply(this,arguments)}}()),"undefined"!=typeof window)throw new Error("Must be used server side");this._apiToken=t,this._apiUrl=r});n.AfinaError=void 0,(l=n.AfinaError||(n.AfinaError={})).Verify="Fail to verify origin request",l.Stripe="Stripe is not available",l.ClientSide="Should be on Client Side",l.Key="A publishable key is mandatory",n.TokenObjectType=void 0,(p=n.TokenObjectType||(n.TokenObjectType={})).Account="account",p.Pot="pot",p.Wizard="wizard";var d=null,h="https://api.lacagnottedesproches.fr",y=function(n){return new RegExp("/^".concat(n,"?(.*)$/"))},w=null,m=null,b=function(n){var t=document.createElement("script");t.src="".concat(n,"/js");var r=document.head||document.body;if(!r)throw new Error("Expected document.body not to be null. Stripe.js requires a <body> element.");r.appendChild(t);var e=document.createElement("div");return e.id="lcdp-modal-root",document.body.appendChild(e),t},P=function(n){return d||(d=new Promise(function(t,r){var e;if("undefined"!=typeof window&&"undefined"!=typeof document)if(null!==(e=window.lcdp)&&void 0!==e&&e.Afina)t(window.lcdp.Afina);else{var o=h,i=y(o);if(n&&n.length>=2){var u=n[1];null!=u&&u.api_url&&(o=u.api_url,i=y(o))}try{var c=function(n,t){for(var r=document.querySelectorAll('script[src^="'.concat(n,'"]')),e=0;e<r.length;e++){var o=r[e];if(t.test(o.src))return o}return null}(o,i);if(c)console.warn("it seems a lcdp script already exists.");else if(c){if(c&&null!==m&&null!==w){var a;c.removeEventListener("load",m),c.removeEventListener("error",w),null===(a=c.parentNode)||void 0===a||a.removeChild(c),c=b(o)}}else c=b(o);m=function(n,t){return function(){var r;null!==(r=window.lcdp)&&void 0!==r&&r.Afina?n(window.lcdp.Afina):t(new Error("lcdp.js not available"))}}(t,r),w=function(n){return function(){n(new Error("Failed to load lcdp.js"))}}(r),c.addEventListener("load",m),c.addEventListener("error",w)}catch(n){return void r(n)}}else t(null)}))},A=function(){var n=e(a().m(function n(t,r){var e,i;return a().w(function(n){for(;;)switch(n.n){case 0:if(null!==t){n.n=1;break}return n.a(2,Promise.resolve(null));case 1:return e=o(t,s(r)),i=r[1],n.a(2,e.init(!1===(null==i?void 0:i.stripe)?{stripe:!1}:void 0).then(function(n){return n}))}},n)}));return function(t,r){return n.apply(this,arguments)}}(),T=function(){var n=e(a().m(function n(){var t,r,e,o=arguments;return a().w(function(n){for(;;)if(0===n.n){for(t=o.length,r=new Array(t),e=0;e<t;e++)r[e]=o[e];return n.a(2,P(r).then(function(n){return A(n,r)}))}},n)}));return function(){return n.apply(this,arguments)}}();return n.loadLCDP=T,n.requestLCDP=function(n){return new v(n,arguments.length>1&&void 0!==arguments[1]?arguments[1]:h)},n}({});
package/dist/index.mjs CHANGED
@@ -485,8 +485,8 @@ var LCDPRequest = /*#__PURE__*/_createClass(function LCDPRequest(secret, apiUrl)
485
485
  return _ref9.apply(this, arguments);
486
486
  };
487
487
  }());
488
- _defineProperty(this, "getAccount", /*#__PURE__*/function () {
489
- var _ref1 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee10(accountId) {
488
+ _defineProperty(this, "createPayout", /*#__PURE__*/function () {
489
+ var _ref1 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee10(potId, payload) {
490
490
  return _regenerator().w(function (_context10) {
491
491
  while (1) switch (_context10.n) {
492
492
  case 0:
@@ -496,7 +496,7 @@ var LCDPRequest = /*#__PURE__*/_createClass(function LCDPRequest(secret, apiUrl)
496
496
  return _regenerator().w(function (_context1) {
497
497
  while (1) switch (_context1.n) {
498
498
  case 0:
499
- responsePromise = _this.requestGetLCDPApi("accounts/".concat(accountId), _this._apiToken);
499
+ responsePromise = _this.requestLCDPApi("pots/".concat(potId, "/payout"), payload, _this._apiToken);
500
500
  return _context1.a(2, responsePromise.then(function (data) {
501
501
  try {
502
502
  resolve(data);
@@ -509,19 +509,19 @@ var LCDPRequest = /*#__PURE__*/_createClass(function LCDPRequest(secret, apiUrl)
509
509
  }
510
510
  }, _callee1);
511
511
  }));
512
- return function (_x16, _x17) {
512
+ return function (_x17, _x18) {
513
513
  return _ref10.apply(this, arguments);
514
514
  };
515
515
  }()));
516
516
  }
517
517
  }, _callee10);
518
518
  }));
519
- return function (_x15) {
519
+ return function (_x15, _x16) {
520
520
  return _ref1.apply(this, arguments);
521
521
  };
522
522
  }());
523
- _defineProperty(this, "updateAccount", /*#__PURE__*/function () {
524
- var _ref11 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee12(accountId, payload) {
523
+ _defineProperty(this, "getAccount", /*#__PURE__*/function () {
524
+ var _ref11 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee12(accountId) {
525
525
  return _regenerator().w(function (_context12) {
526
526
  while (1) switch (_context12.n) {
527
527
  case 0:
@@ -531,10 +531,10 @@ var LCDPRequest = /*#__PURE__*/_createClass(function LCDPRequest(secret, apiUrl)
531
531
  return _regenerator().w(function (_context11) {
532
532
  while (1) switch (_context11.n) {
533
533
  case 0:
534
- responsePromise = _this.requestLCDPApi("accounts/".concat(accountId), payload, _this._apiToken, "PATCH");
535
- return _context11.a(2, responsePromise.then(function (_) {
534
+ responsePromise = _this.requestGetLCDPApi("accounts/".concat(accountId), _this._apiToken);
535
+ return _context11.a(2, responsePromise.then(function (data) {
536
536
  try {
537
- resolve();
537
+ resolve(data);
538
538
  } catch (error) {
539
539
  reject(error);
540
540
  }
@@ -551,11 +551,11 @@ var LCDPRequest = /*#__PURE__*/_createClass(function LCDPRequest(secret, apiUrl)
551
551
  }
552
552
  }, _callee12);
553
553
  }));
554
- return function (_x18, _x19) {
554
+ return function (_x19) {
555
555
  return _ref11.apply(this, arguments);
556
556
  };
557
557
  }());
558
- _defineProperty(this, "updateAccountIdentity", /*#__PURE__*/function () {
558
+ _defineProperty(this, "updateAccount", /*#__PURE__*/function () {
559
559
  var _ref13 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee14(accountId, payload) {
560
560
  return _regenerator().w(function (_context14) {
561
561
  while (1) switch (_context14.n) {
@@ -566,7 +566,7 @@ var LCDPRequest = /*#__PURE__*/_createClass(function LCDPRequest(secret, apiUrl)
566
566
  return _regenerator().w(function (_context13) {
567
567
  while (1) switch (_context13.n) {
568
568
  case 0:
569
- responsePromise = _this.requestLCDPApi("accounts/".concat(accountId, "/identity"), payload, _this._apiToken, "POST");
569
+ responsePromise = _this.requestLCDPApi("accounts/".concat(accountId), payload, _this._apiToken, "PATCH");
570
570
  return _context13.a(2, responsePromise.then(function (_) {
571
571
  try {
572
572
  resolve();
@@ -590,7 +590,7 @@ var LCDPRequest = /*#__PURE__*/_createClass(function LCDPRequest(secret, apiUrl)
590
590
  return _ref13.apply(this, arguments);
591
591
  };
592
592
  }());
593
- _defineProperty(this, "updateAccountBank", /*#__PURE__*/function () {
593
+ _defineProperty(this, "updateAccountIdentity", /*#__PURE__*/function () {
594
594
  var _ref15 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee16(accountId, payload) {
595
595
  return _regenerator().w(function (_context16) {
596
596
  while (1) switch (_context16.n) {
@@ -601,7 +601,7 @@ var LCDPRequest = /*#__PURE__*/_createClass(function LCDPRequest(secret, apiUrl)
601
601
  return _regenerator().w(function (_context15) {
602
602
  while (1) switch (_context15.n) {
603
603
  case 0:
604
- responsePromise = _this.requestLCDPApi("accounts/".concat(accountId, "/bank"), payload, _this._apiToken, "POST");
604
+ responsePromise = _this.requestLCDPApi("accounts/".concat(accountId, "/identity"), payload, _this._apiToken, "POST");
605
605
  return _context15.a(2, responsePromise.then(function (_) {
606
606
  try {
607
607
  resolve();
@@ -625,6 +625,41 @@ var LCDPRequest = /*#__PURE__*/_createClass(function LCDPRequest(secret, apiUrl)
625
625
  return _ref15.apply(this, arguments);
626
626
  };
627
627
  }());
628
+ _defineProperty(this, "updateAccountBank", /*#__PURE__*/function () {
629
+ var _ref17 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee18(accountId, payload) {
630
+ return _regenerator().w(function (_context18) {
631
+ while (1) switch (_context18.n) {
632
+ case 0:
633
+ return _context18.a(2, new Promise(/*#__PURE__*/function () {
634
+ var _ref18 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee17(resolve, reject) {
635
+ var responsePromise;
636
+ return _regenerator().w(function (_context17) {
637
+ while (1) switch (_context17.n) {
638
+ case 0:
639
+ responsePromise = _this.requestLCDPApi("accounts/".concat(accountId, "/bank"), payload, _this._apiToken, "POST");
640
+ return _context17.a(2, responsePromise.then(function (_) {
641
+ try {
642
+ resolve();
643
+ } catch (error) {
644
+ reject(error);
645
+ }
646
+ })["catch"](function (reason) {
647
+ return reject(reason);
648
+ }));
649
+ }
650
+ }, _callee17);
651
+ }));
652
+ return function (_x32, _x33) {
653
+ return _ref18.apply(this, arguments);
654
+ };
655
+ }()));
656
+ }
657
+ }, _callee18);
658
+ }));
659
+ return function (_x30, _x31) {
660
+ return _ref17.apply(this, arguments);
661
+ };
662
+ }());
628
663
  if (typeof window !== "undefined") {
629
664
  throw new Error("Must be used server side");
630
665
  }
package/dist/index.umd.js CHANGED
@@ -491,8 +491,8 @@
491
491
  return _ref9.apply(this, arguments);
492
492
  };
493
493
  }());
494
- _defineProperty(this, "getAccount", /*#__PURE__*/function () {
495
- var _ref1 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee10(accountId) {
494
+ _defineProperty(this, "createPayout", /*#__PURE__*/function () {
495
+ var _ref1 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee10(potId, payload) {
496
496
  return _regenerator().w(function (_context10) {
497
497
  while (1) switch (_context10.n) {
498
498
  case 0:
@@ -502,7 +502,7 @@
502
502
  return _regenerator().w(function (_context1) {
503
503
  while (1) switch (_context1.n) {
504
504
  case 0:
505
- responsePromise = _this.requestGetLCDPApi("accounts/".concat(accountId), _this._apiToken);
505
+ responsePromise = _this.requestLCDPApi("pots/".concat(potId, "/payout"), payload, _this._apiToken);
506
506
  return _context1.a(2, responsePromise.then(function (data) {
507
507
  try {
508
508
  resolve(data);
@@ -515,19 +515,19 @@
515
515
  }
516
516
  }, _callee1);
517
517
  }));
518
- return function (_x16, _x17) {
518
+ return function (_x17, _x18) {
519
519
  return _ref10.apply(this, arguments);
520
520
  };
521
521
  }()));
522
522
  }
523
523
  }, _callee10);
524
524
  }));
525
- return function (_x15) {
525
+ return function (_x15, _x16) {
526
526
  return _ref1.apply(this, arguments);
527
527
  };
528
528
  }());
529
- _defineProperty(this, "updateAccount", /*#__PURE__*/function () {
530
- var _ref11 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee12(accountId, payload) {
529
+ _defineProperty(this, "getAccount", /*#__PURE__*/function () {
530
+ var _ref11 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee12(accountId) {
531
531
  return _regenerator().w(function (_context12) {
532
532
  while (1) switch (_context12.n) {
533
533
  case 0:
@@ -537,10 +537,10 @@
537
537
  return _regenerator().w(function (_context11) {
538
538
  while (1) switch (_context11.n) {
539
539
  case 0:
540
- responsePromise = _this.requestLCDPApi("accounts/".concat(accountId), payload, _this._apiToken, "PATCH");
541
- return _context11.a(2, responsePromise.then(function (_) {
540
+ responsePromise = _this.requestGetLCDPApi("accounts/".concat(accountId), _this._apiToken);
541
+ return _context11.a(2, responsePromise.then(function (data) {
542
542
  try {
543
- resolve();
543
+ resolve(data);
544
544
  } catch (error) {
545
545
  reject(error);
546
546
  }
@@ -557,11 +557,11 @@
557
557
  }
558
558
  }, _callee12);
559
559
  }));
560
- return function (_x18, _x19) {
560
+ return function (_x19) {
561
561
  return _ref11.apply(this, arguments);
562
562
  };
563
563
  }());
564
- _defineProperty(this, "updateAccountIdentity", /*#__PURE__*/function () {
564
+ _defineProperty(this, "updateAccount", /*#__PURE__*/function () {
565
565
  var _ref13 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee14(accountId, payload) {
566
566
  return _regenerator().w(function (_context14) {
567
567
  while (1) switch (_context14.n) {
@@ -572,7 +572,7 @@
572
572
  return _regenerator().w(function (_context13) {
573
573
  while (1) switch (_context13.n) {
574
574
  case 0:
575
- responsePromise = _this.requestLCDPApi("accounts/".concat(accountId, "/identity"), payload, _this._apiToken, "POST");
575
+ responsePromise = _this.requestLCDPApi("accounts/".concat(accountId), payload, _this._apiToken, "PATCH");
576
576
  return _context13.a(2, responsePromise.then(function (_) {
577
577
  try {
578
578
  resolve();
@@ -596,7 +596,7 @@
596
596
  return _ref13.apply(this, arguments);
597
597
  };
598
598
  }());
599
- _defineProperty(this, "updateAccountBank", /*#__PURE__*/function () {
599
+ _defineProperty(this, "updateAccountIdentity", /*#__PURE__*/function () {
600
600
  var _ref15 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee16(accountId, payload) {
601
601
  return _regenerator().w(function (_context16) {
602
602
  while (1) switch (_context16.n) {
@@ -607,7 +607,7 @@
607
607
  return _regenerator().w(function (_context15) {
608
608
  while (1) switch (_context15.n) {
609
609
  case 0:
610
- responsePromise = _this.requestLCDPApi("accounts/".concat(accountId, "/bank"), payload, _this._apiToken, "POST");
610
+ responsePromise = _this.requestLCDPApi("accounts/".concat(accountId, "/identity"), payload, _this._apiToken, "POST");
611
611
  return _context15.a(2, responsePromise.then(function (_) {
612
612
  try {
613
613
  resolve();
@@ -631,6 +631,41 @@
631
631
  return _ref15.apply(this, arguments);
632
632
  };
633
633
  }());
634
+ _defineProperty(this, "updateAccountBank", /*#__PURE__*/function () {
635
+ var _ref17 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee18(accountId, payload) {
636
+ return _regenerator().w(function (_context18) {
637
+ while (1) switch (_context18.n) {
638
+ case 0:
639
+ return _context18.a(2, new Promise(/*#__PURE__*/function () {
640
+ var _ref18 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee17(resolve, reject) {
641
+ var responsePromise;
642
+ return _regenerator().w(function (_context17) {
643
+ while (1) switch (_context17.n) {
644
+ case 0:
645
+ responsePromise = _this.requestLCDPApi("accounts/".concat(accountId, "/bank"), payload, _this._apiToken, "POST");
646
+ return _context17.a(2, responsePromise.then(function (_) {
647
+ try {
648
+ resolve();
649
+ } catch (error) {
650
+ reject(error);
651
+ }
652
+ })["catch"](function (reason) {
653
+ return reject(reason);
654
+ }));
655
+ }
656
+ }, _callee17);
657
+ }));
658
+ return function (_x32, _x33) {
659
+ return _ref18.apply(this, arguments);
660
+ };
661
+ }()));
662
+ }
663
+ }, _callee18);
664
+ }));
665
+ return function (_x30, _x31) {
666
+ return _ref17.apply(this, arguments);
667
+ };
668
+ }());
634
669
  if (typeof window !== "undefined") {
635
670
  throw new Error("Must be used server side");
636
671
  }
@@ -1,3 +1,3 @@
1
1
  !function(n,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((n="undefined"!=typeof globalThis?globalThis:n||self).lcdpjs={})}(this,function(n){"use strict";function t(n,t){(null==t||t>n.length)&&(t=n.length);for(var r=0,e=Array(t);r<t;r++)e[r]=n[r];return e}function r(n,t,r,e,o,i,u){try{var c=n[i](u),a=c.value}catch(n){return void r(n)}c.done?t(a):Promise.resolve(a).then(e,o)}function e(n){return function(){var t=this,e=arguments;return new Promise(function(o,i){var u=n.apply(t,e);function c(n){r(u,o,i,c,a,"next",n)}function a(n){r(u,o,i,c,a,"throw",n)}c(void 0)})}}function o(n,t,r){if(c())return Reflect.construct.apply(null,arguments);var e=[null];return e.push.apply(e,t),new(n.bind.apply(n,e))}function i(n,t,r){return Object.defineProperty(n,"prototype",{writable:!1}),n}function u(n,t,r){return(t=function(n){var t=function(n,t){if("object"!=typeof n||!n)return n;var r=n[Symbol.toPrimitive];if(void 0!==r){var e=r.call(n,t);if("object"!=typeof e)return e;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(n)}(n,"string");return"symbol"==typeof t?t:t+""}(t))in n?Object.defineProperty(n,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):n[t]=r,n}function c(){try{var n=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(n){}return(c=function(){return!!n})()}function a(){
2
2
  /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
3
- var n,t,r="function"==typeof Symbol?Symbol:{},e=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function i(r,e,o,i){var a=e&&e.prototype instanceof c?e:c,s=Object.create(a.prototype);return f(s,"_invoke",function(r,e,o){var i,c,a,f=0,s=o||[],l=!1,p={p:0,n:0,v:n,a:d,f:d.bind(n,4),d:function(t,r){return i=t,c=0,a=n,p.n=r,u}};function d(r,e){for(c=r,a=e,t=0;!l&&f&&!o&&t<s.length;t++){var o,i=s[t],d=p.p,v=i[2];r>3?(o=v===e)&&(a=i[(c=i[4])?5:(c=3,3)],i[4]=i[5]=n):i[0]<=d&&((o=r<2&&d<i[1])?(c=0,p.v=e,p.n=i[1]):d<v&&(o=r<3||i[0]>e||e>v)&&(i[4]=r,i[5]=e,p.n=v,c=0))}if(o||r>1)return u;throw l=!0,e}return function(o,s,v){if(f>1)throw TypeError("Generator is already running");for(l&&1===s&&d(s,v),c=s,a=v;(t=c<2?n:a)||!l;){i||(c?c<3?(c>1&&(p.n=-1),d(c,a)):p.n=a:p.v=a);try{if(f=2,i){if(c||(o="next"),t=i[o]){if(!(t=t.call(i,a)))throw TypeError("iterator result is not an object");if(!t.done)return t;a=t.value,c<2&&(c=0)}else 1===c&&(t=i.return)&&t.call(i),c<2&&(a=TypeError("The iterator does not provide a '"+o+"' method"),c=1);i=n}else if((t=(l=p.n<0)?a:r.call(e,p))!==u)break}catch(t){i=n,c=1,a=t}finally{f=1}}return{value:t,done:l}}}(r,o,i),!0),s}var u={};function c(){}function s(){}function l(){}t=Object.getPrototypeOf;var p=[][e]?t(t([][e]())):(f(t={},e,function(){return this}),t),d=l.prototype=c.prototype=Object.create(p);function v(n){return Object.setPrototypeOf?Object.setPrototypeOf(n,l):(n.__proto__=l,f(n,o,"GeneratorFunction")),n.prototype=Object.create(d),n}return s.prototype=l,f(d,"constructor",l),f(l,"constructor",s),s.displayName="GeneratorFunction",f(l,o,"GeneratorFunction"),f(d),f(d,o,"Generator"),f(d,e,function(){return this}),f(d,"toString",function(){return"[object Generator]"}),(a=function(){return{w:i,m:v}})()}function f(n,t,r,e){var o=Object.defineProperty;try{o({},"",{})}catch(n){o=0}f=function(n,t,r,e){function i(t,r){f(n,t,function(n){return this._invoke(t,r,n)})}t?o?o(n,t,{value:r,enumerable:!e,configurable:!e,writable:!e}):n[t]=r:(i("next",0),i("throw",1),i("return",2))},f(n,t,r,e)}function s(n){return function(n){if(Array.isArray(n))return t(n)}(n)||function(n){if("undefined"!=typeof Symbol&&null!=n[Symbol.iterator]||null!=n["@@iterator"])return Array.from(n)}(n)||function(n,r){if(n){if("string"==typeof n)return t(n,r);var e={}.toString.call(n).slice(8,-1);return"Object"===e&&n.constructor&&(e=n.constructor.name),"Map"===e||"Set"===e?Array.from(n):"Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e)?t(n,r):void 0}}(n)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var l,p,d=i(function n(t,r){var o=this;if(function(n,t){if(!(n instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n),u(this,"_apiToken",void 0),u(this,"_apiUrl",void 0),u(this,"requestLCDPApi",function(n,t,r){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"POST";if("undefined"!=typeof window)throw new Error("Must be used server side");return new Promise(function(){var u=e(a().m(function e(u,c){var f,s,l,p,d,v,h;return a().w(function(e){for(;;)switch(e.p=e.n){case 0:return f="".concat(o._apiUrl,"/").concat(n),e.p=1,e.n=2,fetch(f,{method:i,headers:{"Content-Type":"application/json","User-Agent":"lcdp/v1",Authorization:"Bearer ".concat(r)},body:JSON.stringify(t)});case 2:if(s=e.v,!((l=s.status)>=400)){e.n=4;break}return e.n=3,s.json();case 3:p=e.v,d=p.detail,c(d),e.n=7;break;case 4:if(204!==l){e.n=5;break}u(),e.n=7;break;case 5:return e.n=6,s.json();case 6:v=e.v,u(v);case 7:e.n=9;break;case 8:e.p=8,h=e.v,c(h);case 9:return e.a(2)}},e,null,[[1,8]])}));return function(n,t){return u.apply(this,arguments)}}())}),u(this,"requestGetLCDPApi",function(n,t){if("undefined"!=typeof window)throw new Error("Must be used server side");return new Promise(function(){var r=e(a().m(function r(e,i){var u,c,f,s,l,p,d;return a().w(function(r){for(;;)switch(r.p=r.n){case 0:return u="".concat(o._apiUrl,"/").concat(n),r.p=1,r.n=2,fetch(u,{method:"GET",headers:{"Content-Type":"application/json","User-Agent":"lcdp/v1",Authorization:"Bearer ".concat(t)}});case 2:if(c=r.v,!((f=c.status)>=400)){r.n=4;break}return r.n=3,c.json();case 3:s=r.v,l=s.detail,i(l),r.n=7;break;case 4:if(204!==f){r.n=5;break}e(),r.n=7;break;case 5:return r.n=6,c.json();case 6:p=r.v,e(p);case 7:r.n=9;break;case 8:r.p=8,d=r.v,i(d);case 9:return r.a(2)}},r,null,[[1,8]])}));return function(n,t){return r.apply(this,arguments)}}())}),u(this,"createAccount",function(){var n=e(a().m(function n(t){return a().w(function(n){for(;;)if(0===n.n)return n.a(2,new Promise(function(){var n=e(a().m(function n(r,e){var i;return a().w(function(n){for(;;)if(0===n.n)return i=o.requestLCDPApi("accounts",t,o._apiToken),n.a(2,i.then(function(n){try{r(n)}catch(n){e(n)}}).catch(function(n){return e(n)}))},n)}));return function(t,r){return n.apply(this,arguments)}}()))},n)}));return function(t){return n.apply(this,arguments)}}()),u(this,"createPot",function(){var n=e(a().m(function n(t){return a().w(function(n){for(;;)if(0===n.n)return n.a(2,new Promise(function(){var n=e(a().m(function n(r,e){var i;return a().w(function(n){for(;;)if(0===n.n)return i=o.requestLCDPApi("pots",t,o._apiToken),n.a(2,i.then(function(n){try{r(n)}catch(n){e(n)}}).catch(function(n){return e(n)}))},n)}));return function(t,r){return n.apply(this,arguments)}}()))},n)}));return function(t){return n.apply(this,arguments)}}()),u(this,"createAccountAndPot",function(){var n=e(a().m(function n(t){return a().w(function(n){for(;;)if(0===n.n)return n.a(2,new Promise(function(){var n=e(a().m(function n(r,e){var i;return a().w(function(n){for(;;)if(0===n.n)return i=o.requestLCDPApi("wizards",t,o._apiToken),n.a(2,i.then(function(n){try{r(n)}catch(n){e(n)}}).catch(function(n){return e(n)}))},n)}));return function(t,r){return n.apply(this,arguments)}}()))},n)}));return function(t){return n.apply(this,arguments)}}()),u(this,"updatePot",function(){var n=e(a().m(function n(t){return a().w(function(n){for(;;)if(0===n.n)return n.a(2,new Promise(function(){var n=e(a().m(function n(r,e){var i;return a().w(function(n){for(;;)if(0===n.n)return i=o.requestLCDPApi("pots",t,o._apiToken,"PATCH"),n.a(2,i.then(function(n){try{r()}catch(n){e(n)}}).catch(function(n){return e(n)}))},n)}));return function(t,r){return n.apply(this,arguments)}}()))},n)}));return function(t){return n.apply(this,arguments)}}()),u(this,"getAccount",function(){var n=e(a().m(function n(t){return a().w(function(n){for(;;)if(0===n.n)return n.a(2,new Promise(function(){var n=e(a().m(function n(r,e){var i;return a().w(function(n){for(;;)if(0===n.n)return i=o.requestGetLCDPApi("accounts/".concat(t),o._apiToken),n.a(2,i.then(function(n){try{r(n)}catch(n){e(n)}}).catch(function(n){return e(n)}))},n)}));return function(t,r){return n.apply(this,arguments)}}()))},n)}));return function(t){return n.apply(this,arguments)}}()),u(this,"updateAccount",function(){var n=e(a().m(function n(t,r){return a().w(function(n){for(;;)if(0===n.n)return n.a(2,new Promise(function(){var n=e(a().m(function n(e,i){var u;return a().w(function(n){for(;;)if(0===n.n)return u=o.requestLCDPApi("accounts/".concat(t),r,o._apiToken,"PATCH"),n.a(2,u.then(function(n){try{e()}catch(n){i(n)}}).catch(function(n){return i(n)}))},n)}));return function(t,r){return n.apply(this,arguments)}}()))},n)}));return function(t,r){return n.apply(this,arguments)}}()),u(this,"updateAccountIdentity",function(){var n=e(a().m(function n(t,r){return a().w(function(n){for(;;)if(0===n.n)return n.a(2,new Promise(function(){var n=e(a().m(function n(e,i){var u;return a().w(function(n){for(;;)if(0===n.n)return u=o.requestLCDPApi("accounts/".concat(t,"/identity"),r,o._apiToken,"POST"),n.a(2,u.then(function(n){try{e()}catch(n){i(n)}}).catch(function(n){return i(n)}))},n)}));return function(t,r){return n.apply(this,arguments)}}()))},n)}));return function(t,r){return n.apply(this,arguments)}}()),u(this,"updateAccountBank",function(){var n=e(a().m(function n(t,r){return a().w(function(n){for(;;)if(0===n.n)return n.a(2,new Promise(function(){var n=e(a().m(function n(e,i){var u;return a().w(function(n){for(;;)if(0===n.n)return u=o.requestLCDPApi("accounts/".concat(t,"/bank"),r,o._apiToken,"POST"),n.a(2,u.then(function(n){try{e()}catch(n){i(n)}}).catch(function(n){return i(n)}))},n)}));return function(t,r){return n.apply(this,arguments)}}()))},n)}));return function(t,r){return n.apply(this,arguments)}}()),"undefined"!=typeof window)throw new Error("Must be used server side");this._apiToken=t,this._apiUrl=r});n.AfinaError=void 0,(l=n.AfinaError||(n.AfinaError={})).Verify="Fail to verify origin request",l.Stripe="Stripe is not available",l.ClientSide="Should be on Client Side",l.Key="A publishable key is mandatory",n.TokenObjectType=void 0,(p=n.TokenObjectType||(n.TokenObjectType={})).Account="account",p.Pot="pot",p.Wizard="wizard";var v=null,h="https://api.lacagnottedesproches.fr",y=function(n){return new RegExp("/^".concat(n,"?(.*)$/"))},w=null,m=null,b=function(n){var t=document.createElement("script");t.src="".concat(n,"/js");var r=document.head||document.body;if(!r)throw new Error("Expected document.body not to be null. Stripe.js requires a <body> element.");r.appendChild(t);var e=document.createElement("div");return e.id="lcdp-modal-root",document.body.appendChild(e),t},P=function(n){return v||(v=new Promise(function(t,r){var e;if("undefined"!=typeof window&&"undefined"!=typeof document)if(null!==(e=window.lcdp)&&void 0!==e&&e.Afina)t(window.lcdp.Afina);else{var o=h,i=y(o);if(n&&n.length>=2){var u=n[1];null!=u&&u.api_url&&(o=u.api_url,i=y(o))}try{var c=function(n,t){for(var r=document.querySelectorAll('script[src^="'.concat(n,'"]')),e=0;e<r.length;e++){var o=r[e];if(t.test(o.src))return o}return null}(o,i);if(c)console.warn("it seems a lcdp script already exists.");else if(c){if(c&&null!==m&&null!==w){var a;c.removeEventListener("load",m),c.removeEventListener("error",w),null===(a=c.parentNode)||void 0===a||a.removeChild(c),c=b(o)}}else c=b(o);m=function(n,t){return function(){var r;null!==(r=window.lcdp)&&void 0!==r&&r.Afina?n(window.lcdp.Afina):t(new Error("lcdp.js not available"))}}(t,r),w=function(n){return function(){n(new Error("Failed to load lcdp.js"))}}(r),c.addEventListener("load",m),c.addEventListener("error",w)}catch(n){return void r(n)}}else t(null)}))},A=function(){var n=e(a().m(function n(t,r){var e,i;return a().w(function(n){for(;;)switch(n.n){case 0:if(null!==t){n.n=1;break}return n.a(2,Promise.resolve(null));case 1:return e=o(t,s(r)),i=r[1],n.a(2,e.init(!1===(null==i?void 0:i.stripe)?{stripe:!1}:void 0).then(function(n){return n}))}},n)}));return function(t,r){return n.apply(this,arguments)}}(),T=function(){var n=e(a().m(function n(){var t,r,e,o=arguments;return a().w(function(n){for(;;)if(0===n.n){for(t=o.length,r=new Array(t),e=0;e<t;e++)r[e]=o[e];return n.a(2,P(r).then(function(n){return A(n,r)}))}},n)}));return function(){return n.apply(this,arguments)}}();n.loadLCDP=T,n.requestLCDP=function(n){return new d(n,arguments.length>1&&void 0!==arguments[1]?arguments[1]:h)}});
3
+ var n,t,r="function"==typeof Symbol?Symbol:{},e=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function i(r,e,o,i){var a=e&&e.prototype instanceof c?e:c,s=Object.create(a.prototype);return f(s,"_invoke",function(r,e,o){var i,c,a,f=0,s=o||[],l=!1,p={p:0,n:0,v:n,a:d,f:d.bind(n,4),d:function(t,r){return i=t,c=0,a=n,p.n=r,u}};function d(r,e){for(c=r,a=e,t=0;!l&&f&&!o&&t<s.length;t++){var o,i=s[t],d=p.p,v=i[2];r>3?(o=v===e)&&(a=i[(c=i[4])?5:(c=3,3)],i[4]=i[5]=n):i[0]<=d&&((o=r<2&&d<i[1])?(c=0,p.v=e,p.n=i[1]):d<v&&(o=r<3||i[0]>e||e>v)&&(i[4]=r,i[5]=e,p.n=v,c=0))}if(o||r>1)return u;throw l=!0,e}return function(o,s,v){if(f>1)throw TypeError("Generator is already running");for(l&&1===s&&d(s,v),c=s,a=v;(t=c<2?n:a)||!l;){i||(c?c<3?(c>1&&(p.n=-1),d(c,a)):p.n=a:p.v=a);try{if(f=2,i){if(c||(o="next"),t=i[o]){if(!(t=t.call(i,a)))throw TypeError("iterator result is not an object");if(!t.done)return t;a=t.value,c<2&&(c=0)}else 1===c&&(t=i.return)&&t.call(i),c<2&&(a=TypeError("The iterator does not provide a '"+o+"' method"),c=1);i=n}else if((t=(l=p.n<0)?a:r.call(e,p))!==u)break}catch(t){i=n,c=1,a=t}finally{f=1}}return{value:t,done:l}}}(r,o,i),!0),s}var u={};function c(){}function s(){}function l(){}t=Object.getPrototypeOf;var p=[][e]?t(t([][e]())):(f(t={},e,function(){return this}),t),d=l.prototype=c.prototype=Object.create(p);function v(n){return Object.setPrototypeOf?Object.setPrototypeOf(n,l):(n.__proto__=l,f(n,o,"GeneratorFunction")),n.prototype=Object.create(d),n}return s.prototype=l,f(d,"constructor",l),f(l,"constructor",s),s.displayName="GeneratorFunction",f(l,o,"GeneratorFunction"),f(d),f(d,o,"Generator"),f(d,e,function(){return this}),f(d,"toString",function(){return"[object Generator]"}),(a=function(){return{w:i,m:v}})()}function f(n,t,r,e){var o=Object.defineProperty;try{o({},"",{})}catch(n){o=0}f=function(n,t,r,e){function i(t,r){f(n,t,function(n){return this._invoke(t,r,n)})}t?o?o(n,t,{value:r,enumerable:!e,configurable:!e,writable:!e}):n[t]=r:(i("next",0),i("throw",1),i("return",2))},f(n,t,r,e)}function s(n){return function(n){if(Array.isArray(n))return t(n)}(n)||function(n){if("undefined"!=typeof Symbol&&null!=n[Symbol.iterator]||null!=n["@@iterator"])return Array.from(n)}(n)||function(n,r){if(n){if("string"==typeof n)return t(n,r);var e={}.toString.call(n).slice(8,-1);return"Object"===e&&n.constructor&&(e=n.constructor.name),"Map"===e||"Set"===e?Array.from(n):"Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e)?t(n,r):void 0}}(n)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var l,p,d=i(function n(t,r){var o=this;if(function(n,t){if(!(n instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n),u(this,"_apiToken",void 0),u(this,"_apiUrl",void 0),u(this,"requestLCDPApi",function(n,t,r){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"POST";if("undefined"!=typeof window)throw new Error("Must be used server side");return new Promise(function(){var u=e(a().m(function e(u,c){var f,s,l,p,d,v,h;return a().w(function(e){for(;;)switch(e.p=e.n){case 0:return f="".concat(o._apiUrl,"/").concat(n),e.p=1,e.n=2,fetch(f,{method:i,headers:{"Content-Type":"application/json","User-Agent":"lcdp/v1",Authorization:"Bearer ".concat(r)},body:JSON.stringify(t)});case 2:if(s=e.v,!((l=s.status)>=400)){e.n=4;break}return e.n=3,s.json();case 3:p=e.v,d=p.detail,c(d),e.n=7;break;case 4:if(204!==l){e.n=5;break}u(),e.n=7;break;case 5:return e.n=6,s.json();case 6:v=e.v,u(v);case 7:e.n=9;break;case 8:e.p=8,h=e.v,c(h);case 9:return e.a(2)}},e,null,[[1,8]])}));return function(n,t){return u.apply(this,arguments)}}())}),u(this,"requestGetLCDPApi",function(n,t){if("undefined"!=typeof window)throw new Error("Must be used server side");return new Promise(function(){var r=e(a().m(function r(e,i){var u,c,f,s,l,p,d;return a().w(function(r){for(;;)switch(r.p=r.n){case 0:return u="".concat(o._apiUrl,"/").concat(n),r.p=1,r.n=2,fetch(u,{method:"GET",headers:{"Content-Type":"application/json","User-Agent":"lcdp/v1",Authorization:"Bearer ".concat(t)}});case 2:if(c=r.v,!((f=c.status)>=400)){r.n=4;break}return r.n=3,c.json();case 3:s=r.v,l=s.detail,i(l),r.n=7;break;case 4:if(204!==f){r.n=5;break}e(),r.n=7;break;case 5:return r.n=6,c.json();case 6:p=r.v,e(p);case 7:r.n=9;break;case 8:r.p=8,d=r.v,i(d);case 9:return r.a(2)}},r,null,[[1,8]])}));return function(n,t){return r.apply(this,arguments)}}())}),u(this,"createAccount",function(){var n=e(a().m(function n(t){return a().w(function(n){for(;;)if(0===n.n)return n.a(2,new Promise(function(){var n=e(a().m(function n(r,e){var i;return a().w(function(n){for(;;)if(0===n.n)return i=o.requestLCDPApi("accounts",t,o._apiToken),n.a(2,i.then(function(n){try{r(n)}catch(n){e(n)}}).catch(function(n){return e(n)}))},n)}));return function(t,r){return n.apply(this,arguments)}}()))},n)}));return function(t){return n.apply(this,arguments)}}()),u(this,"createPot",function(){var n=e(a().m(function n(t){return a().w(function(n){for(;;)if(0===n.n)return n.a(2,new Promise(function(){var n=e(a().m(function n(r,e){var i;return a().w(function(n){for(;;)if(0===n.n)return i=o.requestLCDPApi("pots",t,o._apiToken),n.a(2,i.then(function(n){try{r(n)}catch(n){e(n)}}).catch(function(n){return e(n)}))},n)}));return function(t,r){return n.apply(this,arguments)}}()))},n)}));return function(t){return n.apply(this,arguments)}}()),u(this,"createAccountAndPot",function(){var n=e(a().m(function n(t){return a().w(function(n){for(;;)if(0===n.n)return n.a(2,new Promise(function(){var n=e(a().m(function n(r,e){var i;return a().w(function(n){for(;;)if(0===n.n)return i=o.requestLCDPApi("wizards",t,o._apiToken),n.a(2,i.then(function(n){try{r(n)}catch(n){e(n)}}).catch(function(n){return e(n)}))},n)}));return function(t,r){return n.apply(this,arguments)}}()))},n)}));return function(t){return n.apply(this,arguments)}}()),u(this,"updatePot",function(){var n=e(a().m(function n(t){return a().w(function(n){for(;;)if(0===n.n)return n.a(2,new Promise(function(){var n=e(a().m(function n(r,e){var i;return a().w(function(n){for(;;)if(0===n.n)return i=o.requestLCDPApi("pots",t,o._apiToken,"PATCH"),n.a(2,i.then(function(n){try{r()}catch(n){e(n)}}).catch(function(n){return e(n)}))},n)}));return function(t,r){return n.apply(this,arguments)}}()))},n)}));return function(t){return n.apply(this,arguments)}}()),u(this,"createPayout",function(){var n=e(a().m(function n(t,r){return a().w(function(n){for(;;)if(0===n.n)return n.a(2,new Promise(function(){var n=e(a().m(function n(e,i){var u;return a().w(function(n){for(;;)if(0===n.n)return u=o.requestLCDPApi("pots/".concat(t,"/payout"),r,o._apiToken),n.a(2,u.then(function(n){try{e(n)}catch(n){i(n)}}).catch(function(n){return i(n)}))},n)}));return function(t,r){return n.apply(this,arguments)}}()))},n)}));return function(t,r){return n.apply(this,arguments)}}()),u(this,"getAccount",function(){var n=e(a().m(function n(t){return a().w(function(n){for(;;)if(0===n.n)return n.a(2,new Promise(function(){var n=e(a().m(function n(r,e){var i;return a().w(function(n){for(;;)if(0===n.n)return i=o.requestGetLCDPApi("accounts/".concat(t),o._apiToken),n.a(2,i.then(function(n){try{r(n)}catch(n){e(n)}}).catch(function(n){return e(n)}))},n)}));return function(t,r){return n.apply(this,arguments)}}()))},n)}));return function(t){return n.apply(this,arguments)}}()),u(this,"updateAccount",function(){var n=e(a().m(function n(t,r){return a().w(function(n){for(;;)if(0===n.n)return n.a(2,new Promise(function(){var n=e(a().m(function n(e,i){var u;return a().w(function(n){for(;;)if(0===n.n)return u=o.requestLCDPApi("accounts/".concat(t),r,o._apiToken,"PATCH"),n.a(2,u.then(function(n){try{e()}catch(n){i(n)}}).catch(function(n){return i(n)}))},n)}));return function(t,r){return n.apply(this,arguments)}}()))},n)}));return function(t,r){return n.apply(this,arguments)}}()),u(this,"updateAccountIdentity",function(){var n=e(a().m(function n(t,r){return a().w(function(n){for(;;)if(0===n.n)return n.a(2,new Promise(function(){var n=e(a().m(function n(e,i){var u;return a().w(function(n){for(;;)if(0===n.n)return u=o.requestLCDPApi("accounts/".concat(t,"/identity"),r,o._apiToken,"POST"),n.a(2,u.then(function(n){try{e()}catch(n){i(n)}}).catch(function(n){return i(n)}))},n)}));return function(t,r){return n.apply(this,arguments)}}()))},n)}));return function(t,r){return n.apply(this,arguments)}}()),u(this,"updateAccountBank",function(){var n=e(a().m(function n(t,r){return a().w(function(n){for(;;)if(0===n.n)return n.a(2,new Promise(function(){var n=e(a().m(function n(e,i){var u;return a().w(function(n){for(;;)if(0===n.n)return u=o.requestLCDPApi("accounts/".concat(t,"/bank"),r,o._apiToken,"POST"),n.a(2,u.then(function(n){try{e()}catch(n){i(n)}}).catch(function(n){return i(n)}))},n)}));return function(t,r){return n.apply(this,arguments)}}()))},n)}));return function(t,r){return n.apply(this,arguments)}}()),"undefined"!=typeof window)throw new Error("Must be used server side");this._apiToken=t,this._apiUrl=r});n.AfinaError=void 0,(l=n.AfinaError||(n.AfinaError={})).Verify="Fail to verify origin request",l.Stripe="Stripe is not available",l.ClientSide="Should be on Client Side",l.Key="A publishable key is mandatory",n.TokenObjectType=void 0,(p=n.TokenObjectType||(n.TokenObjectType={})).Account="account",p.Pot="pot",p.Wizard="wizard";var v=null,h="https://api.lacagnottedesproches.fr",y=function(n){return new RegExp("/^".concat(n,"?(.*)$/"))},w=null,m=null,b=function(n){var t=document.createElement("script");t.src="".concat(n,"/js");var r=document.head||document.body;if(!r)throw new Error("Expected document.body not to be null. Stripe.js requires a <body> element.");r.appendChild(t);var e=document.createElement("div");return e.id="lcdp-modal-root",document.body.appendChild(e),t},P=function(n){return v||(v=new Promise(function(t,r){var e;if("undefined"!=typeof window&&"undefined"!=typeof document)if(null!==(e=window.lcdp)&&void 0!==e&&e.Afina)t(window.lcdp.Afina);else{var o=h,i=y(o);if(n&&n.length>=2){var u=n[1];null!=u&&u.api_url&&(o=u.api_url,i=y(o))}try{var c=function(n,t){for(var r=document.querySelectorAll('script[src^="'.concat(n,'"]')),e=0;e<r.length;e++){var o=r[e];if(t.test(o.src))return o}return null}(o,i);if(c)console.warn("it seems a lcdp script already exists.");else if(c){if(c&&null!==m&&null!==w){var a;c.removeEventListener("load",m),c.removeEventListener("error",w),null===(a=c.parentNode)||void 0===a||a.removeChild(c),c=b(o)}}else c=b(o);m=function(n,t){return function(){var r;null!==(r=window.lcdp)&&void 0!==r&&r.Afina?n(window.lcdp.Afina):t(new Error("lcdp.js not available"))}}(t,r),w=function(n){return function(){n(new Error("Failed to load lcdp.js"))}}(r),c.addEventListener("load",m),c.addEventListener("error",w)}catch(n){return void r(n)}}else t(null)}))},A=function(){var n=e(a().m(function n(t,r){var e,i;return a().w(function(n){for(;;)switch(n.n){case 0:if(null!==t){n.n=1;break}return n.a(2,Promise.resolve(null));case 1:return e=o(t,s(r)),i=r[1],n.a(2,e.init(!1===(null==i?void 0:i.stripe)?{stripe:!1}:void 0).then(function(n){return n}))}},n)}));return function(t,r){return n.apply(this,arguments)}}(),T=function(){var n=e(a().m(function n(){var t,r,e,o=arguments;return a().w(function(n){for(;;)if(0===n.n){for(t=o.length,r=new Array(t),e=0;e<t;e++)r[e]=o[e];return n.a(2,P(r).then(function(n){return A(n,r)}))}},n)}));return function(){return n.apply(this,arguments)}}();n.loadLCDP=T,n.requestLCDP=function(n){return new d(n,arguments.length>1&&void 0!==arguments[1]?arguments[1]:h)}});
package/dist/types.d.ts CHANGED
@@ -170,6 +170,17 @@ export interface AccountAndPotCreated {
170
170
  account: AccountCreated;
171
171
  pot: PotCreated;
172
172
  }
173
+ export interface PayloadPayout {
174
+ acct_id: string;
175
+ close_pot: boolean;
176
+ idempotency_key?: string;
177
+ }
178
+ export interface PayoutResult {
179
+ payout_id: string;
180
+ amount_to_owner: number;
181
+ pot_closed: boolean;
182
+ status: "pending" | "paid" | "failed";
183
+ }
173
184
  export interface StatMetric {
174
185
  nb_pots: number;
175
186
  amount_donations: number;
@@ -279,6 +290,7 @@ export interface LCDPApi {
279
290
  createPot: (payload: TokenObject) => Promise<PotCreated>;
280
291
  createAccountAndPot: (payload: TokenObject) => Promise<AccountAndPotCreated>;
281
292
  updatePot: (payload: TokenObject) => Promise<void>;
293
+ createPayout: (potId: string, payload: PayloadPayout) => Promise<PayoutResult>;
282
294
  getAccount: (accountId: string) => Promise<Account>;
283
295
  updateAccount: (accountId: string, payload: ExternalTokenObject) => Promise<void>;
284
296
  updateAccountIdentity: (accountId: string, payload: ExternalTokenObject) => Promise<void>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lacagnottedesproches/lcdp-js-lite",
3
- "version": "1.10.0",
3
+ "version": "1.11.0",
4
4
  "description": "LCDP JS Lite",
5
5
  "scripts": {
6
6
  "build": "rm -rf dist/ && rollup -c",
package/src/api.ts CHANGED
@@ -4,6 +4,8 @@ import {
4
4
  AccountCreated,
5
5
  ExternalTokenObject,
6
6
  LCDPApi,
7
+ PayloadPayout,
8
+ PayoutResult,
7
9
  PotCreated,
8
10
  TokenObject,
9
11
  } from "./types";
@@ -26,7 +28,7 @@ export class LCDPRequest implements LCDPApi {
26
28
 
27
29
  requestLCDPApi = (
28
30
  endpoint: string,
29
- payload: TokenObject | ExternalTokenObject,
31
+ payload: TokenObject | ExternalTokenObject | PayloadPayout,
30
32
  authToken: string,
31
33
  customMethod: "POST" | "PATCH" = "POST",
32
34
  ): Promise<LCDPApiResponse | void> => {
@@ -177,6 +179,28 @@ export class LCDPRequest implements LCDPApi {
177
179
  });
178
180
  };
179
181
 
182
+ createPayout = async (
183
+ potId: string,
184
+ payload: PayloadPayout,
185
+ ): Promise<PayoutResult> => {
186
+ return new Promise(async (resolve, reject) => {
187
+ const responsePromise = this.requestLCDPApi(
188
+ `pots/${potId}/payout`,
189
+ payload,
190
+ this._apiToken,
191
+ );
192
+ return responsePromise
193
+ .then((data) => {
194
+ try {
195
+ resolve(data as unknown as PayoutResult);
196
+ } catch (error) {
197
+ reject(error);
198
+ }
199
+ })
200
+ .catch((reason) => reject(reason));
201
+ });
202
+ };
203
+
180
204
  getAccount = async (accountId: string): Promise<Account> => {
181
205
  return new Promise(async (resolve, reject) => {
182
206
  const responsePromise = this.requestGetLCDPApi(
package/src/types.ts CHANGED
@@ -192,6 +192,20 @@ export interface AccountAndPotCreated {
192
192
  pot: PotCreated;
193
193
  }
194
194
 
195
+ export interface PayloadPayout {
196
+ acct_id: string;
197
+ close_pot: boolean;
198
+ // Optional: forwarded to Stripe's idempotency. Omit to let afina generate one.
199
+ idempotency_key?: string;
200
+ }
201
+
202
+ export interface PayoutResult {
203
+ payout_id: string;
204
+ amount_to_owner: number;
205
+ pot_closed: boolean;
206
+ status: "pending" | "paid" | "failed";
207
+ }
208
+
195
209
  export interface StatMetric {
196
210
  nb_pots: number;
197
211
  amount_donations: number;
@@ -330,6 +344,10 @@ export interface LCDPApi {
330
344
  createPot: (payload: TokenObject) => Promise<PotCreated>;
331
345
  createAccountAndPot: (payload: TokenObject) => Promise<AccountAndPotCreated>;
332
346
  updatePot: (payload: TokenObject) => Promise<void>;
347
+ createPayout: (
348
+ potId: string,
349
+ payload: PayloadPayout,
350
+ ) => Promise<PayoutResult>;
333
351
  getAccount: (accountId: string) => Promise<Account>;
334
352
  updateAccount: (
335
353
  accountId: string,