@vybit/api-sdk 1.1.0 → 1.1.1
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 +10 -15
- package/dist/__tests__/api-client.test.d.ts +8 -0
- package/dist/__tests__/api-client.test.d.ts.map +1 -0
- package/dist/__tests__/api-client.test.js +324 -0
- package/dist/__tests__/api-client.test.js.map +1 -0
- package/dist/__tests__/api-integration.test.d.ts +11 -0
- package/dist/__tests__/api-integration.test.d.ts.map +1 -0
- package/dist/__tests__/api-integration.test.js +267 -0
- package/dist/__tests__/api-integration.test.js.map +1 -0
- package/dist/api-client.d.ts +11 -8
- package/dist/api-client.d.ts.map +1 -1
- package/dist/api-client.js +20 -13
- package/dist/api-client.js.map +1 -1
- package/dist/types.d.ts +72 -35
- package/dist/types.d.ts.map +1 -1
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -53,13 +53,13 @@ console.log('Account:', profile.name, profile.email);
|
|
|
53
53
|
const vybits = await client.listVybits({ limit: 10 });
|
|
54
54
|
console.log(`You have ${vybits.length} vybits`);
|
|
55
55
|
|
|
56
|
-
// Create a new vybit
|
|
56
|
+
// Create a new vybit (only name is required)
|
|
57
57
|
const vybit = await client.createVybit({
|
|
58
58
|
name: 'Server Alert',
|
|
59
59
|
description: 'Notifications for server errors',
|
|
60
|
-
soundKey: 'sound123abc',
|
|
61
|
-
triggerType: 'webhook',
|
|
62
|
-
access: 'private'
|
|
60
|
+
soundKey: 'sound123abc', // Optional - defaults to system sound
|
|
61
|
+
triggerType: 'webhook', // Optional - defaults to 'webhook'
|
|
62
|
+
access: 'private' // Optional - defaults to 'private'
|
|
63
63
|
});
|
|
64
64
|
console.log('Created vybit:', vybit.key);
|
|
65
65
|
|
|
@@ -88,7 +88,7 @@ const vybit = await client.getVybit('vybit123abc');
|
|
|
88
88
|
// Update vybit
|
|
89
89
|
await client.updateVybit('vybit123abc', {
|
|
90
90
|
name: 'Updated Alert Name',
|
|
91
|
-
|
|
91
|
+
status: 'on'
|
|
92
92
|
});
|
|
93
93
|
|
|
94
94
|
// Delete vybit
|
|
@@ -109,11 +109,11 @@ const follow = await client.createVybitFollow({
|
|
|
109
109
|
// List your subscriptions
|
|
110
110
|
const follows = await client.listVybitFollows();
|
|
111
111
|
|
|
112
|
-
//
|
|
113
|
-
await client.updateVybitFollow(follow.
|
|
112
|
+
// Disable a subscription
|
|
113
|
+
await client.updateVybitFollow(follow.followingKey, { status: 'off' });
|
|
114
114
|
|
|
115
115
|
// Unsubscribe
|
|
116
|
-
await client.deleteVybitFollow(follow.
|
|
116
|
+
await client.deleteVybitFollow(follow.followingKey);
|
|
117
117
|
```
|
|
118
118
|
|
|
119
119
|
### Sound Search
|
|
@@ -197,9 +197,7 @@ import { VybitAPIError, VybitAuthError, VybitValidationError } from '@vybit/core
|
|
|
197
197
|
|
|
198
198
|
try {
|
|
199
199
|
const vybit = await client.createVybit({
|
|
200
|
-
name: 'Test Vybit'
|
|
201
|
-
soundKey: 'sound123',
|
|
202
|
-
triggerType: 'webhook'
|
|
200
|
+
name: 'Test Vybit' // Only name is required
|
|
203
201
|
});
|
|
204
202
|
} catch (error) {
|
|
205
203
|
if (error instanceof VybitAuthError) {
|
|
@@ -250,10 +248,7 @@ import {
|
|
|
250
248
|
|
|
251
249
|
// Full type safety for all API operations
|
|
252
250
|
const params: VybitCreateParams = {
|
|
253
|
-
name: 'My Vybit',
|
|
254
|
-
soundKey: 'sound123',
|
|
255
|
-
triggerType: 'webhook',
|
|
256
|
-
access: 'private'
|
|
251
|
+
name: 'My Vybit' // Only name is required, all other fields are optional
|
|
257
252
|
};
|
|
258
253
|
|
|
259
254
|
const vybit: Vybit = await client.createVybit(params);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api-client.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/api-client.test.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
|
|
@@ -0,0 +1,324 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* API Client Unit Tests
|
|
4
|
+
*
|
|
5
|
+
* Tests VybitAPIClient methods with mocked fetch.
|
|
6
|
+
* These tests run in CI without requiring an API key.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
const api_client_1 = require("../api-client");
|
|
10
|
+
const core_1 = require("@vybit/core");
|
|
11
|
+
// Mock fetch globally
|
|
12
|
+
global.fetch = jest.fn();
|
|
13
|
+
describe('VybitAPIClient Unit Tests', () => {
|
|
14
|
+
let client;
|
|
15
|
+
const mockFetch = global.fetch;
|
|
16
|
+
beforeEach(() => {
|
|
17
|
+
jest.clearAllMocks();
|
|
18
|
+
client = new api_client_1.VybitAPIClient({ apiKey: 'test-api-key' });
|
|
19
|
+
});
|
|
20
|
+
describe('constructor', () => {
|
|
21
|
+
test('should use provided API key', () => {
|
|
22
|
+
const testClient = new api_client_1.VybitAPIClient({ apiKey: 'custom-key' });
|
|
23
|
+
expect(testClient).toBeDefined();
|
|
24
|
+
});
|
|
25
|
+
test('should fall back to environment variable', () => {
|
|
26
|
+
process.env.VYBIT_API_KEY = 'env-key';
|
|
27
|
+
const testClient = new api_client_1.VybitAPIClient();
|
|
28
|
+
expect(testClient).toBeDefined();
|
|
29
|
+
delete process.env.VYBIT_API_KEY;
|
|
30
|
+
});
|
|
31
|
+
test('should use custom baseUrl when provided', () => {
|
|
32
|
+
const testClient = new api_client_1.VybitAPIClient({
|
|
33
|
+
apiKey: 'test-key',
|
|
34
|
+
baseUrl: 'https://custom.api.com/v1',
|
|
35
|
+
});
|
|
36
|
+
expect(testClient).toBeDefined();
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
describe('getStatus', () => {
|
|
40
|
+
test('should return status response', async () => {
|
|
41
|
+
mockFetch.mockResolvedValueOnce({
|
|
42
|
+
ok: true,
|
|
43
|
+
status: 200,
|
|
44
|
+
json: async () => ({ status: 'up' }),
|
|
45
|
+
});
|
|
46
|
+
const result = await client.getStatus();
|
|
47
|
+
expect(result).toEqual({ status: 'up' });
|
|
48
|
+
expect(mockFetch).toHaveBeenCalledWith('https://api.vybit.net/v1/status', expect.objectContaining({
|
|
49
|
+
headers: expect.objectContaining({
|
|
50
|
+
'X-API-Key': 'test-api-key',
|
|
51
|
+
}),
|
|
52
|
+
}));
|
|
53
|
+
});
|
|
54
|
+
});
|
|
55
|
+
describe('getProfile', () => {
|
|
56
|
+
test('should return user profile', async () => {
|
|
57
|
+
const mockProfile = {
|
|
58
|
+
key: 'user123',
|
|
59
|
+
name: 'Test User',
|
|
60
|
+
email: 'test@example.com',
|
|
61
|
+
tier_id: 1,
|
|
62
|
+
};
|
|
63
|
+
mockFetch.mockResolvedValueOnce({
|
|
64
|
+
ok: true,
|
|
65
|
+
status: 200,
|
|
66
|
+
json: async () => mockProfile,
|
|
67
|
+
});
|
|
68
|
+
const result = await client.getProfile();
|
|
69
|
+
expect(result).toEqual(mockProfile);
|
|
70
|
+
expect(mockFetch).toHaveBeenCalledWith('https://api.vybit.net/v1/profile', expect.any(Object));
|
|
71
|
+
});
|
|
72
|
+
});
|
|
73
|
+
describe('getMeter', () => {
|
|
74
|
+
test('should return meter with all correct fields', async () => {
|
|
75
|
+
const mockMeter = {
|
|
76
|
+
tier_id: 1,
|
|
77
|
+
cap_vybits: 50,
|
|
78
|
+
cap_daily: 500,
|
|
79
|
+
cap_monthly: 7500,
|
|
80
|
+
number_vybits: 12,
|
|
81
|
+
count_daily: 127,
|
|
82
|
+
count_monthly: 3421,
|
|
83
|
+
monthly_reset_dts: '2025-12-01T00:00:00Z',
|
|
84
|
+
};
|
|
85
|
+
mockFetch.mockResolvedValueOnce({
|
|
86
|
+
ok: true,
|
|
87
|
+
status: 200,
|
|
88
|
+
json: async () => mockMeter,
|
|
89
|
+
});
|
|
90
|
+
const result = await client.getMeter();
|
|
91
|
+
expect(result).toEqual(mockMeter);
|
|
92
|
+
expect(result).toHaveProperty('number_vybits');
|
|
93
|
+
expect(result).toHaveProperty('monthly_reset_dts');
|
|
94
|
+
expect(result).not.toHaveProperty('count_total');
|
|
95
|
+
});
|
|
96
|
+
});
|
|
97
|
+
describe('listVybits', () => {
|
|
98
|
+
test('should list vybits with default params', async () => {
|
|
99
|
+
const mockVybits = [
|
|
100
|
+
{ key: 'vyb1', name: 'Vybit 1', soundKey: 'sound1', triggerType: 'webhook' },
|
|
101
|
+
{ key: 'vyb2', name: 'Vybit 2', soundKey: 'sound2', triggerType: 'schedule' },
|
|
102
|
+
];
|
|
103
|
+
mockFetch.mockResolvedValueOnce({
|
|
104
|
+
ok: true,
|
|
105
|
+
status: 200,
|
|
106
|
+
json: async () => mockVybits,
|
|
107
|
+
});
|
|
108
|
+
const result = await client.listVybits();
|
|
109
|
+
expect(result).toEqual(mockVybits);
|
|
110
|
+
expect(mockFetch).toHaveBeenCalledWith('https://api.vybit.net/v1/vybits', expect.any(Object));
|
|
111
|
+
});
|
|
112
|
+
test('should include pagination params in URL', async () => {
|
|
113
|
+
mockFetch.mockResolvedValueOnce({
|
|
114
|
+
ok: true,
|
|
115
|
+
status: 200,
|
|
116
|
+
json: async () => [],
|
|
117
|
+
});
|
|
118
|
+
await client.listVybits({ offset: 10, limit: 5, search: 'test' });
|
|
119
|
+
expect(mockFetch).toHaveBeenCalledWith('https://api.vybit.net/v1/vybits?offset=10&limit=5&search=test', expect.any(Object));
|
|
120
|
+
});
|
|
121
|
+
});
|
|
122
|
+
describe('createVybit', () => {
|
|
123
|
+
test('should create vybit with minimal params (name only)', async () => {
|
|
124
|
+
const mockVybit = {
|
|
125
|
+
key: 'vyb123',
|
|
126
|
+
name: 'Test Vybit',
|
|
127
|
+
soundKey: 'default-sound',
|
|
128
|
+
triggerType: 'webhook',
|
|
129
|
+
};
|
|
130
|
+
mockFetch.mockResolvedValueOnce({
|
|
131
|
+
ok: true,
|
|
132
|
+
status: 200,
|
|
133
|
+
json: async () => mockVybit,
|
|
134
|
+
});
|
|
135
|
+
const result = await client.createVybit({ name: 'Test Vybit' });
|
|
136
|
+
expect(result).toEqual(mockVybit);
|
|
137
|
+
expect(mockFetch).toHaveBeenCalledWith('https://api.vybit.net/v1/vybit', expect.objectContaining({
|
|
138
|
+
method: 'POST',
|
|
139
|
+
body: JSON.stringify({ name: 'Test Vybit' }),
|
|
140
|
+
}));
|
|
141
|
+
});
|
|
142
|
+
test('should create vybit with all optional fields', async () => {
|
|
143
|
+
const createParams = {
|
|
144
|
+
name: 'Full Test',
|
|
145
|
+
description: 'Test description',
|
|
146
|
+
soundKey: 'sound123',
|
|
147
|
+
status: 'off',
|
|
148
|
+
triggerType: 'schedule',
|
|
149
|
+
access: 'public',
|
|
150
|
+
message: 'Test message',
|
|
151
|
+
};
|
|
152
|
+
mockFetch.mockResolvedValueOnce({
|
|
153
|
+
ok: true,
|
|
154
|
+
status: 200,
|
|
155
|
+
json: async () => ({ ...createParams, key: 'vyb456' }),
|
|
156
|
+
});
|
|
157
|
+
await client.createVybit(createParams);
|
|
158
|
+
expect(mockFetch).toHaveBeenCalledWith('https://api.vybit.net/v1/vybit', expect.objectContaining({
|
|
159
|
+
body: JSON.stringify(createParams),
|
|
160
|
+
}));
|
|
161
|
+
});
|
|
162
|
+
});
|
|
163
|
+
describe('patchVybit', () => {
|
|
164
|
+
test('should update vybit with status field', async () => {
|
|
165
|
+
const mockVybit = {
|
|
166
|
+
key: 'vyb123',
|
|
167
|
+
name: 'Test',
|
|
168
|
+
status: 'off',
|
|
169
|
+
soundKey: 'sound1',
|
|
170
|
+
triggerType: 'webhook',
|
|
171
|
+
};
|
|
172
|
+
mockFetch.mockResolvedValueOnce({
|
|
173
|
+
ok: true,
|
|
174
|
+
status: 200,
|
|
175
|
+
json: async () => mockVybit,
|
|
176
|
+
});
|
|
177
|
+
const result = await client.patchVybit('vyb123', { status: 'off' });
|
|
178
|
+
expect(result.status).toBe('off');
|
|
179
|
+
expect(mockFetch).toHaveBeenCalledWith('https://api.vybit.net/v1/vybit/vyb123', expect.objectContaining({
|
|
180
|
+
method: 'PATCH',
|
|
181
|
+
body: JSON.stringify({ status: 'off' }),
|
|
182
|
+
}));
|
|
183
|
+
});
|
|
184
|
+
});
|
|
185
|
+
describe('listVybitFollows', () => {
|
|
186
|
+
test('should return follows with followingKey field', async () => {
|
|
187
|
+
const mockFollows = [
|
|
188
|
+
{
|
|
189
|
+
followingKey: 'follow123',
|
|
190
|
+
vybName: 'Test Vybit',
|
|
191
|
+
status: 'on',
|
|
192
|
+
},
|
|
193
|
+
];
|
|
194
|
+
mockFetch.mockResolvedValueOnce({
|
|
195
|
+
ok: true,
|
|
196
|
+
status: 200,
|
|
197
|
+
json: async () => mockFollows,
|
|
198
|
+
});
|
|
199
|
+
const result = await client.listVybitFollows();
|
|
200
|
+
expect(result[0]).toHaveProperty('followingKey');
|
|
201
|
+
expect(result[0]).not.toHaveProperty('key');
|
|
202
|
+
expect(result[0]).not.toHaveProperty('personKey');
|
|
203
|
+
expect(result[0]).not.toHaveProperty('vybKey');
|
|
204
|
+
});
|
|
205
|
+
});
|
|
206
|
+
describe('searchSounds', () => {
|
|
207
|
+
test('should search sounds with params', async () => {
|
|
208
|
+
const mockSounds = [
|
|
209
|
+
{
|
|
210
|
+
key: 'sound1',
|
|
211
|
+
name: 'Bell',
|
|
212
|
+
type: 'mp3',
|
|
213
|
+
status: 'public',
|
|
214
|
+
url: 'https://api.vybit.net/v1/sound/sound1/play',
|
|
215
|
+
},
|
|
216
|
+
];
|
|
217
|
+
mockFetch.mockResolvedValueOnce({
|
|
218
|
+
ok: true,
|
|
219
|
+
status: 200,
|
|
220
|
+
json: async () => mockSounds,
|
|
221
|
+
});
|
|
222
|
+
const result = await client.searchSounds({ search: 'bell', limit: 10 });
|
|
223
|
+
expect(result).toEqual(mockSounds);
|
|
224
|
+
const callUrl = mockFetch.mock.calls[0][0];
|
|
225
|
+
expect(callUrl).toContain('/v1/sounds?');
|
|
226
|
+
expect(callUrl).toContain('search=bell');
|
|
227
|
+
expect(callUrl).toContain('limit=10');
|
|
228
|
+
});
|
|
229
|
+
});
|
|
230
|
+
describe('triggerVybit', () => {
|
|
231
|
+
test('should trigger vybit without params', async () => {
|
|
232
|
+
const mockResponse = { result: 1, plk: 'log123' };
|
|
233
|
+
mockFetch.mockResolvedValueOnce({
|
|
234
|
+
ok: true,
|
|
235
|
+
status: 200,
|
|
236
|
+
json: async () => mockResponse,
|
|
237
|
+
});
|
|
238
|
+
const result = await client.triggerVybit('vyb123');
|
|
239
|
+
expect(result).toEqual(mockResponse);
|
|
240
|
+
expect(mockFetch).toHaveBeenCalledWith('https://api.vybit.net/v1/vybit/vyb123/trigger', expect.objectContaining({
|
|
241
|
+
method: 'POST',
|
|
242
|
+
}));
|
|
243
|
+
});
|
|
244
|
+
test('should trigger vybit with custom params', async () => {
|
|
245
|
+
const mockResponse = { result: 1, plk: 'log456' };
|
|
246
|
+
const params = {
|
|
247
|
+
message: 'Custom message',
|
|
248
|
+
imageUrl: 'https://example.com/image.jpg',
|
|
249
|
+
linkUrl: 'https://example.com',
|
|
250
|
+
};
|
|
251
|
+
mockFetch.mockResolvedValueOnce({
|
|
252
|
+
ok: true,
|
|
253
|
+
status: 200,
|
|
254
|
+
json: async () => mockResponse,
|
|
255
|
+
});
|
|
256
|
+
const result = await client.triggerVybit('vyb123', params);
|
|
257
|
+
expect(result).toEqual(mockResponse);
|
|
258
|
+
expect(mockFetch).toHaveBeenCalledWith('https://api.vybit.net/v1/vybit/vyb123/trigger', expect.objectContaining({
|
|
259
|
+
method: 'POST',
|
|
260
|
+
body: JSON.stringify(params),
|
|
261
|
+
}));
|
|
262
|
+
});
|
|
263
|
+
});
|
|
264
|
+
describe('error handling', () => {
|
|
265
|
+
test('should throw VybitAuthError on 401', async () => {
|
|
266
|
+
mockFetch.mockResolvedValueOnce({
|
|
267
|
+
ok: false,
|
|
268
|
+
status: 401,
|
|
269
|
+
json: async () => ({ error: 'unauthorized', message: 'Invalid API key' }),
|
|
270
|
+
});
|
|
271
|
+
await expect(client.getStatus()).rejects.toThrow(core_1.VybitAuthError);
|
|
272
|
+
});
|
|
273
|
+
test('should throw VybitAPIError on 404', async () => {
|
|
274
|
+
mockFetch.mockResolvedValueOnce({
|
|
275
|
+
ok: false,
|
|
276
|
+
status: 404,
|
|
277
|
+
json: async () => ({ error: 'not_found', message: 'Resource not found' }),
|
|
278
|
+
});
|
|
279
|
+
await expect(client.getVybit('invalid-key')).rejects.toThrow(core_1.VybitAPIError);
|
|
280
|
+
});
|
|
281
|
+
test('should throw VybitAPIError on 429 (rate limit)', async () => {
|
|
282
|
+
mockFetch.mockResolvedValueOnce({
|
|
283
|
+
ok: false,
|
|
284
|
+
status: 429,
|
|
285
|
+
json: async () => ({ error: 'rate_limit_exceeded', message: 'Too many requests' }),
|
|
286
|
+
});
|
|
287
|
+
await expect(client.getStatus()).rejects.toThrow(core_1.VybitAPIError);
|
|
288
|
+
});
|
|
289
|
+
test('should include status code in error', async () => {
|
|
290
|
+
mockFetch.mockResolvedValueOnce({
|
|
291
|
+
ok: false,
|
|
292
|
+
status: 403,
|
|
293
|
+
json: async () => ({ error: 'forbidden', message: 'Access denied' }),
|
|
294
|
+
});
|
|
295
|
+
try {
|
|
296
|
+
await client.getStatus();
|
|
297
|
+
fail('Should have thrown error');
|
|
298
|
+
}
|
|
299
|
+
catch (error) {
|
|
300
|
+
expect(error).toBeInstanceOf(core_1.VybitAPIError);
|
|
301
|
+
expect(error.statusCode).toBe(403);
|
|
302
|
+
}
|
|
303
|
+
});
|
|
304
|
+
test('should handle network errors', async () => {
|
|
305
|
+
mockFetch.mockRejectedValueOnce(new Error('Network error'));
|
|
306
|
+
await expect(client.getStatus()).rejects.toThrow('Network error');
|
|
307
|
+
});
|
|
308
|
+
});
|
|
309
|
+
describe('deleteVybit', () => {
|
|
310
|
+
test('should delete vybit successfully', async () => {
|
|
311
|
+
mockFetch.mockResolvedValueOnce({
|
|
312
|
+
ok: true,
|
|
313
|
+
status: 200,
|
|
314
|
+
json: async () => ({ result: 1, message: 'Deleted successfully' }),
|
|
315
|
+
});
|
|
316
|
+
const result = await client.deleteVybit('vyb123');
|
|
317
|
+
expect(result.result).toBe(1);
|
|
318
|
+
expect(mockFetch).toHaveBeenCalledWith('https://api.vybit.net/v1/vybit/vyb123', expect.objectContaining({
|
|
319
|
+
method: 'DELETE',
|
|
320
|
+
}));
|
|
321
|
+
});
|
|
322
|
+
});
|
|
323
|
+
});
|
|
324
|
+
//# sourceMappingURL=api-client.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api-client.test.js","sourceRoot":"","sources":["../../src/__tests__/api-client.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* API Client Integration Tests
|
|
3
|
+
*
|
|
4
|
+
* These tests run against the real Vybit API when VYBIT_API_KEY is provided.
|
|
5
|
+
* They are skipped in CI when no API key is available.
|
|
6
|
+
*
|
|
7
|
+
* To run:
|
|
8
|
+
* VYBIT_API_KEY=your-key npm test -w @vybit/api-sdk
|
|
9
|
+
*/
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=api-integration.test.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api-integration.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/api-integration.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG"}
|
|
@@ -0,0 +1,267 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* API Client Integration Tests
|
|
4
|
+
*
|
|
5
|
+
* These tests run against the real Vybit API when VYBIT_API_KEY is provided.
|
|
6
|
+
* They are skipped in CI when no API key is available.
|
|
7
|
+
*
|
|
8
|
+
* To run:
|
|
9
|
+
* VYBIT_API_KEY=your-key npm test -w @vybit/api-sdk
|
|
10
|
+
*/
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
const api_client_1 = require("../api-client");
|
|
13
|
+
const API_KEY = process.env.VYBIT_API_KEY;
|
|
14
|
+
const hasApiKey = !!API_KEY && API_KEY !== 'your-api-key-here';
|
|
15
|
+
// Skip all integration tests if no API key
|
|
16
|
+
const describeWithApiKey = hasApiKey ? describe : describe.skip;
|
|
17
|
+
describeWithApiKey('API Client Integration Tests (Real API)', () => {
|
|
18
|
+
let client;
|
|
19
|
+
const createdResources = {
|
|
20
|
+
vybits: [],
|
|
21
|
+
follows: [],
|
|
22
|
+
peeps: [],
|
|
23
|
+
};
|
|
24
|
+
// Helper to add delay between API calls to avoid rate limiting
|
|
25
|
+
const delay = (ms) => new Promise(resolve => setTimeout(resolve, ms));
|
|
26
|
+
beforeAll(() => {
|
|
27
|
+
if (!hasApiKey)
|
|
28
|
+
return;
|
|
29
|
+
const baseUrl = process.env.VYBIT_API_URL || 'https://api.vybit.net/v1';
|
|
30
|
+
client = new api_client_1.VybitAPIClient({
|
|
31
|
+
apiKey: API_KEY,
|
|
32
|
+
baseUrl: baseUrl
|
|
33
|
+
});
|
|
34
|
+
console.log('🔑 Running API integration tests with real API key');
|
|
35
|
+
console.log(`🌐 API URL: ${baseUrl}`);
|
|
36
|
+
console.log('⏱️ Adding delays between requests to avoid rate limiting...');
|
|
37
|
+
});
|
|
38
|
+
beforeEach(async () => {
|
|
39
|
+
// Add 200ms delay before each test to avoid rate limiting (10 req/sec = 100ms minimum)
|
|
40
|
+
await delay(200);
|
|
41
|
+
});
|
|
42
|
+
afterAll(async () => {
|
|
43
|
+
if (!hasApiKey || !client)
|
|
44
|
+
return;
|
|
45
|
+
// Cleanup any created resources
|
|
46
|
+
console.log('🧹 Cleaning up test resources...');
|
|
47
|
+
for (const followKey of createdResources.follows) {
|
|
48
|
+
try {
|
|
49
|
+
await client.deleteVybitFollow(followKey);
|
|
50
|
+
await delay(150);
|
|
51
|
+
}
|
|
52
|
+
catch (error) {
|
|
53
|
+
// Ignore cleanup errors
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
for (const vybitKey of createdResources.vybits) {
|
|
57
|
+
try {
|
|
58
|
+
await client.deleteVybit(vybitKey);
|
|
59
|
+
await delay(150);
|
|
60
|
+
}
|
|
61
|
+
catch (error) {
|
|
62
|
+
// Ignore cleanup errors
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
describe('Basic Endpoints', () => {
|
|
67
|
+
test('getStatus should return up', async () => {
|
|
68
|
+
const result = await client.getStatus();
|
|
69
|
+
expect(result.status).toBe('up');
|
|
70
|
+
});
|
|
71
|
+
test('getProfile should return user profile', async () => {
|
|
72
|
+
const result = await client.getProfile();
|
|
73
|
+
expect(result).toHaveProperty('key');
|
|
74
|
+
expect(result).toHaveProperty('name');
|
|
75
|
+
expect(result).toHaveProperty('email');
|
|
76
|
+
expect(result).toHaveProperty('tier_id');
|
|
77
|
+
});
|
|
78
|
+
test('getMeter should return correct meter fields', async () => {
|
|
79
|
+
const result = await client.getMeter();
|
|
80
|
+
expect(result).toHaveProperty('tier_id');
|
|
81
|
+
expect(result).toHaveProperty('cap_vybits');
|
|
82
|
+
expect(result).toHaveProperty('cap_daily');
|
|
83
|
+
expect(result).toHaveProperty('cap_monthly');
|
|
84
|
+
expect(result).toHaveProperty('number_vybits');
|
|
85
|
+
expect(result).toHaveProperty('count_daily');
|
|
86
|
+
expect(result).toHaveProperty('count_monthly');
|
|
87
|
+
expect(result).toHaveProperty('monthly_reset_dts');
|
|
88
|
+
// Should NOT have this field
|
|
89
|
+
expect(result).not.toHaveProperty('count_total');
|
|
90
|
+
});
|
|
91
|
+
});
|
|
92
|
+
describe('Vybit CRUD Operations', () => {
|
|
93
|
+
test('createVybit with minimal params (name only)', async () => {
|
|
94
|
+
const result = await client.createVybit({
|
|
95
|
+
name: 'API Test - Minimal',
|
|
96
|
+
});
|
|
97
|
+
expect(result).toHaveProperty('key');
|
|
98
|
+
expect(result.name).toBe('API Test - Minimal');
|
|
99
|
+
expect(result).toHaveProperty('soundKey'); // Should have default
|
|
100
|
+
expect(result).toHaveProperty('triggerType'); // Should have default
|
|
101
|
+
expect(result).toHaveProperty('triggerKey');
|
|
102
|
+
expect(result).toHaveProperty('subscriptionKey');
|
|
103
|
+
createdResources.vybits.push(result.key);
|
|
104
|
+
});
|
|
105
|
+
test('createVybit with all optional fields', async () => {
|
|
106
|
+
const result = await client.createVybit({
|
|
107
|
+
name: 'API Test - Full',
|
|
108
|
+
description: 'Test description',
|
|
109
|
+
status: 'off',
|
|
110
|
+
access: 'private',
|
|
111
|
+
message: 'Test message',
|
|
112
|
+
});
|
|
113
|
+
expect(result.name).toBe('API Test - Full');
|
|
114
|
+
expect(result.description).toBe('Test description');
|
|
115
|
+
expect(result.status).toBe('off');
|
|
116
|
+
expect(result.access).toBe('private');
|
|
117
|
+
expect(result.message).toBe('Test message');
|
|
118
|
+
createdResources.vybits.push(result.key);
|
|
119
|
+
});
|
|
120
|
+
test('getVybit should retrieve created vybit', async () => {
|
|
121
|
+
const created = await client.createVybit({ name: 'API Test - Get' });
|
|
122
|
+
createdResources.vybits.push(created.key);
|
|
123
|
+
await delay(150);
|
|
124
|
+
const result = await client.getVybit(created.key);
|
|
125
|
+
expect(result.key).toBe(created.key);
|
|
126
|
+
expect(result.name).toBe('API Test - Get');
|
|
127
|
+
});
|
|
128
|
+
test('patchVybit should update status field', async () => {
|
|
129
|
+
const created = await client.createVybit({ name: 'API Test - Update' });
|
|
130
|
+
createdResources.vybits.push(created.key);
|
|
131
|
+
await delay(150);
|
|
132
|
+
const result = await client.patchVybit(created.key, {
|
|
133
|
+
status: 'off',
|
|
134
|
+
});
|
|
135
|
+
expect(result.status).toBe('off');
|
|
136
|
+
});
|
|
137
|
+
test('patchVybit should update multiple fields', async () => {
|
|
138
|
+
const created = await client.createVybit({ name: 'API Test - Multi' });
|
|
139
|
+
createdResources.vybits.push(created.key);
|
|
140
|
+
await delay(150);
|
|
141
|
+
const result = await client.patchVybit(created.key, {
|
|
142
|
+
name: 'Updated Name',
|
|
143
|
+
status: 'off',
|
|
144
|
+
message: 'Updated message',
|
|
145
|
+
});
|
|
146
|
+
expect(result.name).toBe('Updated Name');
|
|
147
|
+
expect(result.status).toBe('off');
|
|
148
|
+
expect(result.message).toBe('Updated message');
|
|
149
|
+
});
|
|
150
|
+
test('listVybits should return array', async () => {
|
|
151
|
+
const result = await client.listVybits({ limit: 5 });
|
|
152
|
+
expect(Array.isArray(result)).toBe(true);
|
|
153
|
+
expect(result.length).toBeLessThanOrEqual(5);
|
|
154
|
+
});
|
|
155
|
+
test('deleteVybit should remove vybit', async () => {
|
|
156
|
+
const created = await client.createVybit({ name: 'API Test - Delete' });
|
|
157
|
+
await delay(150);
|
|
158
|
+
const result = await client.deleteVybit(created.key);
|
|
159
|
+
expect(result.result).toBe(1);
|
|
160
|
+
// Remove from cleanup list since already deleted
|
|
161
|
+
const index = createdResources.vybits.indexOf(created.key);
|
|
162
|
+
if (index > -1) {
|
|
163
|
+
createdResources.vybits.splice(index, 1);
|
|
164
|
+
}
|
|
165
|
+
});
|
|
166
|
+
});
|
|
167
|
+
describe('Vybit Follows', () => {
|
|
168
|
+
test('listVybitFollows should use followingKey field', async () => {
|
|
169
|
+
const result = await client.listVybitFollows({ limit: 1 });
|
|
170
|
+
if (result.length > 0) {
|
|
171
|
+
expect(result[0]).toHaveProperty('followingKey');
|
|
172
|
+
expect(result[0]).not.toHaveProperty('key');
|
|
173
|
+
expect(result[0]).not.toHaveProperty('personKey');
|
|
174
|
+
expect(result[0]).not.toHaveProperty('vybKey');
|
|
175
|
+
}
|
|
176
|
+
});
|
|
177
|
+
});
|
|
178
|
+
describe('Sounds', () => {
|
|
179
|
+
test('searchSounds should return results', async () => {
|
|
180
|
+
const result = await client.searchSounds({
|
|
181
|
+
search: 'notification',
|
|
182
|
+
limit: 5,
|
|
183
|
+
});
|
|
184
|
+
expect(Array.isArray(result)).toBe(true);
|
|
185
|
+
if (result.length > 0) {
|
|
186
|
+
expect(result[0]).toHaveProperty('key');
|
|
187
|
+
expect(result[0]).toHaveProperty('name');
|
|
188
|
+
expect(result[0]).toHaveProperty('type');
|
|
189
|
+
expect(result[0]).toHaveProperty('status');
|
|
190
|
+
expect(result[0]).toHaveProperty('url');
|
|
191
|
+
}
|
|
192
|
+
});
|
|
193
|
+
test('getSound should return sound details', async () => {
|
|
194
|
+
const sounds = await client.searchSounds({ limit: 1 });
|
|
195
|
+
if (sounds.length === 0) {
|
|
196
|
+
console.log('No sounds available, skipping test');
|
|
197
|
+
return;
|
|
198
|
+
}
|
|
199
|
+
await delay(150);
|
|
200
|
+
const result = await client.getSound(sounds[0].key);
|
|
201
|
+
expect(result.key).toBe(sounds[0].key);
|
|
202
|
+
expect(result).toHaveProperty('name');
|
|
203
|
+
expect(result).toHaveProperty('type');
|
|
204
|
+
expect(result).toHaveProperty('url');
|
|
205
|
+
});
|
|
206
|
+
test('getSoundPlayUrl should return correct URL', () => {
|
|
207
|
+
const baseUrl = process.env.VYBIT_API_URL || 'https://api.vybit.net/v1';
|
|
208
|
+
const url = client.getSoundPlayUrl('test-sound-key');
|
|
209
|
+
expect(url).toBe(`${baseUrl}/sound/test-sound-key/play`);
|
|
210
|
+
});
|
|
211
|
+
});
|
|
212
|
+
describe('Vybit Trigger', () => {
|
|
213
|
+
let testVybit;
|
|
214
|
+
beforeAll(async () => {
|
|
215
|
+
if (!hasApiKey)
|
|
216
|
+
return;
|
|
217
|
+
testVybit = await client.createVybit({
|
|
218
|
+
name: 'API Test - Trigger',
|
|
219
|
+
status: 'on',
|
|
220
|
+
});
|
|
221
|
+
createdResources.vybits.push(testVybit.key);
|
|
222
|
+
await delay(200);
|
|
223
|
+
});
|
|
224
|
+
test('triggerVybit without params should work', async () => {
|
|
225
|
+
const result = await client.triggerVybit(testVybit.key);
|
|
226
|
+
expect(result).toHaveProperty('result');
|
|
227
|
+
expect(result.result).toBe(1);
|
|
228
|
+
expect(result).toHaveProperty('plk');
|
|
229
|
+
});
|
|
230
|
+
test('triggerVybit with custom message should work', async () => {
|
|
231
|
+
const result = await client.triggerVybit(testVybit.key, {
|
|
232
|
+
message: 'Integration test notification',
|
|
233
|
+
});
|
|
234
|
+
expect(result.result).toBe(1);
|
|
235
|
+
expect(result).toHaveProperty('plk');
|
|
236
|
+
});
|
|
237
|
+
});
|
|
238
|
+
describe('Error Handling', () => {
|
|
239
|
+
test('should throw error for non-existent vybit', async () => {
|
|
240
|
+
await expect(client.getVybit('invalid-key-12345')).rejects.toThrow();
|
|
241
|
+
});
|
|
242
|
+
test('should throw error for non-existent sound', async () => {
|
|
243
|
+
await expect(client.getSound('invalid-sound-key')).rejects.toThrow();
|
|
244
|
+
});
|
|
245
|
+
});
|
|
246
|
+
describe('Logs', () => {
|
|
247
|
+
test('listLogs should return array', async () => {
|
|
248
|
+
const result = await client.listLogs({ limit: 5 });
|
|
249
|
+
expect(Array.isArray(result)).toBe(true);
|
|
250
|
+
if (result.length > 0) {
|
|
251
|
+
expect(result[0]).toHaveProperty('key');
|
|
252
|
+
expect(result[0]).toHaveProperty('vybKey');
|
|
253
|
+
expect(result[0]).toHaveProperty('ownerName');
|
|
254
|
+
expect(result[0]).toHaveProperty('senderName');
|
|
255
|
+
}
|
|
256
|
+
});
|
|
257
|
+
});
|
|
258
|
+
});
|
|
259
|
+
// Show message when tests are skipped
|
|
260
|
+
if (!hasApiKey) {
|
|
261
|
+
describe('API Client Integration Tests', () => {
|
|
262
|
+
test.skip('Integration tests skipped - set VYBIT_API_KEY to run', () => {
|
|
263
|
+
console.log('💡 Tip: Run with VYBIT_API_KEY=your-key npm test -w @vybit/api-sdk');
|
|
264
|
+
});
|
|
265
|
+
});
|
|
266
|
+
}
|
|
267
|
+
//# sourceMappingURL=api-integration.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api-integration.test.js","sourceRoot":"","sources":["../../src/__tests__/api-integration.test.ts"],"names":[],"mappings":"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"}
|
package/dist/api-client.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { VybitAPIConfig, PaginationParams, SearchParams, StatusResponse, Profile, Meter, Vybit, VybitCreateParams, VybitUpdateParams, VybitTriggerParams, VybitTriggerResponse, VybitFollow, VybitFollowUpdateParams, SubscriberSendParams, SubscriberSendResponse, Sound, Log, Peep, DeleteResponse } from './types';
|
|
1
|
+
import { VybitAPIConfig, PaginationParams, SearchParams, StatusResponse, Profile, Meter, Vybit, VybitCreateParams, VybitUpdateParams, VybitTriggerParams, VybitTriggerResponse, VybitFollow, VybitFollowUpdateParams, PublicVybit, SubscriberSendParams, SubscriberSendResponse, Sound, Log, Peep, DeleteResponse } from './types';
|
|
2
2
|
/**
|
|
3
3
|
* Vybit Developer API client
|
|
4
4
|
*
|
|
@@ -7,10 +7,14 @@ import { VybitAPIConfig, PaginationParams, SearchParams, StatusResponse, Profile
|
|
|
7
7
|
*
|
|
8
8
|
* @example
|
|
9
9
|
* ```typescript
|
|
10
|
+
* // With explicit API key
|
|
10
11
|
* const client = new VybitAPIClient({
|
|
11
12
|
* apiKey: 'your-api-key-from-developer-portal'
|
|
12
13
|
* });
|
|
13
14
|
*
|
|
15
|
+
* // Using VYBIT_API_KEY environment variable
|
|
16
|
+
* const client = new VybitAPIClient();
|
|
17
|
+
*
|
|
14
18
|
* // Get API status
|
|
15
19
|
* const status = await client.getStatus();
|
|
16
20
|
*
|
|
@@ -26,15 +30,14 @@ import { VybitAPIConfig, PaginationParams, SearchParams, StatusResponse, Profile
|
|
|
26
30
|
* ```
|
|
27
31
|
*/
|
|
28
32
|
export declare class VybitAPIClient {
|
|
29
|
-
private
|
|
33
|
+
private apiKey;
|
|
30
34
|
private baseUrl;
|
|
31
35
|
/**
|
|
32
36
|
* Creates a new Vybit Developer API client
|
|
33
|
-
* @param config - API configuration
|
|
34
|
-
* @throws {VybitValidationError} When
|
|
37
|
+
* @param config - API configuration. If apiKey is not provided, falls back to VYBIT_API_KEY environment variable
|
|
38
|
+
* @throws {VybitValidationError} When API key is not provided and VYBIT_API_KEY environment variable is not set
|
|
35
39
|
*/
|
|
36
|
-
constructor(config
|
|
37
|
-
private validateConfig;
|
|
40
|
+
constructor(config?: VybitAPIConfig);
|
|
38
41
|
private request;
|
|
39
42
|
private buildQueryParams;
|
|
40
43
|
/**
|
|
@@ -111,13 +114,13 @@ export declare class VybitAPIClient {
|
|
|
111
114
|
* @param params - Pagination and search parameters
|
|
112
115
|
* @returns Array of public vybits
|
|
113
116
|
*/
|
|
114
|
-
listPublicVybits(params?: SearchParams): Promise<
|
|
117
|
+
listPublicVybits(params?: SearchParams): Promise<PublicVybit[]>;
|
|
115
118
|
/**
|
|
116
119
|
* Get a public vybit by subscription key
|
|
117
120
|
* @param key - Subscription key
|
|
118
121
|
* @returns Public vybit details
|
|
119
122
|
*/
|
|
120
|
-
getPublicVybit(key: string): Promise<
|
|
123
|
+
getPublicVybit(key: string): Promise<PublicVybit>;
|
|
121
124
|
/**
|
|
122
125
|
* List vybit subscriptions (follows)
|
|
123
126
|
* @param params - Pagination and search parameters
|
package/dist/api-client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["../src/api-client.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACd,OAAO,EACP,KAAK,EACL,KAAK,EACL,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,WAAW,EACX,uBAAuB,EACvB,oBAAoB,EACpB,sBAAsB,EACtB,KAAK,EACL,GAAG,EACH,IAAI,EACJ,cAAc,EACf,MAAM,SAAS,CAAC;AAEjB
|
|
1
|
+
{"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["../src/api-client.ts"],"names":[],"mappings":"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"}
|
package/dist/api-client.js
CHANGED
|
@@ -10,10 +10,14 @@ const core_1 = require("@vybit/core");
|
|
|
10
10
|
*
|
|
11
11
|
* @example
|
|
12
12
|
* ```typescript
|
|
13
|
+
* // With explicit API key
|
|
13
14
|
* const client = new VybitAPIClient({
|
|
14
15
|
* apiKey: 'your-api-key-from-developer-portal'
|
|
15
16
|
* });
|
|
16
17
|
*
|
|
18
|
+
* // Using VYBIT_API_KEY environment variable
|
|
19
|
+
* const client = new VybitAPIClient();
|
|
20
|
+
*
|
|
17
21
|
* // Get API status
|
|
18
22
|
* const status = await client.getStatus();
|
|
19
23
|
*
|
|
@@ -31,23 +35,22 @@ const core_1 = require("@vybit/core");
|
|
|
31
35
|
class VybitAPIClient {
|
|
32
36
|
/**
|
|
33
37
|
* Creates a new Vybit Developer API client
|
|
34
|
-
* @param config - API configuration
|
|
35
|
-
* @throws {VybitValidationError} When
|
|
36
|
-
*/
|
|
37
|
-
constructor(config) {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
validateConfig(config) {
|
|
43
|
-
if (!config.apiKey) {
|
|
44
|
-
throw new core_1.VybitValidationError('API key is required');
|
|
38
|
+
* @param config - API configuration. If apiKey is not provided, falls back to VYBIT_API_KEY environment variable
|
|
39
|
+
* @throws {VybitValidationError} When API key is not provided and VYBIT_API_KEY environment variable is not set
|
|
40
|
+
*/
|
|
41
|
+
constructor(config = {}) {
|
|
42
|
+
// Explicit apiKey takes precedence, then fall back to env var
|
|
43
|
+
const apiKey = config.apiKey || process.env.VYBIT_API_KEY;
|
|
44
|
+
if (!apiKey) {
|
|
45
|
+
throw new core_1.VybitValidationError('API key is required. Provide it in the config or set VYBIT_API_KEY environment variable');
|
|
45
46
|
}
|
|
47
|
+
this.apiKey = apiKey;
|
|
48
|
+
this.baseUrl = config.baseUrl || (0, core_1.getApiBaseUrl)();
|
|
46
49
|
}
|
|
47
50
|
async request(endpoint, options = {}) {
|
|
48
51
|
const url = `${this.baseUrl}${endpoint}`;
|
|
49
52
|
const headers = {
|
|
50
|
-
'X-API-Key': this.
|
|
53
|
+
'X-API-Key': this.apiKey,
|
|
51
54
|
...options.headers,
|
|
52
55
|
};
|
|
53
56
|
if (options.body && !headers['Content-Type']) {
|
|
@@ -66,7 +69,11 @@ class VybitAPIClient {
|
|
|
66
69
|
throw new core_1.VybitAPIError('Rate limit exceeded', response.status);
|
|
67
70
|
}
|
|
68
71
|
const errorData = await response.json().catch(() => ({}));
|
|
69
|
-
|
|
72
|
+
// Handle vybit limit error specifically
|
|
73
|
+
if (response.status === 403 && errorData.error === 'vybit_limit_reached') {
|
|
74
|
+
throw new core_1.VybitAPIError('Vybit limit reached for your tier. Delete existing vybits or upgrade your account.', response.status);
|
|
75
|
+
}
|
|
76
|
+
throw new core_1.VybitAPIError(errorData.message || errorData.error || `API request failed: ${response.statusText}`, response.status);
|
|
70
77
|
}
|
|
71
78
|
return await response.json();
|
|
72
79
|
}
|
package/dist/api-client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-client.js","sourceRoot":"","sources":["../src/api-client.ts"],"names":[],"mappings":";;;AAAA,sCAKqB;
|
|
1
|
+
{"version":3,"file":"api-client.js","sourceRoot":"","sources":["../src/api-client.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
* Configuration for Vybit Developer API client
|
|
3
3
|
*/
|
|
4
4
|
export interface VybitAPIConfig {
|
|
5
|
-
/** Developer API key from Vybit developer portal */
|
|
6
|
-
apiKey
|
|
5
|
+
/** Developer API key from Vybit developer portal. If not provided, falls back to VYBIT_API_KEY environment variable */
|
|
6
|
+
apiKey?: string;
|
|
7
7
|
/** Base URL for API calls (defaults to production) */
|
|
8
8
|
baseUrl?: string;
|
|
9
9
|
}
|
|
@@ -55,12 +55,14 @@ export interface Meter {
|
|
|
55
55
|
cap_daily: number;
|
|
56
56
|
/** Maximum monthly notifications */
|
|
57
57
|
cap_monthly: number;
|
|
58
|
+
/** Current number of vybits created */
|
|
59
|
+
number_vybits: number;
|
|
58
60
|
/** Notifications triggered today */
|
|
59
61
|
count_daily: number;
|
|
60
62
|
/** Notifications triggered this month */
|
|
61
63
|
count_monthly: number;
|
|
62
|
-
/**
|
|
63
|
-
|
|
64
|
+
/** When the monthly count will reset */
|
|
65
|
+
monthly_reset_dts: string;
|
|
64
66
|
}
|
|
65
67
|
/**
|
|
66
68
|
* Vybit notification configuration
|
|
@@ -75,7 +77,7 @@ export interface Vybit {
|
|
|
75
77
|
/** Key of the sound to play */
|
|
76
78
|
soundKey: string;
|
|
77
79
|
/** Vybit status */
|
|
78
|
-
status?: '
|
|
80
|
+
status?: 'on' | 'off';
|
|
79
81
|
/** Vybit type (legacy field) */
|
|
80
82
|
type?: string;
|
|
81
83
|
/** Unique key for triggering this vybit via webhook */
|
|
@@ -115,13 +117,15 @@ export interface VybitCreateParams {
|
|
|
115
117
|
name: string;
|
|
116
118
|
/** Detailed vybit description */
|
|
117
119
|
description?: string;
|
|
118
|
-
/** Key of the sound to play */
|
|
119
|
-
soundKey
|
|
120
|
-
/**
|
|
121
|
-
|
|
120
|
+
/** Key of the sound to play (defaults to a system sound if not provided) */
|
|
121
|
+
soundKey?: string;
|
|
122
|
+
/** Vybit status (on = active, off = disabled, defaults to "on") */
|
|
123
|
+
status?: 'on' | 'off';
|
|
124
|
+
/** How this vybit is triggered (defaults to "webhook") */
|
|
125
|
+
triggerType?: 'webhook' | 'schedule' | 'geofence' | 'integration';
|
|
122
126
|
/** Configuration specific to the trigger type */
|
|
123
127
|
triggerSettings?: any;
|
|
124
|
-
/** Vybit visibility and access control */
|
|
128
|
+
/** Vybit visibility and access control (defaults to "private") */
|
|
125
129
|
access?: 'public' | 'private' | 'unlisted';
|
|
126
130
|
/** Default message displayed with notifications */
|
|
127
131
|
message?: string;
|
|
@@ -131,7 +135,7 @@ export interface VybitCreateParams {
|
|
|
131
135
|
linkUrl?: string;
|
|
132
136
|
/** Geofence configuration (for geofence trigger type) */
|
|
133
137
|
geofence?: any;
|
|
134
|
-
/** Who can trigger this vybit */
|
|
138
|
+
/** Who can trigger this vybit (defaults to "owner_subs") */
|
|
135
139
|
sendPermissions?: 'owner_subs' | 'subs_owner' | 'subs_group';
|
|
136
140
|
}
|
|
137
141
|
/**
|
|
@@ -144,6 +148,8 @@ export interface VybitUpdateParams {
|
|
|
144
148
|
description?: string;
|
|
145
149
|
/** Key of the sound to play */
|
|
146
150
|
soundKey?: string;
|
|
151
|
+
/** Vybit status (on = active, off = disabled) */
|
|
152
|
+
status?: 'on' | 'off';
|
|
147
153
|
/** How this vybit is triggered */
|
|
148
154
|
triggerType?: 'webhook' | 'schedule' | 'geofence' | 'integration';
|
|
149
155
|
/** Configuration specific to the trigger type */
|
|
@@ -166,11 +172,7 @@ export interface VybitUpdateParams {
|
|
|
166
172
|
*/
|
|
167
173
|
export interface VybitFollow {
|
|
168
174
|
/** Unique vybit follow identifier */
|
|
169
|
-
|
|
170
|
-
/** Key of the subscribed user */
|
|
171
|
-
personKey?: string;
|
|
172
|
-
/** Key of the vybit being followed */
|
|
173
|
-
vybKey: string;
|
|
175
|
+
followingKey: string;
|
|
174
176
|
/** Name of the vybit being followed */
|
|
175
177
|
vybName: string;
|
|
176
178
|
/** Description of the vybit */
|
|
@@ -189,8 +191,6 @@ export interface VybitFollow {
|
|
|
189
191
|
subscriptionKey?: string;
|
|
190
192
|
/** Access level of the vybit */
|
|
191
193
|
access?: 'public' | 'private' | 'unlisted';
|
|
192
|
-
/** Trigger type of the vybit */
|
|
193
|
-
triggerType?: 'webhook' | 'schedule' | 'geofence' | 'integration';
|
|
194
194
|
/** Default message for this vybit */
|
|
195
195
|
message?: string;
|
|
196
196
|
/** Default image URL */
|
|
@@ -226,6 +226,33 @@ export interface VybitFollowUpdateParams {
|
|
|
226
226
|
/** Custom link URL (only if subscribers can send notifications) */
|
|
227
227
|
linkUrl?: string;
|
|
228
228
|
}
|
|
229
|
+
/**
|
|
230
|
+
* Public vybit information for discovery
|
|
231
|
+
*/
|
|
232
|
+
export interface PublicVybit {
|
|
233
|
+
/** Unique subscription key for this public vybit */
|
|
234
|
+
key: string;
|
|
235
|
+
/** Vybit display name */
|
|
236
|
+
name: string;
|
|
237
|
+
/** Detailed vybit description */
|
|
238
|
+
description?: string;
|
|
239
|
+
/** Key of the sound to play */
|
|
240
|
+
soundKey: string;
|
|
241
|
+
/** Type of sound file */
|
|
242
|
+
soundType?: string;
|
|
243
|
+
/** Default image URL for notifications */
|
|
244
|
+
imageUrl?: string | null;
|
|
245
|
+
/** Default URL to open when notification is tapped */
|
|
246
|
+
linkUrl?: string | null;
|
|
247
|
+
/** Name of the vybit owner */
|
|
248
|
+
ownerName: string;
|
|
249
|
+
/** Whether the authenticated user is currently following this vybit */
|
|
250
|
+
following: boolean;
|
|
251
|
+
/** When the vybit was created */
|
|
252
|
+
createdAt?: string;
|
|
253
|
+
/** When the vybit was last updated */
|
|
254
|
+
updatedAt?: string;
|
|
255
|
+
}
|
|
229
256
|
/**
|
|
230
257
|
* Sound information
|
|
231
258
|
*/
|
|
@@ -240,12 +267,16 @@ export interface Sound {
|
|
|
240
267
|
type: string;
|
|
241
268
|
/** Sound status */
|
|
242
269
|
status: string;
|
|
243
|
-
/** URL to play/download the sound */
|
|
270
|
+
/** URL to play/download the sound via Vybit proxy */
|
|
244
271
|
url: string;
|
|
245
272
|
/** Key of first vybit using this sound (null if unused) */
|
|
246
273
|
vybitKey?: string | null;
|
|
247
274
|
/** Additional metadata about the sound */
|
|
248
275
|
meta?: any;
|
|
276
|
+
/** When the sound was created */
|
|
277
|
+
createdAt?: string;
|
|
278
|
+
/** When the sound was last updated */
|
|
279
|
+
updatedAt?: string;
|
|
249
280
|
}
|
|
250
281
|
/**
|
|
251
282
|
* Notification log entry
|
|
@@ -255,22 +286,28 @@ export interface Log {
|
|
|
255
286
|
key: string;
|
|
256
287
|
/** Key of the vybit that was triggered */
|
|
257
288
|
vybKey: string;
|
|
258
|
-
/**
|
|
259
|
-
|
|
260
|
-
/**
|
|
261
|
-
|
|
262
|
-
/**
|
|
263
|
-
|
|
264
|
-
/**
|
|
265
|
-
|
|
266
|
-
/**
|
|
267
|
-
|
|
268
|
-
/**
|
|
269
|
-
|
|
270
|
-
/**
|
|
271
|
-
|
|
272
|
-
/**
|
|
273
|
-
|
|
289
|
+
/** Name of the vybit */
|
|
290
|
+
vybName: string;
|
|
291
|
+
/** Description of the vybit */
|
|
292
|
+
vybDescription?: string;
|
|
293
|
+
/** Name of the user who owns/received the notification */
|
|
294
|
+
ownerName: string;
|
|
295
|
+
/** Name of the user who sent/triggered the notification */
|
|
296
|
+
senderName: string;
|
|
297
|
+
/** Notification message */
|
|
298
|
+
notification?: string;
|
|
299
|
+
/** Custom image URL */
|
|
300
|
+
imageUrl?: string | null;
|
|
301
|
+
/** Custom link URL */
|
|
302
|
+
linkUrl?: string | null;
|
|
303
|
+
/** Sound key used */
|
|
304
|
+
soundKey?: string | null;
|
|
305
|
+
/** Vybit follow key (null if owner-triggered) */
|
|
306
|
+
vybfollowKey?: string | null;
|
|
307
|
+
/** Custom log message */
|
|
308
|
+
log?: string | null;
|
|
309
|
+
/** When the log entry was created */
|
|
310
|
+
createdAt?: string;
|
|
274
311
|
}
|
|
275
312
|
/**
|
|
276
313
|
* Peep (subscriber) information
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vybit/api-sdk",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.1",
|
|
4
4
|
"description": "Developer API SDK for Vybit notification platform",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
7
7
|
"scripts": {
|
|
8
|
-
"build": "tsc",
|
|
9
|
-
"clean": "rm -rf dist",
|
|
8
|
+
"build": "tsc -b",
|
|
9
|
+
"clean": "rm -rf dist *.tsbuildinfo",
|
|
10
10
|
"dev": "tsc --watch",
|
|
11
11
|
"test": "jest --config ../../jest.config.js --rootDir ../..",
|
|
12
12
|
"lint": "echo 'Run lint from root: npm run lint'"
|