nango 0.31.4 → 0.31.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/action.ejs +6 -0
- package/dist/github.sync.ejs +58 -0
- package/dist/index.js +0 -0
- package/dist/sync.ejs +7 -0
- package/docker/docker-compose.yaml +2 -2
- package/package.json +2 -2
package/dist/action.ejs
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { NangoSync, <%= interfaceNames.join(', ') %> } from './<%= interfaceFileName %>';
|
|
2
|
+
|
|
3
|
+
export default async function runAction(nango: NangoSync, input?: object): Promise<{<% for (let i = 0; i < mappings.length; i++) { %><%= mappings[i].name %>: <%= mappings[i].type %>[]<% if (i !== mappings.length - 1) { %>, <% } %><% } %>}> {
|
|
4
|
+
// Integration code goes here, be sure to follow the return signature type
|
|
5
|
+
// and return data at the end of the action
|
|
6
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import type { NangoSync, <%= interfaceNames.join(', ') %> } from './<%= interfaceFileName %>';
|
|
2
|
+
|
|
3
|
+
export default async function fetchData(nango: NangoSync): Promise<<void> {
|
|
4
|
+
|
|
5
|
+
const repos = await paginate(nango, '/user/repos');
|
|
6
|
+
|
|
7
|
+
for (let repo of repos) {
|
|
8
|
+
let issues = await paginate(nango, `/repos/${repo.owner.login}/${repo.name}/issues`);
|
|
9
|
+
|
|
10
|
+
// Filter out pull requests
|
|
11
|
+
issues = issues.filter(issue => !('pull_request' in issue));
|
|
12
|
+
|
|
13
|
+
const mappedIssues: GithubIssue[] = issues.map(issue => ({
|
|
14
|
+
id: issue.id,
|
|
15
|
+
owner: repo.owner.login,
|
|
16
|
+
repo: repo.name,
|
|
17
|
+
issue_number: issue.number,
|
|
18
|
+
title: issue.title,
|
|
19
|
+
state: issue.state,
|
|
20
|
+
author: issue.user.login,
|
|
21
|
+
author_id: issue.user.id,
|
|
22
|
+
body: issue.body,
|
|
23
|
+
date_created: issue.created_at,
|
|
24
|
+
date_last_modified: issue.updated_at
|
|
25
|
+
}));
|
|
26
|
+
|
|
27
|
+
if (mappedIssues.length > 0) {
|
|
28
|
+
await nango.batchSave<GithubIssue>(mappedIssues, 'GithubIssue');
|
|
29
|
+
await nango.log(`Sent ${mappedIssues.length} issues from ${repo.owner.login}/${repo.name}`);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
async function paginate(nango: NangoSync, endpoint: string) {
|
|
35
|
+
const MAX_PAGE = 100;
|
|
36
|
+
|
|
37
|
+
let results: any[] = [];
|
|
38
|
+
let page = 1;
|
|
39
|
+
while (true) {
|
|
40
|
+
const resp = await nango.get({
|
|
41
|
+
endpoint: endpoint,
|
|
42
|
+
params: {
|
|
43
|
+
limit: `${MAX_PAGE}`,
|
|
44
|
+
page: `${page}`
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
|
|
48
|
+
results = results.concat(resp.data);
|
|
49
|
+
|
|
50
|
+
if (resp.data.length == MAX_PAGE) {
|
|
51
|
+
page += 1;
|
|
52
|
+
} else {
|
|
53
|
+
break;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
return results;
|
|
58
|
+
}
|
package/dist/index.js
CHANGED
|
File without changes
|
package/dist/sync.ejs
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { NangoSync, <%= interfaceNames.join(', ') %> } from './<%= interfaceFileName %>';
|
|
2
|
+
|
|
3
|
+
export default async function fetchData(nango: NangoSync): Promise<void> {
|
|
4
|
+
// Integration code goes here
|
|
5
|
+
// to save data use await nango.batchSave
|
|
6
|
+
// to delete data use await nango.batchDelete
|
|
7
|
+
}
|
|
@@ -15,7 +15,7 @@ services:
|
|
|
15
15
|
- nango
|
|
16
16
|
|
|
17
17
|
nango-server:
|
|
18
|
-
image: nangohq/nango-server:0.31.
|
|
18
|
+
image: nangohq/nango-server:0.31.5
|
|
19
19
|
container_name: nango-server
|
|
20
20
|
environment:
|
|
21
21
|
- TEMPORAL_ADDRESS=temporal:7233
|
|
@@ -47,7 +47,7 @@ services:
|
|
|
47
47
|
- nango
|
|
48
48
|
|
|
49
49
|
nango-worker:
|
|
50
|
-
image: nangohq/nango-worker:0.31.
|
|
50
|
+
image: nangohq/nango-worker:0.31.5
|
|
51
51
|
container_name: nango-worker
|
|
52
52
|
restart: always
|
|
53
53
|
ports:
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "nango",
|
|
3
|
-
"version": "0.31.
|
|
3
|
+
"version": "0.31.6",
|
|
4
4
|
"description": "Nango's CLI tool.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"dependencies": {
|
|
24
24
|
"@babel/traverse": "^7.22.5",
|
|
25
25
|
"@inquirer/prompts": "^2.3.0",
|
|
26
|
-
"@nangohq/shared": "0.31.
|
|
26
|
+
"@nangohq/shared": "0.31.5",
|
|
27
27
|
"@vercel/ncc": "^0.36.1",
|
|
28
28
|
"axios": "^1.2.0",
|
|
29
29
|
"byots": "^5.0.0-dev.20221103.1.34",
|