swcombine-sdk 2.0.1 → 2.2.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 +39 -1
- package/dist/cjs/resources/CharacterResource.js +62 -4
- package/dist/cjs/resources/CharacterResource.js.map +1 -1
- package/dist/cjs/resources/NewsResource.js +171 -8
- package/dist/cjs/resources/NewsResource.js.map +1 -1
- package/dist/cjs/resources/TypesResource.js +26 -2
- package/dist/cjs/resources/TypesResource.js.map +1 -1
- package/dist/esm/resources/CharacterResource.js +62 -4
- package/dist/esm/resources/CharacterResource.js.map +1 -1
- package/dist/esm/resources/NewsResource.js +171 -8
- package/dist/esm/resources/NewsResource.js.map +1 -1
- package/dist/esm/resources/TypesResource.js +26 -2
- package/dist/esm/resources/TypesResource.js.map +1 -1
- package/dist/types/resources/CharacterResource.d.ts +38 -4
- package/dist/types/resources/CharacterResource.d.ts.map +1 -1
- package/dist/types/resources/NewsResource.d.ts +27 -5
- package/dist/types/resources/NewsResource.d.ts.map +1 -1
- package/dist/types/resources/TypesResource.d.ts +26 -2
- package/dist/types/resources/TypesResource.d.ts.map +1 -1
- package/dist/types/types/index.d.ts +166 -12
- package/dist/types/types/index.d.ts.map +1 -1
- package/package.json +3 -2
package/README.md
CHANGED
|
@@ -94,6 +94,24 @@ const messages = await authenticatedClient.character.messages.list({
|
|
|
94
94
|
mode: 'received',
|
|
95
95
|
});
|
|
96
96
|
|
|
97
|
+
// List returns metadata items (MessageListItem[])
|
|
98
|
+
const firstMessageId = messages[0]?.attributes.uid;
|
|
99
|
+
if (firstMessageId) {
|
|
100
|
+
const fullMessage = await authenticatedClient.character.messages.get({
|
|
101
|
+
uid: '1:12345',
|
|
102
|
+
messageId: firstMessageId,
|
|
103
|
+
});
|
|
104
|
+
console.log(fullMessage.communication);
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
// Send a message
|
|
108
|
+
// IMPORTANT: use receiver handle(s), not UID(s), for `receivers`
|
|
109
|
+
await authenticatedClient.character.messages.create({
|
|
110
|
+
uid: '1:12345',
|
|
111
|
+
receivers: 'recipient_handle',
|
|
112
|
+
communication: 'Test message',
|
|
113
|
+
});
|
|
114
|
+
|
|
97
115
|
// Get faction information
|
|
98
116
|
const faction = await authenticatedClient.faction.get({
|
|
99
117
|
uid: '20:123',
|
|
@@ -254,16 +272,36 @@ try {
|
|
|
254
272
|
Full TypeScript support with intelligent type inference:
|
|
255
273
|
|
|
256
274
|
```typescript
|
|
275
|
+
import { Message, MessageListItem } from 'swcombine-sdk';
|
|
276
|
+
|
|
257
277
|
// Types are automatically inferred
|
|
258
278
|
const character = await client.character.get({ uid: '1:12345' });
|
|
259
279
|
// character: Character
|
|
260
280
|
|
|
261
281
|
// Request parameters are typed
|
|
262
|
-
await client.character.messages.list({
|
|
282
|
+
const listedMessages = await client.character.messages.list({
|
|
263
283
|
uid: '1:12345',
|
|
264
284
|
mode: 'received', // Optional - TypeScript knows valid values: 'sent' | 'received'
|
|
265
285
|
// mode: 'invalid', // TypeScript error
|
|
266
286
|
});
|
|
287
|
+
|
|
288
|
+
const messageListItem: MessageListItem | undefined = listedMessages[0];
|
|
289
|
+
const messageId = messageListItem?.attributes.uid;
|
|
290
|
+
|
|
291
|
+
if (messageId) {
|
|
292
|
+
const messageDetail: Message = await client.character.messages.get({
|
|
293
|
+
uid: '1:12345',
|
|
294
|
+
messageId,
|
|
295
|
+
});
|
|
296
|
+
console.log(messageDetail.communication);
|
|
297
|
+
}
|
|
298
|
+
|
|
299
|
+
// Send message: receivers must be handle(s), not UID(s)
|
|
300
|
+
await client.character.messages.create({
|
|
301
|
+
uid: '1:12345',
|
|
302
|
+
receivers: 'recipient_handle_1;recipient_handle_2',
|
|
303
|
+
communication: 'Hello there',
|
|
304
|
+
});
|
|
267
305
|
```
|
|
268
306
|
|
|
269
307
|
## Configuration Options
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.CharacterResource = exports.CharacterPermissionsResource = exports.CharacterCreditlogResource = exports.CharacterCreditsResource = exports.CharacterPrivilegesResource = exports.CharacterSkillsResource = exports.CharacterMessagesResource = void 0;
|
|
7
|
+
const errors_js_1 = require("../http/errors.js");
|
|
7
8
|
const BaseResource_js_1 = require("./BaseResource.js");
|
|
8
9
|
// Note: Privilege interface moved to CharacterPrivilegesResource section with correct structure
|
|
9
10
|
// Note: Character credits endpoint returns a plain number, not an object
|
|
@@ -13,8 +14,35 @@ const BaseResource_js_1 = require("./BaseResource.js");
|
|
|
13
14
|
* @see https://www.swcombine.com/ws/v2.0/documentation/character/uid/messages/mode/ SW Combine API Documentation
|
|
14
15
|
*/
|
|
15
16
|
class CharacterMessagesResource extends BaseResource_js_1.BaseResource {
|
|
17
|
+
normalizeAndValidateReceivers(receivers) {
|
|
18
|
+
const receiverHandles = receivers
|
|
19
|
+
.split(';')
|
|
20
|
+
.map((receiver) => receiver.trim())
|
|
21
|
+
.filter((receiver) => receiver.length > 0);
|
|
22
|
+
if (receiverHandles.length === 0) {
|
|
23
|
+
throw new errors_js_1.SWCError('Invalid messages.create receivers: provide at least one receiver handle.', {
|
|
24
|
+
type: 'validation',
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
if (receiverHandles.length > 25) {
|
|
28
|
+
throw new errors_js_1.SWCError('Invalid messages.create receivers: maximum 25 receiver handles are allowed.', {
|
|
29
|
+
type: 'validation',
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
const uidLikeReceiver = receiverHandles.find((receiver) => /^\d+:\d+$/.test(receiver));
|
|
33
|
+
if (uidLikeReceiver) {
|
|
34
|
+
throw new errors_js_1.SWCError(`Invalid messages.create receivers: "${uidLikeReceiver}" looks like a UID. Use receiver handles in the semicolon-separated receivers string.`, {
|
|
35
|
+
type: 'validation',
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
return receiverHandles.join(';');
|
|
39
|
+
}
|
|
16
40
|
/**
|
|
17
41
|
* List messages sent or received by character (paginated)
|
|
42
|
+
*
|
|
43
|
+
* Note: list responses return `MessageListItem[]` metadata objects and do not
|
|
44
|
+
* guarantee a `communication` field. Use `get()` for full message content.
|
|
45
|
+
*
|
|
18
46
|
* @requires_auth Yes
|
|
19
47
|
* @requires_scope MESSAGES_READ
|
|
20
48
|
* @param options - Character UID, optional message mode, and optional pagination parameters
|
|
@@ -22,10 +50,17 @@ class CharacterMessagesResource extends BaseResource_js_1.BaseResource {
|
|
|
22
50
|
* @param options.mode - 'sent' or 'received'. If omitted, returns both sent and received messages.
|
|
23
51
|
* @param options.start_index - Starting position (1-based). Default: 1
|
|
24
52
|
* @param options.item_count - Number of items to retrieve. Default: 50, Max: 50
|
|
53
|
+
* @returns Array of message metadata items (`MessageListItem[]`)
|
|
25
54
|
* @example
|
|
26
55
|
* const allMessages = await client.character.messages.list({ uid: '1:12345' });
|
|
27
56
|
* const received = await client.character.messages.list({ uid: '1:12345', mode: 'received' });
|
|
28
57
|
* const moreMessages = await client.character.messages.list({ uid: '1:12345', mode: 'received', start_index: 51, item_count: 50 });
|
|
58
|
+
*
|
|
59
|
+
* const firstMessageId = received[0]?.attributes.uid;
|
|
60
|
+
* if (firstMessageId) {
|
|
61
|
+
* const detail = await client.character.messages.get({ uid: '1:12345', messageId: firstMessageId });
|
|
62
|
+
* console.log(detail.communication);
|
|
63
|
+
* }
|
|
29
64
|
*/
|
|
30
65
|
async list(options) {
|
|
31
66
|
const params = {
|
|
@@ -44,6 +79,18 @@ class CharacterMessagesResource extends BaseResource_js_1.BaseResource {
|
|
|
44
79
|
* Get a specific message
|
|
45
80
|
* @requires_auth Yes
|
|
46
81
|
* @requires_scope MESSAGES_READ
|
|
82
|
+
* @param options - Character UID and message UID
|
|
83
|
+
* @param options.uid - Character UID
|
|
84
|
+
* @param options.messageId - Message UID (for example from `list()[i].attributes.uid`)
|
|
85
|
+
* @returns Full message details including `communication`
|
|
86
|
+
* @example
|
|
87
|
+
* const messages = await client.character.messages.list({ uid: '1:12345', mode: 'received' });
|
|
88
|
+
* const messageId = messages[0]?.attributes.uid;
|
|
89
|
+
*
|
|
90
|
+
* if (messageId) {
|
|
91
|
+
* const message = await client.character.messages.get({ uid: '1:12345', messageId });
|
|
92
|
+
* console.log(message.communication);
|
|
93
|
+
* }
|
|
47
94
|
*/
|
|
48
95
|
async get(options) {
|
|
49
96
|
return this.request('GET', `/character/${options.uid}/messages/${options.messageId}`);
|
|
@@ -61,18 +108,29 @@ class CharacterMessagesResource extends BaseResource_js_1.BaseResource {
|
|
|
61
108
|
* @requires_auth Yes
|
|
62
109
|
* @requires_scope MESSAGES_SEND
|
|
63
110
|
* @param options.uid - Character UID sending the message
|
|
64
|
-
* @param options.receivers - Semicolon-separated list of
|
|
111
|
+
* @param options.receivers - Semicolon-separated list of receiver handles (max 25)
|
|
65
112
|
* @param options.communication - Message text content
|
|
113
|
+
* @returns Message response typed as `Message`
|
|
66
114
|
* @example
|
|
115
|
+
* // Valid: handles
|
|
67
116
|
* await client.character.messages.create({
|
|
68
117
|
* uid: '1:12345',
|
|
69
|
-
* receivers: '
|
|
118
|
+
* receivers: 'recipient_handle_1;recipient_handle_2',
|
|
70
119
|
* communication: 'Hello from the SDK!'
|
|
71
120
|
* });
|
|
121
|
+
*
|
|
122
|
+
* @example
|
|
123
|
+
* // Invalid: UIDs are rejected by the API and pre-validated by this SDK
|
|
124
|
+
* await client.character.messages.create({
|
|
125
|
+
* uid: '1:12345',
|
|
126
|
+
* receivers: '1:12345',
|
|
127
|
+
* communication: 'Test'
|
|
128
|
+
* });
|
|
72
129
|
*/
|
|
73
130
|
async create(options) {
|
|
74
|
-
|
|
75
|
-
|
|
131
|
+
const receivers = this.normalizeAndValidateReceivers(options.receivers);
|
|
132
|
+
return this.request('PUT', `/character/${options.uid}/messages`, {
|
|
133
|
+
receivers,
|
|
76
134
|
communication: options.communication,
|
|
77
135
|
});
|
|
78
136
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CharacterResource.js","sourceRoot":"","sources":["../../../src/resources/CharacterResource.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAGH,uDAAiD;
|
|
1
|
+
{"version":3,"file":"CharacterResource.js","sourceRoot":"","sources":["../../../src/resources/CharacterResource.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,145 @@
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.NewsResource = exports.SimNewsResource = exports.GNSResource = void 0;
|
|
7
7
|
const BaseResource_js_1 = require("./BaseResource.js");
|
|
8
|
+
function normalizeNewsListAttributes(attributes) {
|
|
9
|
+
if (!attributes || typeof attributes !== 'object') {
|
|
10
|
+
return {};
|
|
11
|
+
}
|
|
12
|
+
const raw = attributes;
|
|
13
|
+
const normalized = {};
|
|
14
|
+
const maybeNumber = (value) => {
|
|
15
|
+
if (typeof value === 'number' && Number.isFinite(value)) {
|
|
16
|
+
return value;
|
|
17
|
+
}
|
|
18
|
+
if (typeof value === 'string') {
|
|
19
|
+
const parsed = Number(value);
|
|
20
|
+
if (Number.isFinite(parsed)) {
|
|
21
|
+
return parsed;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
return undefined;
|
|
25
|
+
};
|
|
26
|
+
const start = maybeNumber(raw.start);
|
|
27
|
+
const total = maybeNumber(raw.total);
|
|
28
|
+
const count = maybeNumber(raw.count);
|
|
29
|
+
if (start !== undefined)
|
|
30
|
+
normalized.start = start;
|
|
31
|
+
if (total !== undefined)
|
|
32
|
+
normalized.total = total;
|
|
33
|
+
if (count !== undefined)
|
|
34
|
+
normalized.count = count;
|
|
35
|
+
return { ...raw, ...normalized };
|
|
36
|
+
}
|
|
37
|
+
function normalizeNewsId(id) {
|
|
38
|
+
if (typeof id === 'number' && Number.isFinite(id)) {
|
|
39
|
+
return id;
|
|
40
|
+
}
|
|
41
|
+
if (typeof id === 'string') {
|
|
42
|
+
const parsed = Number(id);
|
|
43
|
+
return Number.isFinite(parsed) ? parsed : 0;
|
|
44
|
+
}
|
|
45
|
+
return 0;
|
|
46
|
+
}
|
|
47
|
+
function normalizeNewsListItem(item) {
|
|
48
|
+
const raw = item && typeof item === 'object' ? item : {};
|
|
49
|
+
const rawAttributes = raw.attributes && typeof raw.attributes === 'object' ? raw.attributes : {};
|
|
50
|
+
const value = typeof raw.value === 'string'
|
|
51
|
+
? raw.value
|
|
52
|
+
: typeof rawAttributes.title === 'string'
|
|
53
|
+
? rawAttributes.title
|
|
54
|
+
: '';
|
|
55
|
+
const normalized = {
|
|
56
|
+
...raw,
|
|
57
|
+
value,
|
|
58
|
+
attributes: {
|
|
59
|
+
...rawAttributes,
|
|
60
|
+
id: normalizeNewsId(rawAttributes.id),
|
|
61
|
+
href: typeof rawAttributes.href === 'string' ? rawAttributes.href : '',
|
|
62
|
+
title: typeof rawAttributes.title === 'string' ? rawAttributes.title : value,
|
|
63
|
+
},
|
|
64
|
+
};
|
|
65
|
+
return normalized;
|
|
66
|
+
}
|
|
67
|
+
function normalizeNewsListResponse(response) {
|
|
68
|
+
const items = (response.newsitem || []).map(normalizeNewsListItem);
|
|
69
|
+
const list = Object.assign(items, {
|
|
70
|
+
attributes: normalizeNewsListAttributes(response.attributes),
|
|
71
|
+
});
|
|
72
|
+
return list;
|
|
73
|
+
}
|
|
74
|
+
function normalizeNewsReference(reference) {
|
|
75
|
+
if (typeof reference === 'string') {
|
|
76
|
+
return { value: reference };
|
|
77
|
+
}
|
|
78
|
+
if (reference && typeof reference === 'object') {
|
|
79
|
+
const raw = reference;
|
|
80
|
+
const normalized = {
|
|
81
|
+
...raw,
|
|
82
|
+
value: typeof raw.value === 'string' ? raw.value : '',
|
|
83
|
+
};
|
|
84
|
+
if (raw.attributes && typeof raw.attributes === 'object') {
|
|
85
|
+
const attrs = raw.attributes;
|
|
86
|
+
normalized.attributes = {
|
|
87
|
+
uid: typeof attrs.uid === 'string' ? attrs.uid : undefined,
|
|
88
|
+
href: typeof attrs.href === 'string' ? attrs.href : undefined,
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
return normalized;
|
|
92
|
+
}
|
|
93
|
+
return { value: '' };
|
|
94
|
+
}
|
|
95
|
+
function normalizeNewsPostedTimestamp(posted) {
|
|
96
|
+
if (!posted || typeof posted !== 'object') {
|
|
97
|
+
return undefined;
|
|
98
|
+
}
|
|
99
|
+
const raw = posted;
|
|
100
|
+
const normalized = {};
|
|
101
|
+
if (typeof raw.years === 'number')
|
|
102
|
+
normalized.years = raw.years;
|
|
103
|
+
if (typeof raw.days === 'number')
|
|
104
|
+
normalized.days = raw.days;
|
|
105
|
+
if (typeof raw.hours === 'number')
|
|
106
|
+
normalized.hours = raw.hours;
|
|
107
|
+
if (typeof raw.mins === 'number')
|
|
108
|
+
normalized.mins = raw.mins;
|
|
109
|
+
if (typeof raw.secs === 'number')
|
|
110
|
+
normalized.secs = raw.secs;
|
|
111
|
+
if (typeof raw.timestamp === 'number')
|
|
112
|
+
normalized.timestamp = raw.timestamp;
|
|
113
|
+
return Object.keys(normalized).length > 0 ? normalized : undefined;
|
|
114
|
+
}
|
|
115
|
+
function normalizeNewsItem(item) {
|
|
116
|
+
const raw = item && typeof item === 'object' ? item : {};
|
|
117
|
+
const normalized = {
|
|
118
|
+
...raw,
|
|
119
|
+
url: typeof raw.url === 'string' ? raw.url : '',
|
|
120
|
+
title: typeof raw.title === 'string' ? raw.title : '',
|
|
121
|
+
id: normalizeNewsId(raw.id),
|
|
122
|
+
author: normalizeNewsReference(raw.author),
|
|
123
|
+
faction: normalizeNewsReference(raw.faction),
|
|
124
|
+
};
|
|
125
|
+
if (typeof raw.logo === 'string')
|
|
126
|
+
normalized.logo = raw.logo;
|
|
127
|
+
if (typeof raw.hacked === 'number')
|
|
128
|
+
normalized.hacked = raw.hacked;
|
|
129
|
+
if (typeof raw.location === 'string')
|
|
130
|
+
normalized.location = raw.location;
|
|
131
|
+
if (typeof raw.body === 'string')
|
|
132
|
+
normalized.body = raw.body;
|
|
133
|
+
if (typeof raw.category === 'string')
|
|
134
|
+
normalized.category = raw.category;
|
|
135
|
+
const posted = normalizeNewsPostedTimestamp(raw.posted);
|
|
136
|
+
if (posted) {
|
|
137
|
+
normalized.posted = posted;
|
|
138
|
+
}
|
|
139
|
+
return normalized;
|
|
140
|
+
}
|
|
141
|
+
function normalizeNewsGetResponse(response) {
|
|
142
|
+
if (Array.isArray(response)) {
|
|
143
|
+
return normalizeNewsItem(response[0]);
|
|
144
|
+
}
|
|
145
|
+
return normalizeNewsItem(response);
|
|
146
|
+
}
|
|
8
147
|
/**
|
|
9
148
|
* Galactic News Service (GNS) resource
|
|
10
149
|
*
|
|
@@ -13,6 +152,9 @@ const BaseResource_js_1 = require("./BaseResource.js");
|
|
|
13
152
|
class GNSResource extends BaseResource_js_1.BaseResource {
|
|
14
153
|
/**
|
|
15
154
|
* List GNS news items (paginated with optional filtering)
|
|
155
|
+
* Returns headline metadata entries (`attributes.id`, `attributes.href`, `attributes.title`, `value`).
|
|
156
|
+
* The returned array also includes pagination metadata at `result.attributes`
|
|
157
|
+
* (`start`, `total`, `count`) from the API response.
|
|
16
158
|
* @requires_auth No
|
|
17
159
|
* @param options - Optional category, pagination, and filtering parameters
|
|
18
160
|
* @param options.category - News category: 'auto', 'economy', 'military', 'political', 'social'
|
|
@@ -26,6 +168,8 @@ class GNSResource extends BaseResource_js_1.BaseResource {
|
|
|
26
168
|
* const moreNews = await client.news.gns.list({ start_index: 51, item_count: 50 });
|
|
27
169
|
* const searchNews = await client.news.gns.list({ search: 'battle', author: 'John Doe' });
|
|
28
170
|
* const factionNews = await client.news.gns.list({ faction: 'Empire', faction_type: 'government' });
|
|
171
|
+
* console.log(news[0].attributes.title);
|
|
172
|
+
* console.log(news.attributes.start, news.attributes.total, news.attributes.count);
|
|
29
173
|
*/
|
|
30
174
|
async list(options) {
|
|
31
175
|
const path = options?.category ? `/news/gns/${options.category}` : '/news/gns';
|
|
@@ -52,14 +196,21 @@ class GNSResource extends BaseResource_js_1.BaseResource {
|
|
|
52
196
|
params.faction_type = options.faction_type;
|
|
53
197
|
}
|
|
54
198
|
const response = await this.http.get(path, { params });
|
|
55
|
-
//
|
|
56
|
-
return response
|
|
199
|
+
// Preserve array behavior while exposing `attributes.start/total/count`.
|
|
200
|
+
return normalizeNewsListResponse(response);
|
|
57
201
|
}
|
|
58
202
|
/**
|
|
59
|
-
* Get specific GNS news item
|
|
203
|
+
* Get a specific GNS news item by numeric ID.
|
|
204
|
+
* Author and faction are normalized to object references with `value`.
|
|
205
|
+
* If the API returns an array, the SDK returns the first normalized item.
|
|
206
|
+
* @example
|
|
207
|
+
* const post = await client.news.gns.get({ id: 49108 });
|
|
208
|
+
* console.log(post.author.value);
|
|
209
|
+
* console.log(post.faction.value);
|
|
60
210
|
*/
|
|
61
211
|
async get(options) {
|
|
62
|
-
|
|
212
|
+
const response = await this.request('GET', `/news/gns/${options.id}`);
|
|
213
|
+
return normalizeNewsGetResponse(response);
|
|
63
214
|
}
|
|
64
215
|
}
|
|
65
216
|
exports.GNSResource = GNSResource;
|
|
@@ -71,6 +222,9 @@ exports.GNSResource = GNSResource;
|
|
|
71
222
|
class SimNewsResource extends BaseResource_js_1.BaseResource {
|
|
72
223
|
/**
|
|
73
224
|
* List Sim News items (paginated with optional filtering)
|
|
225
|
+
* Returns headline metadata entries (`attributes.id`, `attributes.href`, `attributes.title`, `value`).
|
|
226
|
+
* The returned array also includes pagination metadata at `result.attributes`
|
|
227
|
+
* (`start`, `total`, `count`) from the API response.
|
|
74
228
|
* @requires_auth No
|
|
75
229
|
* @param options - Optional category, pagination, and filtering parameters
|
|
76
230
|
* @param options.category - News category: 'player', 'technical', 'community'
|
|
@@ -81,6 +235,8 @@ class SimNewsResource extends BaseResource_js_1.BaseResource {
|
|
|
81
235
|
* const playerNews = await client.news.simNews.list({ category: 'player' });
|
|
82
236
|
* const moreNews = await client.news.simNews.list({ start_index: 51, item_count: 50 });
|
|
83
237
|
* const searchNews = await client.news.simNews.list({ search: 'update', author: 'Admin' });
|
|
238
|
+
* console.log(news[0].attributes.title);
|
|
239
|
+
* console.log(news.attributes.start, news.attributes.total, news.attributes.count);
|
|
84
240
|
*/
|
|
85
241
|
async list(options) {
|
|
86
242
|
const path = options?.category ? `/news/simnews/${options.category}` : '/news/simnews';
|
|
@@ -101,14 +257,21 @@ class SimNewsResource extends BaseResource_js_1.BaseResource {
|
|
|
101
257
|
params.author = options.author;
|
|
102
258
|
}
|
|
103
259
|
const response = await this.http.get(path, { params });
|
|
104
|
-
//
|
|
105
|
-
return response
|
|
260
|
+
// Preserve array behavior while exposing `attributes.start/total/count`.
|
|
261
|
+
return normalizeNewsListResponse(response);
|
|
106
262
|
}
|
|
107
263
|
/**
|
|
108
|
-
* Get specific Sim News item
|
|
264
|
+
* Get a specific Sim News item by numeric ID.
|
|
265
|
+
* Author and faction are normalized to object references with `value`.
|
|
266
|
+
* If the API returns an array, the SDK returns the first normalized item.
|
|
267
|
+
* @example
|
|
268
|
+
* const post = await client.news.simNews.get({ id: 49108 });
|
|
269
|
+
* console.log(post.author.value);
|
|
270
|
+
* console.log(post.faction.value);
|
|
109
271
|
*/
|
|
110
272
|
async get(options) {
|
|
111
|
-
|
|
273
|
+
const response = await this.request('GET', `/news/simnews/${options.id}`);
|
|
274
|
+
return normalizeNewsGetResponse(response);
|
|
112
275
|
}
|
|
113
276
|
}
|
|
114
277
|
exports.SimNewsResource = SimNewsResource;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NewsResource.js","sourceRoot":"","sources":["../../../src/resources/NewsResource.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAGH,uDAAiD;
|
|
1
|
+
{"version":3,"file":"NewsResource.js","sourceRoot":"","sources":["../../../src/resources/NewsResource.ts"],"names":[],"mappings":"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"}
|
|
@@ -72,8 +72,32 @@ class TypesEntitiesResource extends BaseResource_js_1.BaseResource {
|
|
|
72
72
|
return response.items;
|
|
73
73
|
}
|
|
74
74
|
/**
|
|
75
|
-
*
|
|
76
|
-
*
|
|
75
|
+
* Returns normalized pagination metadata and items for any `TypesEntityType`.
|
|
76
|
+
*
|
|
77
|
+
* @param options - Entity list options. `start_index` defaults to `1`, `item_count` defaults to `50`,
|
|
78
|
+
* and `class` is optional for class-filtered results.
|
|
79
|
+
* @returns `TypesEntitiesListMetaResponse` with pagination `attributes` and normalized `items`.
|
|
80
|
+
*
|
|
81
|
+
* @example
|
|
82
|
+
* const response = await client.types.entities.listRaw({
|
|
83
|
+
* entityType: 'vehicles',
|
|
84
|
+
* start_index: 1,
|
|
85
|
+
* item_count: 50,
|
|
86
|
+
* });
|
|
87
|
+
* console.log(response.attributes?.total);
|
|
88
|
+
* console.log(response.items[0]?.attributes.uid);
|
|
89
|
+
*
|
|
90
|
+
* @example
|
|
91
|
+
* const response = await client.types.entities.listRaw({
|
|
92
|
+
* entityType: 'ships',
|
|
93
|
+
* class: 'fighter',
|
|
94
|
+
* start_index: 1,
|
|
95
|
+
* item_count: 25,
|
|
96
|
+
* });
|
|
97
|
+
*
|
|
98
|
+
* for (const item of response.items) {
|
|
99
|
+
* console.log(item.attributes.uid, item.value);
|
|
100
|
+
* }
|
|
77
101
|
*/
|
|
78
102
|
async listRaw(options) {
|
|
79
103
|
const entityPath = getTypesEntityPathSegment(options.entityType);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TypesResource.js","sourceRoot":"","sources":["../../../src/resources/TypesResource.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAGH,uDAAiD;AAajD,SAAS,yBAAyB,CAAC,UAA2B;IAC5D,sGAAsG;IACtG,IAAI,UAAU,KAAK,gBAAgB,EAAE,CAAC;QACpC,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAcD;;;;GAIG;AACH,MAAa,oBAAqB,SAAQ,8BAAY;IACpD;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,IAAI,CACR,OAAmC;QAEnC,MAAM,MAAM,GAAG;YACb,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,CAAC;YACrC,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,EAAE;SACrC,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAClC,kBAAkB,yBAAyB,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,EACjE,EAAE,MAAM,EAAE,CACX,CAAC;QACF,yFAAyF;QACzF,iGAAiG;QACjG,sDAAsD;QACtD,MAAM,cAAc,GAAG,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAwC,CAAC;QAC3F,IAAI,cAAc,IAAI,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1D,OAAO,cAAc,CAAC,KAAsB,CAAC;QAC/C,CAAC;QACD,+CAA+C;QAC/C,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,CAAkB,CAAC;YACxC,CAAC;QACH,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;CACF;AAxCD,oDAwCC;AAED;;;;GAIG;AACH,MAAa,qBAAsB,SAAQ,8BAAY;IACrD;;;;;;;OAOG;IACH,KAAK,CAAC,IAAI,CACR,OAAoC;QAEpC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC7C,OAAO,QAAQ,CAAC,KAAK,CAAC;IACxB,CAAC;IAED
|
|
1
|
+
{"version":3,"file":"TypesResource.js","sourceRoot":"","sources":["../../../src/resources/TypesResource.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Character resource for accessing character data
|
|
3
3
|
*/
|
|
4
|
+
import { SWCError } from '../http/errors.js';
|
|
4
5
|
import { BaseResource } from './BaseResource.js';
|
|
5
6
|
// Note: Privilege interface moved to CharacterPrivilegesResource section with correct structure
|
|
6
7
|
// Note: Character credits endpoint returns a plain number, not an object
|
|
@@ -10,8 +11,35 @@ import { BaseResource } from './BaseResource.js';
|
|
|
10
11
|
* @see https://www.swcombine.com/ws/v2.0/documentation/character/uid/messages/mode/ SW Combine API Documentation
|
|
11
12
|
*/
|
|
12
13
|
export class CharacterMessagesResource extends BaseResource {
|
|
14
|
+
normalizeAndValidateReceivers(receivers) {
|
|
15
|
+
const receiverHandles = receivers
|
|
16
|
+
.split(';')
|
|
17
|
+
.map((receiver) => receiver.trim())
|
|
18
|
+
.filter((receiver) => receiver.length > 0);
|
|
19
|
+
if (receiverHandles.length === 0) {
|
|
20
|
+
throw new SWCError('Invalid messages.create receivers: provide at least one receiver handle.', {
|
|
21
|
+
type: 'validation',
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
if (receiverHandles.length > 25) {
|
|
25
|
+
throw new SWCError('Invalid messages.create receivers: maximum 25 receiver handles are allowed.', {
|
|
26
|
+
type: 'validation',
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
const uidLikeReceiver = receiverHandles.find((receiver) => /^\d+:\d+$/.test(receiver));
|
|
30
|
+
if (uidLikeReceiver) {
|
|
31
|
+
throw new SWCError(`Invalid messages.create receivers: "${uidLikeReceiver}" looks like a UID. Use receiver handles in the semicolon-separated receivers string.`, {
|
|
32
|
+
type: 'validation',
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
return receiverHandles.join(';');
|
|
36
|
+
}
|
|
13
37
|
/**
|
|
14
38
|
* List messages sent or received by character (paginated)
|
|
39
|
+
*
|
|
40
|
+
* Note: list responses return `MessageListItem[]` metadata objects and do not
|
|
41
|
+
* guarantee a `communication` field. Use `get()` for full message content.
|
|
42
|
+
*
|
|
15
43
|
* @requires_auth Yes
|
|
16
44
|
* @requires_scope MESSAGES_READ
|
|
17
45
|
* @param options - Character UID, optional message mode, and optional pagination parameters
|
|
@@ -19,10 +47,17 @@ export class CharacterMessagesResource extends BaseResource {
|
|
|
19
47
|
* @param options.mode - 'sent' or 'received'. If omitted, returns both sent and received messages.
|
|
20
48
|
* @param options.start_index - Starting position (1-based). Default: 1
|
|
21
49
|
* @param options.item_count - Number of items to retrieve. Default: 50, Max: 50
|
|
50
|
+
* @returns Array of message metadata items (`MessageListItem[]`)
|
|
22
51
|
* @example
|
|
23
52
|
* const allMessages = await client.character.messages.list({ uid: '1:12345' });
|
|
24
53
|
* const received = await client.character.messages.list({ uid: '1:12345', mode: 'received' });
|
|
25
54
|
* const moreMessages = await client.character.messages.list({ uid: '1:12345', mode: 'received', start_index: 51, item_count: 50 });
|
|
55
|
+
*
|
|
56
|
+
* const firstMessageId = received[0]?.attributes.uid;
|
|
57
|
+
* if (firstMessageId) {
|
|
58
|
+
* const detail = await client.character.messages.get({ uid: '1:12345', messageId: firstMessageId });
|
|
59
|
+
* console.log(detail.communication);
|
|
60
|
+
* }
|
|
26
61
|
*/
|
|
27
62
|
async list(options) {
|
|
28
63
|
const params = {
|
|
@@ -41,6 +76,18 @@ export class CharacterMessagesResource extends BaseResource {
|
|
|
41
76
|
* Get a specific message
|
|
42
77
|
* @requires_auth Yes
|
|
43
78
|
* @requires_scope MESSAGES_READ
|
|
79
|
+
* @param options - Character UID and message UID
|
|
80
|
+
* @param options.uid - Character UID
|
|
81
|
+
* @param options.messageId - Message UID (for example from `list()[i].attributes.uid`)
|
|
82
|
+
* @returns Full message details including `communication`
|
|
83
|
+
* @example
|
|
84
|
+
* const messages = await client.character.messages.list({ uid: '1:12345', mode: 'received' });
|
|
85
|
+
* const messageId = messages[0]?.attributes.uid;
|
|
86
|
+
*
|
|
87
|
+
* if (messageId) {
|
|
88
|
+
* const message = await client.character.messages.get({ uid: '1:12345', messageId });
|
|
89
|
+
* console.log(message.communication);
|
|
90
|
+
* }
|
|
44
91
|
*/
|
|
45
92
|
async get(options) {
|
|
46
93
|
return this.request('GET', `/character/${options.uid}/messages/${options.messageId}`);
|
|
@@ -58,18 +105,29 @@ export class CharacterMessagesResource extends BaseResource {
|
|
|
58
105
|
* @requires_auth Yes
|
|
59
106
|
* @requires_scope MESSAGES_SEND
|
|
60
107
|
* @param options.uid - Character UID sending the message
|
|
61
|
-
* @param options.receivers - Semicolon-separated list of
|
|
108
|
+
* @param options.receivers - Semicolon-separated list of receiver handles (max 25)
|
|
62
109
|
* @param options.communication - Message text content
|
|
110
|
+
* @returns Message response typed as `Message`
|
|
63
111
|
* @example
|
|
112
|
+
* // Valid: handles
|
|
64
113
|
* await client.character.messages.create({
|
|
65
114
|
* uid: '1:12345',
|
|
66
|
-
* receivers: '
|
|
115
|
+
* receivers: 'recipient_handle_1;recipient_handle_2',
|
|
67
116
|
* communication: 'Hello from the SDK!'
|
|
68
117
|
* });
|
|
118
|
+
*
|
|
119
|
+
* @example
|
|
120
|
+
* // Invalid: UIDs are rejected by the API and pre-validated by this SDK
|
|
121
|
+
* await client.character.messages.create({
|
|
122
|
+
* uid: '1:12345',
|
|
123
|
+
* receivers: '1:12345',
|
|
124
|
+
* communication: 'Test'
|
|
125
|
+
* });
|
|
69
126
|
*/
|
|
70
127
|
async create(options) {
|
|
71
|
-
|
|
72
|
-
|
|
128
|
+
const receivers = this.normalizeAndValidateReceivers(options.receivers);
|
|
129
|
+
return this.request('PUT', `/character/${options.uid}/messages`, {
|
|
130
|
+
receivers,
|
|
73
131
|
communication: options.communication,
|
|
74
132
|
});
|
|
75
133
|
}
|