nango 0.33.2 → 0.33.4
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/docker/docker-compose.yaml +2 -2
- package/package.json +2 -2
- package/dist/entry.js +0 -89
- package/dist/integration.ejs +0 -5
- package/dist/integration.github.ejs +0 -61
|
@@ -15,7 +15,7 @@ services:
|
|
|
15
15
|
- nango
|
|
16
16
|
|
|
17
17
|
nango-server:
|
|
18
|
-
image: nangohq/nango-server:0.33.
|
|
18
|
+
image: nangohq/nango-server:0.33.4
|
|
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.33.
|
|
50
|
+
image: nangohq/nango-worker:0.33.4
|
|
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.33.
|
|
3
|
+
"version": "0.33.4",
|
|
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.33.
|
|
26
|
+
"@nangohq/shared": "0.33.4",
|
|
27
27
|
"@vercel/ncc": "^0.36.1",
|
|
28
28
|
"axios": "^1.2.0",
|
|
29
29
|
"byots": "^5.0.0-dev.20221103.1.34",
|
package/dist/entry.js
DELETED
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __extends = (this && this.__extends) || (function () {
|
|
3
|
-
var extendStatics = function (d, b) {
|
|
4
|
-
extendStatics = Object.setPrototypeOf ||
|
|
5
|
-
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
-
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
-
return extendStatics(d, b);
|
|
8
|
-
};
|
|
9
|
-
return function (d, b) {
|
|
10
|
-
if (typeof b !== "function" && b !== null)
|
|
11
|
-
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
|
-
extendStatics(d, b);
|
|
13
|
-
function __() { this.constructor = d; }
|
|
14
|
-
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
-
};
|
|
16
|
-
})();
|
|
17
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
18
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
19
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
20
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
21
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
22
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
23
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
24
|
-
});
|
|
25
|
-
};
|
|
26
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
27
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
28
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
29
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
30
|
-
function step(op) {
|
|
31
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
32
|
-
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
33
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
34
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
35
|
-
switch (op[0]) {
|
|
36
|
-
case 0: case 1: t = op; break;
|
|
37
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
38
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
39
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
40
|
-
default:
|
|
41
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
42
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
43
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
44
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
45
|
-
if (t[2]) _.ops.pop();
|
|
46
|
-
_.trys.pop(); continue;
|
|
47
|
-
}
|
|
48
|
-
op = body.call(thisArg, _);
|
|
49
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
50
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
51
|
-
}
|
|
52
|
-
};
|
|
53
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
54
|
-
var node_1 = require("@nangohq/node");
|
|
55
|
-
// TODO this will be a local interface created by the config yaml file
|
|
56
|
-
//import { ticket } from '@nangohq/models';
|
|
57
|
-
var GithubTicketSync = /** @class */ (function (_super) {
|
|
58
|
-
__extends(GithubTicketSync, _super);
|
|
59
|
-
function GithubTicketSync() {
|
|
60
|
-
return _super !== null && _super.apply(this, arguments) || this;
|
|
61
|
-
}
|
|
62
|
-
//async fetchData(nango: NangoHelper): { [ticket.name]: [ticket.type] } {
|
|
63
|
-
GithubTicketSync.prototype.fetchData = function (nango) {
|
|
64
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
65
|
-
var issues, tickets;
|
|
66
|
-
return __generator(this, function (_a) {
|
|
67
|
-
switch (_a.label) {
|
|
68
|
-
case 0: return [4 /*yield*/, nango.get({
|
|
69
|
-
endpoint: 'repos/NangoHQ/nango/issues'
|
|
70
|
-
})];
|
|
71
|
-
case 1:
|
|
72
|
-
issues = _a.sent();
|
|
73
|
-
tickets = issues.map(function (issue) { return ({
|
|
74
|
-
id: issue.id,
|
|
75
|
-
title: issue.title,
|
|
76
|
-
description: issue.body,
|
|
77
|
-
status: issue.state,
|
|
78
|
-
author: {
|
|
79
|
-
avatar_url: issue.user.avatar_url
|
|
80
|
-
}
|
|
81
|
-
}); });
|
|
82
|
-
return [2 /*return*/, tickets];
|
|
83
|
-
}
|
|
84
|
-
});
|
|
85
|
-
});
|
|
86
|
-
};
|
|
87
|
-
return GithubTicketSync;
|
|
88
|
-
}(node_1.NangoSync));
|
|
89
|
-
exports.default = GithubSync;
|
package/dist/integration.ejs
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import type { NangoSync, <%= interfaceNames.join(', ') %> } from './<%= interfaceFileName %>';
|
|
2
|
-
|
|
3
|
-
export default async function fetchData(nango: NangoSync): 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
|
-
}
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
import type { NangoSync, <%= interfaceNames.join(', ') %> } from './<%= interfaceFileName %>';
|
|
2
|
-
|
|
3
|
-
export default async function fetchData(nango: NangoSync): Promise<{<% for (let i = 0; i < mappings.length; i++) { %><%= mappings[i].name %>: <%= mappings[i].type %>[]<% if (i !== mappings.length - 1) { %>, <% } %><% } %>}> {
|
|
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
|
-
// Return empty array with the model key to indicate success
|
|
34
|
-
return { GithubIssue: [] };
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
async function paginate(nango: NangoSync, endpoint: string) {
|
|
38
|
-
const MAX_PAGE = 100;
|
|
39
|
-
|
|
40
|
-
let results: any[] = [];
|
|
41
|
-
let page = 1;
|
|
42
|
-
while (true) {
|
|
43
|
-
const resp = await nango.get({
|
|
44
|
-
endpoint: endpoint,
|
|
45
|
-
params: {
|
|
46
|
-
limit: `${MAX_PAGE}`,
|
|
47
|
-
page: `${page}`
|
|
48
|
-
}
|
|
49
|
-
});
|
|
50
|
-
|
|
51
|
-
results = results.concat(resp.data);
|
|
52
|
-
|
|
53
|
-
if (resp.data.length == MAX_PAGE) {
|
|
54
|
-
page += 1;
|
|
55
|
-
} else {
|
|
56
|
-
break;
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
return results;
|
|
61
|
-
}
|