shred-api-client 1.0.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.
- package/dist/index.d.mts +16 -0
- package/dist/index.d.ts +16 -0
- package/dist/index.js +113 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +91 -0
- package/dist/index.mjs.map +1 -0
- package/package.json +26 -0
package/dist/index.d.mts
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
type Context = {
|
|
2
|
+
token: string;
|
|
3
|
+
requestId: string;
|
|
4
|
+
};
|
|
5
|
+
|
|
6
|
+
interface UserAPISchema {
|
|
7
|
+
getUserInfo: (context: Context) => void;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
type API = {
|
|
11
|
+
user: UserAPISchema;
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
declare function ShredAPI(): API;
|
|
15
|
+
|
|
16
|
+
export { ShredAPI };
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
type Context = {
|
|
2
|
+
token: string;
|
|
3
|
+
requestId: string;
|
|
4
|
+
};
|
|
5
|
+
|
|
6
|
+
interface UserAPISchema {
|
|
7
|
+
getUserInfo: (context: Context) => void;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
type API = {
|
|
11
|
+
user: UserAPISchema;
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
declare function ShredAPI(): API;
|
|
15
|
+
|
|
16
|
+
export { ShredAPI };
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var __async = (__this, __arguments, generator) => {
|
|
20
|
+
return new Promise((resolve, reject) => {
|
|
21
|
+
var fulfilled = (value) => {
|
|
22
|
+
try {
|
|
23
|
+
step(generator.next(value));
|
|
24
|
+
} catch (e) {
|
|
25
|
+
reject(e);
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
var rejected = (value) => {
|
|
29
|
+
try {
|
|
30
|
+
step(generator.throw(value));
|
|
31
|
+
} catch (e) {
|
|
32
|
+
reject(e);
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
|
|
36
|
+
step((generator = generator.apply(__this, __arguments)).next());
|
|
37
|
+
});
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
// src/index.ts
|
|
41
|
+
var src_exports = {};
|
|
42
|
+
__export(src_exports, {
|
|
43
|
+
default: () => src_default
|
|
44
|
+
});
|
|
45
|
+
module.exports = __toCommonJS(src_exports);
|
|
46
|
+
|
|
47
|
+
// src/model/User.schema.ts
|
|
48
|
+
var UserEndpoints = {
|
|
49
|
+
GetUserInfo: "/user/info"
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
// src/util/HTTPClient.ts
|
|
53
|
+
var HOSTS = {
|
|
54
|
+
prod: "https://api.shredmedia.com",
|
|
55
|
+
staging: "https://api.staging.shredmedia.com"
|
|
56
|
+
};
|
|
57
|
+
var HTTPClient = class {
|
|
58
|
+
constructor() {
|
|
59
|
+
const env = process.env.ENV;
|
|
60
|
+
this.host = HOSTS[env] || HOSTS.staging;
|
|
61
|
+
}
|
|
62
|
+
makeRequest(uri, method, data, context) {
|
|
63
|
+
return __async(this, null, function* () {
|
|
64
|
+
const headers = new Headers();
|
|
65
|
+
headers.append("Authorization", `Bearer ${context.token}`);
|
|
66
|
+
headers.append("X-Request-ID", context.requestId);
|
|
67
|
+
const config = {
|
|
68
|
+
method,
|
|
69
|
+
headers,
|
|
70
|
+
body: method === "GET" ? null : JSON.stringify(data)
|
|
71
|
+
};
|
|
72
|
+
try {
|
|
73
|
+
const endpoint = this.host + uri;
|
|
74
|
+
const response = yield fetch(endpoint, config);
|
|
75
|
+
console.log("Making Request to", endpoint);
|
|
76
|
+
if (!response.ok) {
|
|
77
|
+
throw new Error(`HTTP error! status: ${response.status}`);
|
|
78
|
+
}
|
|
79
|
+
return yield response.json();
|
|
80
|
+
} catch (error) {
|
|
81
|
+
console.error("Error making HTTP request:", error);
|
|
82
|
+
throw error;
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
};
|
|
87
|
+
|
|
88
|
+
// src/api/User.api.ts
|
|
89
|
+
var UserAPI = class {
|
|
90
|
+
constructor() {
|
|
91
|
+
this.clientHTTP = new HTTPClient();
|
|
92
|
+
}
|
|
93
|
+
getUserInfo(context) {
|
|
94
|
+
return __async(this, null, function* () {
|
|
95
|
+
const data = yield this.clientHTTP.makeRequest(
|
|
96
|
+
UserEndpoints.GetUserInfo,
|
|
97
|
+
"GET",
|
|
98
|
+
null,
|
|
99
|
+
context
|
|
100
|
+
);
|
|
101
|
+
return data;
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
};
|
|
105
|
+
var User_api_default = UserAPI;
|
|
106
|
+
|
|
107
|
+
// src/index.ts
|
|
108
|
+
var userAPI = new User_api_default();
|
|
109
|
+
var api = {
|
|
110
|
+
user: userAPI
|
|
111
|
+
};
|
|
112
|
+
var src_default = api;
|
|
113
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/model/User.schema.ts","../src/util/HTTPClient.ts","../src/api/User.api.ts"],"sourcesContent":["import UserAPI from \"./api/User.api\";\nimport API from \"./model/Api\";\n\nconst userAPI = new UserAPI();\n\nconst api: API = {\n user: userAPI,\n};\n\nexport default api;\n","import Context from \"./Context\";\n\ninterface UserAPISchema {\n getUserInfo: (context: Context) => void;\n}\n\nconst UserEndpoints = {\n GetUserInfo: \"/user/info\",\n};\n\ntype Preferences = {\n primaryColor?: string;\n secondaryColor?: string;\n facebookLink?: string;\n instagramLink?: string;\n bRoll?: boolean;\n logo?: string;\n};\n\ntype User = {\n id: string;\n name: string;\n email: string;\n customerId: string;\n registered: boolean;\n profession?: string;\n registeredAt: number;\n fcmToken?: string;\n photoUrl?: string;\n preferences?: Preferences;\n invitationCode?: string;\n};\n\nexport { User, UserAPISchema, UserEndpoints };\n","import Context from \"./../model/Context\";\n\nconst HOSTS = {\n prod: \"https://api.shredmedia.com\",\n staging: \"https://api.staging.shredmedia.com\",\n};\n\nexport default class HTTPClient {\n private host: string;\n\n constructor() {\n const env = process.env.ENV as \"prod\" | \"staging\";\n this.host = HOSTS[env] || HOSTS.staging;\n }\n\n async makeRequest(\n uri: string,\n method: \"GET\" | \"POST\" | \"PUT\" | \"DELETE\",\n data: any,\n context: Context\n ) {\n const headers = new Headers();\n headers.append(\"Authorization\", `Bearer ${context.token}`);\n headers.append(\"X-Request-ID\", context.requestId);\n\n const config: RequestInit = {\n method: method,\n headers: headers,\n body: method === \"GET\" ? null : JSON.stringify(data),\n };\n\n try {\n const endpoint = this.host + uri;\n const response = await fetch(endpoint, config);\n console.log(\"Making Request to\", endpoint);\n if (!response.ok) {\n throw new Error(`HTTP error! status: ${response.status}`);\n }\n return await response.json();\n } catch (error) {\n console.error(\"Error making HTTP request:\", error);\n throw error;\n }\n }\n}\n","import Context from \"../model/Context\";\nimport { User, UserAPISchema, UserEndpoints } from \"../model/User.schema\";\nimport HTTPClient from \"../util/HTTPClient\";\n\nclass UserAPI implements UserAPISchema {\n private clientHTTP: HTTPClient;\n\n constructor() {\n this.clientHTTP = new HTTPClient();\n }\n\n async getUserInfo(context: Context): Promise<User> {\n const data = await this.clientHTTP.makeRequest(\n UserEndpoints.GetUserInfo,\n \"GET\",\n null,\n context\n );\n\n return data;\n }\n}\n\nexport default UserAPI;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACMA,IAAM,gBAAgB;AAAA,EACpB,aAAa;AACf;;;ACNA,IAAM,QAAQ;AAAA,EACZ,MAAM;AAAA,EACN,SAAS;AACX;AAEA,IAAqB,aAArB,MAAgC;AAAA,EAG9B,cAAc;AACZ,UAAM,MAAM,QAAQ,IAAI;AACxB,SAAK,OAAO,MAAM,GAAG,KAAK,MAAM;AAAA,EAClC;AAAA,EAEM,YACJ,KACA,QACA,MACA,SACA;AAAA;AACA,YAAM,UAAU,IAAI,QAAQ;AAC5B,cAAQ,OAAO,iBAAiB,UAAU,QAAQ,KAAK,EAAE;AACzD,cAAQ,OAAO,gBAAgB,QAAQ,SAAS;AAEhD,YAAM,SAAsB;AAAA,QAC1B;AAAA,QACA;AAAA,QACA,MAAM,WAAW,QAAQ,OAAO,KAAK,UAAU,IAAI;AAAA,MACrD;AAEA,UAAI;AACF,cAAM,WAAW,KAAK,OAAO;AAC7B,cAAM,WAAW,MAAM,MAAM,UAAU,MAAM;AAC7C,gBAAQ,IAAI,qBAAqB,QAAQ;AACzC,YAAI,CAAC,SAAS,IAAI;AAChB,gBAAM,IAAI,MAAM,uBAAuB,SAAS,MAAM,EAAE;AAAA,QAC1D;AACA,eAAO,MAAM,SAAS,KAAK;AAAA,MAC7B,SAAS,OAAO;AACd,gBAAQ,MAAM,8BAA8B,KAAK;AACjD,cAAM;AAAA,MACR;AAAA,IACF;AAAA;AACF;;;ACxCA,IAAM,UAAN,MAAuC;AAAA,EAGrC,cAAc;AACZ,SAAK,aAAa,IAAI,WAAW;AAAA,EACnC;AAAA,EAEM,YAAY,SAAiC;AAAA;AACjD,YAAM,OAAO,MAAM,KAAK,WAAW;AAAA,QACjC,cAAc;AAAA,QACd;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAEA,aAAO;AAAA,IACT;AAAA;AACF;AAEA,IAAO,mBAAQ;;;AHpBf,IAAM,UAAU,IAAI,iBAAQ;AAE5B,IAAM,MAAW;AAAA,EACf,MAAM;AACR;AAEA,IAAO,cAAQ;","names":[]}
|
package/dist/index.mjs
ADDED
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
var __async = (__this, __arguments, generator) => {
|
|
2
|
+
return new Promise((resolve, reject) => {
|
|
3
|
+
var fulfilled = (value) => {
|
|
4
|
+
try {
|
|
5
|
+
step(generator.next(value));
|
|
6
|
+
} catch (e) {
|
|
7
|
+
reject(e);
|
|
8
|
+
}
|
|
9
|
+
};
|
|
10
|
+
var rejected = (value) => {
|
|
11
|
+
try {
|
|
12
|
+
step(generator.throw(value));
|
|
13
|
+
} catch (e) {
|
|
14
|
+
reject(e);
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
|
|
18
|
+
step((generator = generator.apply(__this, __arguments)).next());
|
|
19
|
+
});
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
// src/model/User.schema.ts
|
|
23
|
+
var UserEndpoints = {
|
|
24
|
+
GetUserInfo: "/user/info"
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
// src/util/HTTPClient.ts
|
|
28
|
+
var HOSTS = {
|
|
29
|
+
prod: "https://api.shredmedia.com",
|
|
30
|
+
staging: "https://api.staging.shredmedia.com"
|
|
31
|
+
};
|
|
32
|
+
var HTTPClient = class {
|
|
33
|
+
constructor() {
|
|
34
|
+
const env = process.env.ENV;
|
|
35
|
+
this.host = HOSTS[env] || HOSTS.staging;
|
|
36
|
+
}
|
|
37
|
+
makeRequest(uri, method, data, context) {
|
|
38
|
+
return __async(this, null, function* () {
|
|
39
|
+
const headers = new Headers();
|
|
40
|
+
headers.append("Authorization", `Bearer ${context.token}`);
|
|
41
|
+
headers.append("X-Request-ID", context.requestId);
|
|
42
|
+
const config = {
|
|
43
|
+
method,
|
|
44
|
+
headers,
|
|
45
|
+
body: method === "GET" ? null : JSON.stringify(data)
|
|
46
|
+
};
|
|
47
|
+
try {
|
|
48
|
+
const endpoint = this.host + uri;
|
|
49
|
+
const response = yield fetch(endpoint, config);
|
|
50
|
+
console.log("Making Request to", endpoint);
|
|
51
|
+
if (!response.ok) {
|
|
52
|
+
throw new Error(`HTTP error! status: ${response.status}`);
|
|
53
|
+
}
|
|
54
|
+
return yield response.json();
|
|
55
|
+
} catch (error) {
|
|
56
|
+
console.error("Error making HTTP request:", error);
|
|
57
|
+
throw error;
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
// src/api/User.api.ts
|
|
64
|
+
var UserAPI = class {
|
|
65
|
+
constructor() {
|
|
66
|
+
this.clientHTTP = new HTTPClient();
|
|
67
|
+
}
|
|
68
|
+
getUserInfo(context) {
|
|
69
|
+
return __async(this, null, function* () {
|
|
70
|
+
const data = yield this.clientHTTP.makeRequest(
|
|
71
|
+
UserEndpoints.GetUserInfo,
|
|
72
|
+
"GET",
|
|
73
|
+
null,
|
|
74
|
+
context
|
|
75
|
+
);
|
|
76
|
+
return data;
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
};
|
|
80
|
+
var User_api_default = UserAPI;
|
|
81
|
+
|
|
82
|
+
// src/index.ts
|
|
83
|
+
var userAPI = new User_api_default();
|
|
84
|
+
var api = {
|
|
85
|
+
user: userAPI
|
|
86
|
+
};
|
|
87
|
+
var src_default = api;
|
|
88
|
+
export {
|
|
89
|
+
src_default as default
|
|
90
|
+
};
|
|
91
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/model/User.schema.ts","../src/util/HTTPClient.ts","../src/api/User.api.ts","../src/index.ts"],"sourcesContent":["import Context from \"./Context\";\n\ninterface UserAPISchema {\n getUserInfo: (context: Context) => void;\n}\n\nconst UserEndpoints = {\n GetUserInfo: \"/user/info\",\n};\n\ntype Preferences = {\n primaryColor?: string;\n secondaryColor?: string;\n facebookLink?: string;\n instagramLink?: string;\n bRoll?: boolean;\n logo?: string;\n};\n\ntype User = {\n id: string;\n name: string;\n email: string;\n customerId: string;\n registered: boolean;\n profession?: string;\n registeredAt: number;\n fcmToken?: string;\n photoUrl?: string;\n preferences?: Preferences;\n invitationCode?: string;\n};\n\nexport { User, UserAPISchema, UserEndpoints };\n","import Context from \"./../model/Context\";\n\nconst HOSTS = {\n prod: \"https://api.shredmedia.com\",\n staging: \"https://api.staging.shredmedia.com\",\n};\n\nexport default class HTTPClient {\n private host: string;\n\n constructor() {\n const env = process.env.ENV as \"prod\" | \"staging\";\n this.host = HOSTS[env] || HOSTS.staging;\n }\n\n async makeRequest(\n uri: string,\n method: \"GET\" | \"POST\" | \"PUT\" | \"DELETE\",\n data: any,\n context: Context\n ) {\n const headers = new Headers();\n headers.append(\"Authorization\", `Bearer ${context.token}`);\n headers.append(\"X-Request-ID\", context.requestId);\n\n const config: RequestInit = {\n method: method,\n headers: headers,\n body: method === \"GET\" ? null : JSON.stringify(data),\n };\n\n try {\n const endpoint = this.host + uri;\n const response = await fetch(endpoint, config);\n console.log(\"Making Request to\", endpoint);\n if (!response.ok) {\n throw new Error(`HTTP error! status: ${response.status}`);\n }\n return await response.json();\n } catch (error) {\n console.error(\"Error making HTTP request:\", error);\n throw error;\n }\n }\n}\n","import Context from \"../model/Context\";\nimport { User, UserAPISchema, UserEndpoints } from \"../model/User.schema\";\nimport HTTPClient from \"../util/HTTPClient\";\n\nclass UserAPI implements UserAPISchema {\n private clientHTTP: HTTPClient;\n\n constructor() {\n this.clientHTTP = new HTTPClient();\n }\n\n async getUserInfo(context: Context): Promise<User> {\n const data = await this.clientHTTP.makeRequest(\n UserEndpoints.GetUserInfo,\n \"GET\",\n null,\n context\n );\n\n return data;\n }\n}\n\nexport default UserAPI;\n","import UserAPI from \"./api/User.api\";\nimport API from \"./model/Api\";\n\nconst userAPI = new UserAPI();\n\nconst api: API = {\n user: userAPI,\n};\n\nexport default api;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAMA,IAAM,gBAAgB;AAAA,EACpB,aAAa;AACf;;;ACNA,IAAM,QAAQ;AAAA,EACZ,MAAM;AAAA,EACN,SAAS;AACX;AAEA,IAAqB,aAArB,MAAgC;AAAA,EAG9B,cAAc;AACZ,UAAM,MAAM,QAAQ,IAAI;AACxB,SAAK,OAAO,MAAM,GAAG,KAAK,MAAM;AAAA,EAClC;AAAA,EAEM,YACJ,KACA,QACA,MACA,SACA;AAAA;AACA,YAAM,UAAU,IAAI,QAAQ;AAC5B,cAAQ,OAAO,iBAAiB,UAAU,QAAQ,KAAK,EAAE;AACzD,cAAQ,OAAO,gBAAgB,QAAQ,SAAS;AAEhD,YAAM,SAAsB;AAAA,QAC1B;AAAA,QACA;AAAA,QACA,MAAM,WAAW,QAAQ,OAAO,KAAK,UAAU,IAAI;AAAA,MACrD;AAEA,UAAI;AACF,cAAM,WAAW,KAAK,OAAO;AAC7B,cAAM,WAAW,MAAM,MAAM,UAAU,MAAM;AAC7C,gBAAQ,IAAI,qBAAqB,QAAQ;AACzC,YAAI,CAAC,SAAS,IAAI;AAChB,gBAAM,IAAI,MAAM,uBAAuB,SAAS,MAAM,EAAE;AAAA,QAC1D;AACA,eAAO,MAAM,SAAS,KAAK;AAAA,MAC7B,SAAS,OAAO;AACd,gBAAQ,MAAM,8BAA8B,KAAK;AACjD,cAAM;AAAA,MACR;AAAA,IACF;AAAA;AACF;;;ACxCA,IAAM,UAAN,MAAuC;AAAA,EAGrC,cAAc;AACZ,SAAK,aAAa,IAAI,WAAW;AAAA,EACnC;AAAA,EAEM,YAAY,SAAiC;AAAA;AACjD,YAAM,OAAO,MAAM,KAAK,WAAW;AAAA,QACjC,cAAc;AAAA,QACd;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAEA,aAAO;AAAA,IACT;AAAA;AACF;AAEA,IAAO,mBAAQ;;;ACpBf,IAAM,UAAU,IAAI,iBAAQ;AAE5B,IAAM,MAAW;AAAA,EACf,MAAM;AACR;AAEA,IAAO,cAAQ;","names":[]}
|
package/package.json
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "shred-api-client",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "API Client for Shred",
|
|
5
|
+
"main": "./dist/index.js",
|
|
6
|
+
"types": "./dist/index.d.ts",
|
|
7
|
+
"module": "./dist/index.mjs",
|
|
8
|
+
"files": [
|
|
9
|
+
"dist"
|
|
10
|
+
],
|
|
11
|
+
"scripts": {
|
|
12
|
+
"test": "echo \"Error: no test specified\" && exit 1",
|
|
13
|
+
"build": "tsup"
|
|
14
|
+
},
|
|
15
|
+
"author": "Marcus Cartágenes",
|
|
16
|
+
"license": "ISC",
|
|
17
|
+
"dependencies": {
|
|
18
|
+
"axios": "^1.6.8",
|
|
19
|
+
"winston": "^3.13.0"
|
|
20
|
+
},
|
|
21
|
+
"devDependencies": {
|
|
22
|
+
"@types/node": "^20.12.7",
|
|
23
|
+
"tsup": "^8.0.2",
|
|
24
|
+
"typescript": "^5.4.5"
|
|
25
|
+
}
|
|
26
|
+
}
|