Skip to content

Commit 8a8429d

Browse files
authored
feat(Transfer): adds 'next' export for Stream Access Points (#764)
1 parent 366d354 commit 8a8429d

3 files changed

Lines changed: 96 additions & 1 deletion

File tree

src/services/transfer/__tests__/__snapshots__/stream-access-point.spec.ts.snap

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// Jest Snapshot v1, https://jestjs.io/docs/snapshot-testing
1+
// Jest Snapshot v1, https://goo.gl/fbAQLP
22

33
exports[`streamAccessPoint get 1`] = `
44
{
@@ -27,3 +27,31 @@ exports[`streamAccessPoint getAll 1`] = `
2727
"url": "https://transfer.api.globus.org/v2/stream_access_points?filter%5Bendpoint_admin%5D=true&filter%5Bfulltext%5D=example",
2828
}
2929
`;
30+
31+
exports[`streamAccessPoint next get 1`] = `
32+
{
33+
"headers": {
34+
"accept": "*/*",
35+
"accept-encoding": "gzip,deflate",
36+
"connection": "close",
37+
"host": "transfer.api.globus.org",
38+
"user-agent": "node-fetch/1.0 (+https://github.com/bitinn/node-fetch)",
39+
},
40+
"method": "GET",
41+
"url": "https://transfer.api.globus.org/v2/stream_access_points/example-stream-access-point-id",
42+
}
43+
`;
44+
45+
exports[`streamAccessPoint next getAll 1`] = `
46+
{
47+
"headers": {
48+
"accept": "*/*",
49+
"accept-encoding": "gzip,deflate",
50+
"connection": "close",
51+
"host": "transfer.api.globus.org",
52+
"user-agent": "node-fetch/1.0 (+https://github.com/bitinn/node-fetch)",
53+
},
54+
"method": "GET",
55+
"url": "https://transfer.api.globus.org/v2/stream_access_points?filter%5Bendpoint_admin%5D=true&filter%5Bfulltext%5D=example",
56+
}
57+
`;

src/services/transfer/__tests__/stream-access-point.spec.ts

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,4 +27,38 @@ describe('streamAccessPoint', () => {
2727
headers,
2828
}).toMatchSnapshot();
2929
});
30+
31+
describe('next', () => {
32+
test('getAll', async () => {
33+
const {
34+
req: { url, method, headers },
35+
} = await mirror(
36+
await streamAccessPoint.next.getAll({
37+
request: {
38+
query: { 'filter[endpoint_admin]': true, 'filter[fulltext]': 'example' },
39+
},
40+
}),
41+
);
42+
expect({
43+
url,
44+
method,
45+
headers,
46+
}).toMatchSnapshot();
47+
});
48+
49+
test('get', async () => {
50+
const {
51+
req: { url, method, headers },
52+
} = await mirror(
53+
await streamAccessPoint.next.get({
54+
stream_access_point_uuid: 'example-stream-access-point-id',
55+
}),
56+
);
57+
expect({
58+
url,
59+
method,
60+
headers,
61+
}).toMatchSnapshot();
62+
});
63+
});
3064
});

src/services/transfer/service/stream-access-point.ts

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import { serviceRequest } from '../../shared.js';
22
import { ID as service } from '../config.js';
33
import { RESOURCE_SERVERS } from '../../auth/config.js';
4+
import { createServiceMethodFactory } from '../../factory.js';
45

56
import type {
67
ServiceMethodDynamicSegments,
@@ -60,3 +61,35 @@ export const get = function (
6061
payload?: GetOperation['requestBody'];
6162
}
6263
>;
64+
65+
/**
66+
* @private
67+
*/
68+
export const next = {
69+
getAll: createServiceMethodFactory({
70+
service,
71+
resource_server: RESOURCE_SERVERS.TRANSFER,
72+
path: `/v2/stream_access_points`,
73+
}).generate<
74+
{
75+
request?: {
76+
query?: GetAllOperation['parameters']['query'];
77+
data?: GetAllOperation['requestBody'];
78+
};
79+
},
80+
JSONFetchResponse<GetAllOperation['responses']['200']['content']['application/json']>
81+
>(),
82+
get: createServiceMethodFactory({
83+
service,
84+
resource_server: RESOURCE_SERVERS.TRANSFER,
85+
path: `/v2/stream_access_points/{stream_access_point_uuid}`,
86+
}).generate<
87+
{
88+
request?: {
89+
query?: GetOperation['parameters']['query'];
90+
data?: GetOperation['requestBody'];
91+
};
92+
},
93+
JSONFetchResponse<GetOperation['responses']['200']['content']['application/json']>
94+
>(),
95+
};

0 commit comments

Comments
 (0)