@@ -4,7 +4,7 @@ const crypto = require('crypto');
4
4
const https = require ( 'https' ) ;
5
5
6
6
const colors = require ( 'colors' ) ;
7
- const octokit = require ( '@octokit/rest' ) ;
7
+ const { Octokit } = require ( '@octokit/rest' ) ;
8
8
const rc = require ( 'rc' ) ;
9
9
10
10
const pkg = require ( '../package.json' ) ;
@@ -39,7 +39,7 @@ colors.setTheme(cfg.colors);
39
39
validateConfig ( ) ;
40
40
41
41
// We use Octokit to access GitHub REST APIS. See https://octokit.github.io/rest.js/ for docs.
42
- const client = octokit ( {
42
+ const client = new Octokit ( {
43
43
userAgent : `github2range/${ pkg . version } ` ,
44
44
baseUrl : `https://${ cfg . githubHost } ` ,
45
45
auth : cfg . githubAccessToken ,
@@ -76,44 +76,49 @@ const eventMappers = {
76
76
} ;
77
77
78
78
( async ( ) => {
79
- const {
80
- data : { login : username } ,
81
- } = await client . users . getAuthenticated ( ) ;
82
-
83
- const after = Date . now ( ) - cfg . maxAge * 60 * 60 * 1000 ;
84
- const afterStr = new Date ( after ) . toLocaleString ( ) ;
85
- console . log ( `▸ Collecting events for ${ username } after ${ afterStr } ` . info ) ;
86
-
87
- let events = await listEvents ( username , after ) ;
88
- let suggestions = { } ;
89
- let unmappedUsers = { } ;
90
- events . forEach ( ( evt ) => {
91
- const username = evt . actor . login ;
92
- const email = cfg . users [ username ] ;
93
- if ( ! email ) {
94
- unmappedUsers [ username ] = ( unmappedUsers [ username ] || 0 ) + 1 ;
95
- return ;
96
- }
97
- if ( eventMappers [ evt . type ] ) {
98
- const s = eventMappers [ evt . type ] ( evt , email ) ;
99
- if ( s && ! suggestions [ s . attachment . source_id ] ) {
100
- suggestions [ s . attachment . source_id ] = s ;
101
- const a = s . attachment ;
102
- console . log ( `• Suggestion for ${ username } ${ a . type } ${ s . reason } : ${ a . name } ` . debug ) ;
79
+ try {
80
+ const {
81
+ data : { login : username } ,
82
+ } = await client . users . getAuthenticated ( ) ;
83
+
84
+ const after = Date . now ( ) - cfg . maxAge * 60 * 60 * 1000 ;
85
+ const afterStr = new Date ( after ) . toLocaleString ( ) ;
86
+ console . log ( `▸ Collecting events for ${ username } after ${ afterStr } ` . info ) ;
87
+
88
+ let events = await listEvents ( username , after ) ;
89
+ let suggestions = { } ;
90
+ let unmappedUsers = { } ;
91
+ events . forEach ( ( evt ) => {
92
+ const username = evt . actor . login ;
93
+ const email = cfg . users [ username ] ;
94
+ if ( ! email ) {
95
+ unmappedUsers [ username ] = ( unmappedUsers [ username ] || 0 ) + 1 ;
96
+ return ;
103
97
}
104
- }
105
- } ) ;
98
+ if ( eventMappers [ evt . type ] ) {
99
+ const s = eventMappers [ evt . type ] ( evt , email ) ;
100
+ if ( s && ! suggestions [ s . attachment . source_id ] ) {
101
+ suggestions [ s . attachment . source_id ] = s ;
102
+ const a = s . attachment ;
103
+ console . log ( `• Suggestion for ${ username } ${ a . type } ${ s . reason } : ${ a . name } ` . debug ) ;
104
+ }
105
+ }
106
+ } ) ;
106
107
107
- const names = Object . keys ( unmappedUsers ) ;
108
- if ( names . length !== 0 ) {
109
- console . log ( `▸ Saw ${ names . length } events from unmapped users: ${ names . join ( ', ' ) } ` . debug ) ;
110
- }
108
+ const names = Object . keys ( unmappedUsers ) ;
109
+ if ( names . length !== 0 ) {
110
+ console . log ( `▸ Saw ${ names . length } events from unmapped users: ${ names . join ( ', ' ) } ` . debug ) ;
111
+ }
111
112
112
- console . log ( `▸ ${ Object . values ( suggestions ) . length } suggestions found, sending to Range` . info ) ;
113
- for ( let i in suggestions ) {
114
- await makeSuggestion ( suggestions [ i ] ) ;
113
+ console . log ( `▸ ${ Object . values ( suggestions ) . length } suggestions found, sending to Range` . info ) ;
114
+ for ( let i in suggestions ) {
115
+ await makeSuggestion ( suggestions [ i ] ) ;
116
+ }
117
+ console . log ( `▸ All done!` . warn ) ;
118
+ } catch ( e ) {
119
+ console . log ( e . message . error ) ;
120
+ console . log ( e ) ;
115
121
}
116
- console . log ( `▸ All done!` . warn ) ;
117
122
} ) ( ) ;
118
123
119
124
// Fetches events for each org the authenticated user is a member of.
@@ -126,7 +131,7 @@ async function listEvents(username, after) {
126
131
let done = false ;
127
132
try {
128
133
while ( ! done ) {
129
- const { data } = await client . activity . listEventsForOrg ( {
134
+ const { data } = await client . activity . listOrgEventsForAuthenticatedUser ( {
130
135
username,
131
136
org,
132
137
page,
0 commit comments