swcombine-sdk 1.0.0 → 1.1.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/README.md +1 -1
- package/dist/cjs/http/HttpClient.js +19 -3
- package/dist/cjs/http/HttpClient.js.map +1 -1
- package/dist/cjs/resources/ApiResource.js +45 -1
- package/dist/cjs/resources/ApiResource.js.map +1 -1
- package/dist/cjs/resources/CharacterResource.js +98 -13
- package/dist/cjs/resources/CharacterResource.js.map +1 -1
- package/dist/cjs/resources/DatacardResource.js +30 -9
- package/dist/cjs/resources/DatacardResource.js.map +1 -1
- package/dist/cjs/resources/EventsResource.js +28 -5
- package/dist/cjs/resources/EventsResource.js.map +1 -1
- package/dist/cjs/resources/FactionResource.js +54 -12
- package/dist/cjs/resources/FactionResource.js.map +1 -1
- package/dist/cjs/resources/GalaxyResource.js +18 -7
- package/dist/cjs/resources/GalaxyResource.js.map +1 -1
- package/dist/cjs/resources/InventoryResource.js +44 -6
- package/dist/cjs/resources/InventoryResource.js.map +1 -1
- package/dist/cjs/resources/MarketResource.js +3 -1
- package/dist/cjs/resources/MarketResource.js.map +1 -1
- package/dist/cjs/resources/NewsResource.js +6 -2
- package/dist/cjs/resources/NewsResource.js.map +1 -1
- package/dist/cjs/resources/TypesResource.js +39 -7
- package/dist/cjs/resources/TypesResource.js.map +1 -1
- package/dist/esm/http/HttpClient.js +19 -3
- package/dist/esm/http/HttpClient.js.map +1 -1
- package/dist/esm/resources/ApiResource.js +45 -1
- package/dist/esm/resources/ApiResource.js.map +1 -1
- package/dist/esm/resources/CharacterResource.js +98 -13
- package/dist/esm/resources/CharacterResource.js.map +1 -1
- package/dist/esm/resources/DatacardResource.js +30 -9
- package/dist/esm/resources/DatacardResource.js.map +1 -1
- package/dist/esm/resources/EventsResource.js +28 -5
- package/dist/esm/resources/EventsResource.js.map +1 -1
- package/dist/esm/resources/FactionResource.js +54 -12
- package/dist/esm/resources/FactionResource.js.map +1 -1
- package/dist/esm/resources/GalaxyResource.js +18 -7
- package/dist/esm/resources/GalaxyResource.js.map +1 -1
- package/dist/esm/resources/InventoryResource.js +44 -6
- package/dist/esm/resources/InventoryResource.js.map +1 -1
- package/dist/esm/resources/MarketResource.js +3 -1
- package/dist/esm/resources/MarketResource.js.map +1 -1
- package/dist/esm/resources/NewsResource.js +6 -2
- package/dist/esm/resources/NewsResource.js.map +1 -1
- package/dist/esm/resources/TypesResource.js +39 -7
- package/dist/esm/resources/TypesResource.js.map +1 -1
- package/dist/types/http/HttpClient.d.ts.map +1 -1
- package/dist/types/resources/ApiResource.d.ts +39 -1
- package/dist/types/resources/ApiResource.d.ts.map +1 -1
- package/dist/types/resources/CharacterResource.d.ts +63 -4
- package/dist/types/resources/CharacterResource.d.ts.map +1 -1
- package/dist/types/resources/DatacardResource.d.ts +13 -5
- package/dist/types/resources/DatacardResource.d.ts.map +1 -1
- package/dist/types/resources/EventsResource.d.ts +21 -5
- package/dist/types/resources/EventsResource.d.ts.map +1 -1
- package/dist/types/resources/FactionResource.d.ts +33 -5
- package/dist/types/resources/FactionResource.d.ts.map +1 -1
- package/dist/types/resources/GalaxyResource.d.ts +3 -2
- package/dist/types/resources/GalaxyResource.d.ts.map +1 -1
- package/dist/types/resources/InventoryResource.d.ts +31 -3
- package/dist/types/resources/InventoryResource.d.ts.map +1 -1
- package/dist/types/resources/MarketResource.d.ts.map +1 -1
- package/dist/types/resources/NewsResource.d.ts.map +1 -1
- package/dist/types/resources/TypesResource.d.ts +9 -4
- package/dist/types/resources/TypesResource.d.ts.map +1 -1
- package/dist/types/types/index.d.ts +23 -5
- package/dist/types/types/index.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -41,9 +41,12 @@ class HttpClient {
|
|
|
41
41
|
try {
|
|
42
42
|
const token = await this.tokenManager.getAccessToken();
|
|
43
43
|
if (token) {
|
|
44
|
-
//
|
|
45
|
-
//
|
|
46
|
-
//
|
|
44
|
+
// SW Combine API supports two methods for sending access tokens:
|
|
45
|
+
// 1. Authorization header: "Authorization: OAuth TOKEN"
|
|
46
|
+
// 2. Query parameter: "?access_token=TOKEN"
|
|
47
|
+
//
|
|
48
|
+
// This SDK uses query parameters as the primary method based on empirical testing
|
|
49
|
+
// and project documentation (see CLAUDE.md). Both methods are valid per official docs.
|
|
47
50
|
config.params = config.params || {};
|
|
48
51
|
config.params.access_token = token;
|
|
49
52
|
if (this.debug) {
|
|
@@ -77,6 +80,19 @@ class HttpClient {
|
|
|
77
80
|
*/
|
|
78
81
|
setupResponseInterceptor() {
|
|
79
82
|
this.axios.interceptors.response.use((response) => {
|
|
83
|
+
// Log rate limit headers if available
|
|
84
|
+
if (response.headers && this.debug) {
|
|
85
|
+
const rateLimitInfo = {
|
|
86
|
+
limit: response.headers['x-ratelimit-limit'],
|
|
87
|
+
remaining: response.headers['x-ratelimit-remaining'],
|
|
88
|
+
reset: response.headers['x-ratelimit-reset'],
|
|
89
|
+
resetTime: response.headers['x-ratelimit-resettime'],
|
|
90
|
+
};
|
|
91
|
+
if (rateLimitInfo.limit) {
|
|
92
|
+
console.log(`[SWC SDK] Rate Limit: ${rateLimitInfo.remaining}/${rateLimitInfo.limit} remaining` +
|
|
93
|
+
` (resets at ${rateLimitInfo.resetTime || new Date(parseInt(rateLimitInfo.reset) * 1000).toISOString()})`);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
80
96
|
// Extract data from swcapi wrapper if present
|
|
81
97
|
if (response.data && typeof response.data === 'object' && 'swcapi' in response.data) {
|
|
82
98
|
const swcapiData = response.data.swcapi;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HttpClient.js","sourceRoot":"","sources":["../../../src/http/HttpClient.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;AAEH,kDAKe;AACf,2CAAuC;AAWvC;;GAEG;AACH,MAAa,UAAU;IAOrB,YAAY,OAA0B,EAAE,YAA2B;QACjE,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,CAAC,CAAC;QAC1C,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC;QAC7C,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC;QAEpC,wBAAwB;QACxB,IAAI,CAAC,KAAK,GAAG,eAAK,CAAC,MAAM,CAAC;YACxB,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,oCAAoC;YAChE,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,KAAK;YACjC,OAAO,EAAE;gBACP,QAAQ,EAAE,kBAAkB;gBAC5B,cAAc,EAAE,mCAAmC;aACpD;SACF,CAAC,CAAC;QAEH,sBAAsB;QACtB,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAC/B,IAAI,CAAC,wBAAwB,EAAE,CAAC;IAClC,CAAC;IAED;;OAEG;IACK,uBAAuB;QAC7B,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CACjC,KAAK,EAAE,MAAkC,EAAE,EAAE;YAC3C,gCAAgC;YAChC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACtB,IAAI,CAAC;oBACH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,CAAC;oBACvD,IAAI,KAAK,EAAE,CAAC;wBACV
|
|
1
|
+
{"version":3,"file":"HttpClient.js","sourceRoot":"","sources":["../../../src/http/HttpClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,34 +9,78 @@ const BaseResource_js_1 = require("./BaseResource.js");
|
|
|
9
9
|
* API resource for utility endpoints
|
|
10
10
|
*/
|
|
11
11
|
class ApiResource extends BaseResource_js_1.BaseResource {
|
|
12
|
+
/**
|
|
13
|
+
* Get list of available API resources
|
|
14
|
+
* @returns List of available API resources
|
|
15
|
+
* @example
|
|
16
|
+
* const resources = await client.api.getResources();
|
|
17
|
+
*/
|
|
18
|
+
async getResources() {
|
|
19
|
+
return this.request('GET', '/');
|
|
20
|
+
}
|
|
12
21
|
/**
|
|
13
22
|
* Print a HelloWorld message
|
|
23
|
+
* @requires_auth No
|
|
24
|
+
* @example
|
|
25
|
+
* const response = await client.api.helloWorld();
|
|
14
26
|
*/
|
|
15
27
|
async helloWorld() {
|
|
16
28
|
return this.request('GET', '/api/helloworld');
|
|
17
29
|
}
|
|
18
30
|
/**
|
|
19
31
|
* Print a HelloWorld message for authorized clients
|
|
32
|
+
* @requires_auth Yes
|
|
33
|
+
* @requires_scope Any valid scope (used for testing authentication)
|
|
34
|
+
* @example
|
|
35
|
+
* const response = await client.api.helloAuth();
|
|
20
36
|
*/
|
|
21
37
|
async helloAuth() {
|
|
22
38
|
return this.request('GET', '/api/helloauth');
|
|
23
39
|
}
|
|
24
40
|
/**
|
|
25
41
|
* Get list of available web services permissions
|
|
42
|
+
* @requires_auth No
|
|
43
|
+
* @example
|
|
44
|
+
* const permissions = await client.api.permissions();
|
|
26
45
|
*/
|
|
27
46
|
async permissions() {
|
|
28
47
|
return this.request('GET', '/api/permissions');
|
|
29
48
|
}
|
|
30
49
|
/**
|
|
31
50
|
* Get current rate limit status
|
|
51
|
+
* @requires_auth No (shows public IP rate limits)
|
|
52
|
+
* @example
|
|
53
|
+
* const rateLimits = await client.api.rateLimits();
|
|
32
54
|
*/
|
|
33
55
|
async rateLimits() {
|
|
34
56
|
return this.request('GET', '/api/ratelimits');
|
|
35
57
|
}
|
|
36
58
|
/**
|
|
37
59
|
* Get current time or convert times
|
|
60
|
+
* @param options - Optional conversion parameters
|
|
61
|
+
* @param options.cgt - CGT format time to convert
|
|
62
|
+
* @param options.time - Unix timestamp to convert
|
|
63
|
+
* @example
|
|
64
|
+
* // Get current time
|
|
65
|
+
* const current = await client.api.time();
|
|
66
|
+
* // Convert CGT to unix
|
|
67
|
+
* const converted = await client.api.time({ cgt: '2023-12-01 12:00:00' });
|
|
68
|
+
* // Convert unix to CGT
|
|
69
|
+
* const converted = await client.api.time({ time: 1701432000 });
|
|
38
70
|
*/
|
|
39
|
-
async time() {
|
|
71
|
+
async time(options) {
|
|
72
|
+
if (options && (options.cgt || options.time !== undefined)) {
|
|
73
|
+
// Use POST for conversions
|
|
74
|
+
const data = {};
|
|
75
|
+
if (options.cgt) {
|
|
76
|
+
data.cgt = options.cgt;
|
|
77
|
+
}
|
|
78
|
+
if (options.time !== undefined) {
|
|
79
|
+
data.time = options.time;
|
|
80
|
+
}
|
|
81
|
+
return this.request('POST', '/api/time', data);
|
|
82
|
+
}
|
|
83
|
+
// Use GET for current time
|
|
40
84
|
return this.request('GET', '/api/time');
|
|
41
85
|
}
|
|
42
86
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ApiResource.js","sourceRoot":"","sources":["../../../src/resources/ApiResource.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,uDAAiD;
|
|
1
|
+
{"version":3,"file":"ApiResource.js","sourceRoot":"","sources":["../../../src/resources/ApiResource.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,uDAAiD;AAuCjD;;GAEG;AACH,MAAa,WAAY,SAAQ,8BAAY;IAC3C;;;;;OAKG;IACH,KAAK,CAAC,YAAY;QAChB,OAAO,IAAI,CAAC,OAAO,CAAiB,KAAK,EAAE,GAAG,CAAC,CAAC;IAClD,CAAC;IACD;;;;;OAKG;IACH,KAAK,CAAC,UAAU;QACd,OAAO,IAAI,CAAC,OAAO,CAAqB,KAAK,EAAE,iBAAiB,CAAC,CAAC;IACpE,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,SAAS;QACb,OAAO,IAAI,CAAC,OAAO,CAAoB,KAAK,EAAE,gBAAgB,CAAC,CAAC;IAClE,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,WAAW;QACf,OAAO,IAAI,CAAC,OAAO,CAAe,KAAK,EAAE,kBAAkB,CAAC,CAAC;IAC/D,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,UAAU;QACd,OAAO,IAAI,CAAC,OAAO,CAAgB,KAAK,EAAE,iBAAiB,CAAC,CAAC;IAC/D,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,IAAI,CAAC,OAAyC;QAClD,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,EAAE,CAAC;YAC3D,2BAA2B;YAC3B,MAAM,IAAI,GAAQ,EAAE,CAAC;YACrB,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;gBAChB,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;YACzB,CAAC;YACD,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC/B,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;YAC3B,CAAC;YACD,OAAO,IAAI,CAAC,OAAO,CAAe,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;QAC/D,CAAC;QACD,2BAA2B;QAC3B,OAAO,IAAI,CAAC,OAAO,CAAe,KAAK,EAAE,WAAW,CAAC,CAAC;IACxD,CAAC;CACF;AA/ED,kCA+EC"}
|
|
@@ -11,6 +11,8 @@ const BaseResource_js_1 = require("./BaseResource.js");
|
|
|
11
11
|
class CharacterMessagesResource extends BaseResource_js_1.BaseResource {
|
|
12
12
|
/**
|
|
13
13
|
* List messages sent or received by character (paginated)
|
|
14
|
+
* @requires_auth Yes
|
|
15
|
+
* @requires_scope MESSAGES_READ
|
|
14
16
|
* @param options - Character UID, message mode, and optional pagination parameters
|
|
15
17
|
* @example
|
|
16
18
|
* const messages = await client.character.messages.list({ uid: '1:12345', mode: 'received' });
|
|
@@ -21,7 +23,9 @@ class CharacterMessagesResource extends BaseResource_js_1.BaseResource {
|
|
|
21
23
|
start_index: options.start_index || 1,
|
|
22
24
|
item_count: options.item_count || 50,
|
|
23
25
|
};
|
|
24
|
-
|
|
26
|
+
const response = await this.http.get(`/character/${options.uid}/messages/${options.mode}`, { params });
|
|
27
|
+
// API returns { attributes: {...}, message: [...] }, extract just the array
|
|
28
|
+
return response.message || [];
|
|
25
29
|
}
|
|
26
30
|
/**
|
|
27
31
|
* Get a specific message
|
|
@@ -37,12 +41,22 @@ class CharacterMessagesResource extends BaseResource_js_1.BaseResource {
|
|
|
37
41
|
}
|
|
38
42
|
/**
|
|
39
43
|
* Send a message
|
|
44
|
+
* @requires_auth Yes
|
|
45
|
+
* @requires_scope MESSAGES_SEND
|
|
46
|
+
* @param options.uid - Character UID sending the message
|
|
47
|
+
* @param options.receivers - Semicolon-separated list of recipient names/UIDs (max 25)
|
|
48
|
+
* @param options.communication - Message text content
|
|
49
|
+
* @example
|
|
50
|
+
* await client.character.messages.create({
|
|
51
|
+
* uid: '1:12345',
|
|
52
|
+
* receivers: 'recipient1;recipient2',
|
|
53
|
+
* communication: 'Hello from the SDK!'
|
|
54
|
+
* });
|
|
40
55
|
*/
|
|
41
56
|
async create(options) {
|
|
42
57
|
return this.request('PUT', `/character/${options.uid}/messages/sent`, {
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
body: options.body,
|
|
58
|
+
receivers: options.receivers,
|
|
59
|
+
communication: options.communication,
|
|
46
60
|
});
|
|
47
61
|
}
|
|
48
62
|
}
|
|
@@ -70,16 +84,39 @@ class CharacterPrivilegesResource extends BaseResource_js_1.BaseResource {
|
|
|
70
84
|
return this.request('GET', `/character/${options.uid}/privileges`);
|
|
71
85
|
}
|
|
72
86
|
/**
|
|
73
|
-
* Get
|
|
87
|
+
* Get a specific privilege
|
|
88
|
+
* @param options.uid - Character UID
|
|
89
|
+
* @param options.privilegeGroup - Privilege group name
|
|
90
|
+
* @param options.privilege - Privilege name
|
|
91
|
+
* @param options.faction_id - Optional faction ID to view privileges for (defaults to token owner's primary faction)
|
|
74
92
|
*/
|
|
75
93
|
async get(options) {
|
|
76
|
-
|
|
94
|
+
const params = {};
|
|
95
|
+
if (options.faction_id !== undefined) {
|
|
96
|
+
params.faction_id = options.faction_id;
|
|
97
|
+
}
|
|
98
|
+
return this.http.get(`/character/${options.uid}/privileges/${options.privilegeGroup}/${options.privilege}`, { params });
|
|
77
99
|
}
|
|
78
100
|
/**
|
|
79
|
-
* Update a specific privilege
|
|
101
|
+
* Update a specific privilege (grant or revoke)
|
|
102
|
+
* @param options.uid - Character UID
|
|
103
|
+
* @param options.privilegeGroup - Privilege group name
|
|
104
|
+
* @param options.privilege - Privilege name
|
|
105
|
+
* @param options.revoke - Set to true to revoke the privilege, false/undefined to grant it
|
|
106
|
+
* @param options.faction_id - Optional faction ID to view privileges for (defaults to token owner's primary faction)
|
|
80
107
|
*/
|
|
81
108
|
async update(options) {
|
|
82
|
-
|
|
109
|
+
const data = {};
|
|
110
|
+
if (options.revoke) {
|
|
111
|
+
// Any non-empty string revokes the privilege
|
|
112
|
+
data.revoke = 'true';
|
|
113
|
+
}
|
|
114
|
+
// If revoke is not set or false, the privilege is granted (no parameter needed)
|
|
115
|
+
const params = {};
|
|
116
|
+
if (options.faction_id !== undefined) {
|
|
117
|
+
params.faction_id = options.faction_id;
|
|
118
|
+
}
|
|
119
|
+
return this.http.post(`/character/${options.uid}/privileges/${options.privilegeGroup}/${options.privilege}`, data, { params });
|
|
83
120
|
}
|
|
84
121
|
}
|
|
85
122
|
exports.CharacterPrivilegesResource = CharacterPrivilegesResource;
|
|
@@ -95,12 +132,22 @@ class CharacterCreditsResource extends BaseResource_js_1.BaseResource {
|
|
|
95
132
|
}
|
|
96
133
|
/**
|
|
97
134
|
* Update character's credits (transfer)
|
|
135
|
+
* @param options.uid - Character UID
|
|
136
|
+
* @param options.amount - Amount to transfer
|
|
137
|
+
* @param options.recipient - Recipient character or faction UID (optional)
|
|
138
|
+
* @param options.reason - Reason for transfer (optional, API will auto-append client name)
|
|
98
139
|
*/
|
|
99
140
|
async update(options) {
|
|
100
|
-
|
|
141
|
+
const data = {
|
|
101
142
|
amount: options.amount,
|
|
102
|
-
|
|
103
|
-
|
|
143
|
+
};
|
|
144
|
+
if (options.recipient) {
|
|
145
|
+
data.recipient = options.recipient;
|
|
146
|
+
}
|
|
147
|
+
if (options.reason) {
|
|
148
|
+
data.reason = options.reason;
|
|
149
|
+
}
|
|
150
|
+
return this.request('POST', `/character/${options.uid}/credits`, data);
|
|
104
151
|
}
|
|
105
152
|
}
|
|
106
153
|
exports.CharacterCreditsResource = CharacterCreditsResource;
|
|
@@ -110,11 +157,18 @@ exports.CharacterCreditsResource = CharacterCreditsResource;
|
|
|
110
157
|
class CharacterCreditlogResource extends BaseResource_js_1.BaseResource {
|
|
111
158
|
/**
|
|
112
159
|
* Get character's credit log (paginated)
|
|
160
|
+
*
|
|
113
161
|
* @param options - Character UID and optional pagination/filtering parameters
|
|
162
|
+
* @param options.uid - Character UID
|
|
163
|
+
* @param options.start_index - Starting position (1-based). Default: 1
|
|
164
|
+
* @param options.item_count - Number of items to retrieve. Default: 50, Max: 1000
|
|
165
|
+
* @param options.start_id - Oldest transaction ID threshold (1 = oldest 1000, 0/default = newest 1000)
|
|
114
166
|
* @example
|
|
115
167
|
* const creditlog = await client.character.creditlog.list({ uid: '1:12345' });
|
|
116
168
|
* const moreLogs = await client.character.creditlog.list({ uid: '1:12345', start_index: 51, item_count: 100 });
|
|
117
169
|
* const oldestLogs = await client.character.creditlog.list({ uid: '1:12345', start_id: 1 });
|
|
170
|
+
* // Fetch up to 1000 credit log entries at once
|
|
171
|
+
* const manyLogs = await client.character.creditlog.list({ uid: '1:12345', item_count: 1000 });
|
|
118
172
|
*/
|
|
119
173
|
async list(options) {
|
|
120
174
|
const params = {
|
|
@@ -124,7 +178,9 @@ class CharacterCreditlogResource extends BaseResource_js_1.BaseResource {
|
|
|
124
178
|
if (options.start_id !== undefined) {
|
|
125
179
|
params.start_id = options.start_id;
|
|
126
180
|
}
|
|
127
|
-
|
|
181
|
+
const response = await this.http.get(`/character/${options.uid}/creditlog`, { params });
|
|
182
|
+
// API returns { attributes: {...}, creditlog: [...] }, extract just the array
|
|
183
|
+
return response.creditlog || [];
|
|
128
184
|
}
|
|
129
185
|
}
|
|
130
186
|
exports.CharacterCreditlogResource = CharacterCreditlogResource;
|
|
@@ -155,14 +211,22 @@ class CharacterResource extends BaseResource_js_1.BaseResource {
|
|
|
155
211
|
}
|
|
156
212
|
/**
|
|
157
213
|
* Get the currently authenticated user's character
|
|
158
|
-
*
|
|
214
|
+
* @requires_auth Yes
|
|
215
|
+
* @requires_scope CHARACTER_READ
|
|
159
216
|
* @returns The authenticated character's full profile
|
|
217
|
+
* @example
|
|
218
|
+
* const myCharacter = await client.character.me();
|
|
160
219
|
*/
|
|
161
220
|
async me() {
|
|
162
221
|
return this.request('GET', '/character/');
|
|
163
222
|
}
|
|
164
223
|
/**
|
|
165
224
|
* Get character by UID
|
|
225
|
+
* @requires_auth Yes
|
|
226
|
+
* @requires_scope CHARACTER_READ
|
|
227
|
+
* @param options - Character UID
|
|
228
|
+
* @example
|
|
229
|
+
* const character = await client.character.get({ uid: '1:12345' });
|
|
166
230
|
*/
|
|
167
231
|
async get(options) {
|
|
168
232
|
return this.request('GET', `/character/${options.uid}`);
|
|
@@ -173,6 +237,27 @@ class CharacterResource extends BaseResource_js_1.BaseResource {
|
|
|
173
237
|
async getByHandle(options) {
|
|
174
238
|
return this.request('GET', `/character/handlecheck/${options.handle}`);
|
|
175
239
|
}
|
|
240
|
+
/**
|
|
241
|
+
* Check if the API client has a specific permission for this character
|
|
242
|
+
* @param options.uid - Character UID
|
|
243
|
+
* @param options.permission - Permission scope to check (e.g., 'CHARACTER_READ', 'MESSAGES_SEND')
|
|
244
|
+
* @returns True if the permission is granted, false otherwise
|
|
245
|
+
* @example
|
|
246
|
+
* const canRead = await client.character.hasPermission({ uid: '1:12345', permission: 'CHARACTER_READ' });
|
|
247
|
+
* if (canRead) {
|
|
248
|
+
* const character = await client.character.get({ uid: '1:12345' });
|
|
249
|
+
* }
|
|
250
|
+
*/
|
|
251
|
+
async hasPermission(options) {
|
|
252
|
+
try {
|
|
253
|
+
const permissions = await this.permissions.list({ uid: options.uid });
|
|
254
|
+
return permissions.includes(options.permission);
|
|
255
|
+
}
|
|
256
|
+
catch (error) {
|
|
257
|
+
// If we can't fetch permissions, assume we don't have access
|
|
258
|
+
return false;
|
|
259
|
+
}
|
|
260
|
+
}
|
|
176
261
|
}
|
|
177
262
|
exports.CharacterResource = CharacterResource;
|
|
178
263
|
//# sourceMappingURL=CharacterResource.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CharacterResource.js","sourceRoot":"","sources":["../../../src/resources/CharacterResource.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAGH,uDAAiD;AAqCjD;;GAEG;AACH,MAAa,yBAA0B,SAAQ,8BAAY;IACzD
|
|
1
|
+
{"version":3,"file":"CharacterResource.js","sourceRoot":"","sources":["../../../src/resources/CharacterResource.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,7 +13,14 @@ class DatacardResource extends BaseResource_js_1.BaseResource {
|
|
|
13
13
|
* List datacards owned by faction
|
|
14
14
|
*/
|
|
15
15
|
async list(options) {
|
|
16
|
-
|
|
16
|
+
const response = await this.http.get(`/datacards/${options.factionId}`);
|
|
17
|
+
// API returns { attributes: {...}, datacard: [...] }, extract just the array
|
|
18
|
+
for (const key of Object.keys(response)) {
|
|
19
|
+
if (key !== 'attributes' && Array.isArray(response[key])) {
|
|
20
|
+
return response[key];
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
return [];
|
|
17
24
|
}
|
|
18
25
|
/**
|
|
19
26
|
* Get specific datacard
|
|
@@ -22,20 +29,34 @@ class DatacardResource extends BaseResource_js_1.BaseResource {
|
|
|
22
29
|
return this.request('GET', `/datacard/${options.uid}`);
|
|
23
30
|
}
|
|
24
31
|
/**
|
|
25
|
-
* Create datacard
|
|
32
|
+
* Create/assign datacard to production entity
|
|
33
|
+
* @param options.uid - Datacard UID
|
|
34
|
+
* @param options.production_entity_uid - The entity UID to assign this datacard to
|
|
35
|
+
* @param options.uses - Number of uses (optional, use this OR unlimited)
|
|
36
|
+
* @param options.unlimited - Set to true for unlimited uses (optional, use this OR uses)
|
|
26
37
|
*/
|
|
27
38
|
async create(options) {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
39
|
+
const data = {
|
|
40
|
+
production_entity_uid: options.production_entity_uid,
|
|
41
|
+
};
|
|
42
|
+
if (options.unlimited) {
|
|
43
|
+
data.unlimited = 1;
|
|
44
|
+
}
|
|
45
|
+
else if (options.uses !== undefined) {
|
|
46
|
+
data.uses = options.uses;
|
|
47
|
+
}
|
|
48
|
+
return this.request('POST', `/datacard/${options.uid}`, data);
|
|
33
49
|
}
|
|
34
50
|
/**
|
|
35
|
-
* Delete datacard
|
|
51
|
+
* Delete datacard assignment
|
|
52
|
+
* @param options.uid - Datacard UID
|
|
53
|
+
* @param options.production_entity_uid - Production entity UID to revoke from (required)
|
|
36
54
|
*/
|
|
37
55
|
async delete(options) {
|
|
38
|
-
|
|
56
|
+
const params = {
|
|
57
|
+
production_entity_uid: options.production_entity_uid,
|
|
58
|
+
};
|
|
59
|
+
return this.http.delete(`/datacard/${options.uid}`, { params });
|
|
39
60
|
}
|
|
40
61
|
}
|
|
41
62
|
exports.DatacardResource = DatacardResource;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatacardResource.js","sourceRoot":"","sources":["../../../src/resources/DatacardResource.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,uDAAiD;AASjD;;GAEG;AACH,MAAa,gBAAiB,SAAQ,8BAAY;IAChD;;OAEG;IACH,KAAK,CAAC,IAAI,CAAC,OAA8B;QACvC,
|
|
1
|
+
{"version":3,"file":"DatacardResource.js","sourceRoot":"","sources":["../../../src/resources/DatacardResource.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,uDAAiD;AASjD;;GAEG;AACH,MAAa,gBAAiB,SAAQ,8BAAY;IAChD;;OAEG;IACH,KAAK,CAAC,IAAI,CAAC,OAA8B;QACvC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAA0B,cAAc,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;QACjG,6EAA6E;QAC7E,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YACxC,IAAI,GAAG,KAAK,YAAY,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBACzD,OAAO,QAAQ,CAAC,GAAG,CAAe,CAAC;YACrC,CAAC;QACH,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,GAAG,CAAC,OAAwB;QAChC,OAAO,IAAI,CAAC,OAAO,CAAW,KAAK,EAAE,aAAa,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACnE,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,MAAM,CAAC,OAKZ;QACC,MAAM,IAAI,GAAQ;YAChB,qBAAqB,EAAE,OAAO,CAAC,qBAAqB;SACrD,CAAC;QAEF,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACtB,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;QACrB,CAAC;aAAM,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACtC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QAC3B,CAAC;QAED,OAAO,IAAI,CAAC,OAAO,CAAW,MAAM,EAAE,aAAa,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC;IAC1E,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,MAAM,CAAC,OAAuD;QAClE,MAAM,MAAM,GAAG;YACb,qBAAqB,EAAE,OAAO,CAAC,qBAAqB;SACrD,CAAC;QACF,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAO,aAAa,OAAO,CAAC,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IACxE,CAAC;CACF;AA3DD,4CA2DC"}
|
|
@@ -11,12 +11,23 @@ const BaseResource_js_1 = require("./BaseResource.js");
|
|
|
11
11
|
class EventsResource extends BaseResource_js_1.BaseResource {
|
|
12
12
|
/**
|
|
13
13
|
* List events by type and mode (paginated)
|
|
14
|
+
*
|
|
15
|
+
* **Note:** This endpoint uses 0-based indexing (unlike most other endpoints which use 1-based).
|
|
16
|
+
*
|
|
14
17
|
* @param options - Event mode, event type, and optional pagination/filtering parameters
|
|
18
|
+
* @param options.eventMode - Event mode: 'personal', 'faction', 'inventory', or 'combat'
|
|
19
|
+
* @param options.eventType - Event type filter (optional, only for personal/faction modes)
|
|
20
|
+
* @param options.start_index - Starting position (0-based). Default: 0
|
|
21
|
+
* @param options.item_count - Number of items to retrieve. Default: 50, Max: 1000
|
|
22
|
+
* @param options.start_time - Unix timestamp to filter events after this time
|
|
23
|
+
* @param options.faction_id - Faction ID for faction mode (defaults to authenticated user's primary faction)
|
|
15
24
|
* @example
|
|
16
|
-
* const events = await client.events.list({ eventMode: 'personal'
|
|
17
|
-
* const moreEvents = await client.events.list({ eventMode: 'personal',
|
|
18
|
-
* const recentEvents = await client.events.list({ eventMode: 'personal',
|
|
19
|
-
* const factionEvents = await client.events.list({ eventMode: 'faction',
|
|
25
|
+
* const events = await client.events.list({ eventMode: 'personal' });
|
|
26
|
+
* const moreEvents = await client.events.list({ eventMode: 'personal', start_index: 50, item_count: 100 });
|
|
27
|
+
* const recentEvents = await client.events.list({ eventMode: 'personal', start_time: 1640000000 });
|
|
28
|
+
* const factionEvents = await client.events.list({ eventMode: 'faction', faction_id: '20:123' });
|
|
29
|
+
* // Fetch up to 1000 events at once
|
|
30
|
+
* const manyEvents = await client.events.list({ eventMode: 'personal', item_count: 1000 });
|
|
20
31
|
*/
|
|
21
32
|
async list(options) {
|
|
22
33
|
const params = {
|
|
@@ -29,7 +40,19 @@ class EventsResource extends BaseResource_js_1.BaseResource {
|
|
|
29
40
|
if (options.faction_id) {
|
|
30
41
|
params.faction_id = options.faction_id;
|
|
31
42
|
}
|
|
32
|
-
|
|
43
|
+
// Build path - eventType is optional
|
|
44
|
+
const path = options.eventType
|
|
45
|
+
? `/events/${options.eventMode}/${options.eventType}`
|
|
46
|
+
: `/events/${options.eventMode}`;
|
|
47
|
+
const response = await this.http.get(path, { params });
|
|
48
|
+
// API returns { attributes: {...}, event: [...] }, extract just the array
|
|
49
|
+
// Key name may vary, so find the array
|
|
50
|
+
for (const key of Object.keys(response)) {
|
|
51
|
+
if (key !== 'attributes' && Array.isArray(response[key])) {
|
|
52
|
+
return response[key];
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
return [];
|
|
33
56
|
}
|
|
34
57
|
/**
|
|
35
58
|
* Get specific event
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EventsResource.js","sourceRoot":"","sources":["../../../src/resources/EventsResource.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,uDAAiD;AAGjD;;GAEG;AACH,MAAa,cAAe,SAAQ,8BAAY;IAC9C
|
|
1
|
+
{"version":3,"file":"EventsResource.js","sourceRoot":"","sources":["../../../src/resources/EventsResource.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,uDAAiD;AAGjD;;GAEG;AACH,MAAa,cAAe,SAAQ,8BAAY;IAC9C;;;;;;;;;;;;;;;;;;;OAmBG;IACH,KAAK,CAAC,IAAI,CAAC,OAYV;QACC,MAAM,MAAM,GAAgB;YAC1B,WAAW,EAAE,OAAO,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,oBAAoB;YAC9F,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,EAAE;SACrC,CAAC;QAEF,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YACrC,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACzC,CAAC;QACD,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YACvB,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACzC,CAAC;QAED,qCAAqC;QACrC,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS;YAC5B,CAAC,CAAC,WAAW,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,SAAS,EAAE;YACrD,CAAC,CAAC,WAAW,OAAO,CAAC,SAAS,EAAE,CAAC;QAEnC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAA0B,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;QAChF,0EAA0E;QAC1E,uCAAuC;QACvC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YACxC,IAAI,GAAG,KAAK,YAAY,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBACzD,OAAO,QAAQ,CAAC,GAAG,CAAY,CAAC;YAClC,CAAC;QACH,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,GAAG,CAAC,OAAwB;QAChC,OAAO,IAAI,CAAC,OAAO,CAAQ,KAAK,EAAE,UAAU,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC7D,CAAC;CACF;AApED,wCAoEC"}
|