1+ /*
2+ * Copyright 2010-2020 Gildas Lormeau
3+ * contact : gildas.lormeau <at> gmail.com
4+ *
5+ * This file is part of SingleFile.
6+ *
7+ * The code in this file is free software: you can redistribute it and/or
8+ * modify it under the terms of the GNU Affero General Public License
9+ * (GNU AGPL) as published by the Free Software Foundation, either version 3
10+ * of the License, or (at your option) any later version.
11+ *
12+ * The code in this file is distributed in the hope that it will be useful,
13+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
14+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero
15+ * General Public License for more details.
16+ *
17+ * As additional permission under GNU AGPL version 3 section 7, you may
18+ * distribute UNMODIFIED VERSIONS OF THIS file without the copy of the GNU
19+ * AGPL normally required by section 4, provided you include this license
20+ * notice and a URL through which recipients can access the Corresponding
21+ * Source.
22+ */
23+ /* global fetch */
24+ const urlService = "https://api.woleet.io/v1/anchor" ;
25+ const apiKey = "" ;
26+ export {
27+ anchor
28+ } ;
29+ async function anchor ( hash , userKey ) {
30+ let bearer = userKey || apiKey ;
31+ const response = await fetch ( urlService , {
32+ method : "POST" ,
33+ headers : {
34+ "Accept" : "application/json" ,
35+ "Content-Type" : "application/json" ,
36+ "Authorization" : "Bearer " + bearer
37+ } ,
38+ body : JSON . stringify ( {
39+ "name" : hash ,
40+ "hash" : hash ,
41+ "public" : true
42+ } )
43+ } ) ;
44+ if ( response . status == 401 ) {
45+ const error = new Error ( "Your access token on Woleet is invalid. Go to __DOC_LINK__ to create your account." ) ;
46+ error . link = "https://app.woleet.io/" ;
47+ throw error ;
48+ } else if ( response . status == 402 ) {
49+ const error = new Error ( "You have no more credits on Woleet. Go to __DOC_LINK__ to recharge them." ) ;
50+ error . link = "https://app.woleet.io/" ;
51+ throw error ;
52+ } else if ( response . status >= 400 ) {
53+ throw new Error ( ( response . statusText || ( "Error " + response . status ) ) + " (Woleet)" ) ;
54+ }
55+ return response . json ( ) ;
56+ }
0 commit comments