@anmiles/google-api-wrapper 3.0.1 → 3.1.0

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/CHANGELOG.md CHANGED
@@ -5,7 +5,11 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
- ## [3.0.1](../../tags/v3.0.1) - 2023-03-12
8
+ ## [3.1.0](../../tags/v3.1.0) - 2023-03-12
9
+ ### Changed
10
+ - Silent mode
11
+
12
+ ## [3.0.3](../../tags/v3.0.3) - 2023-03-12
9
13
  ### Changed
10
14
  - Fixed path to scopes file
11
15
 
@@ -16,4 +16,4 @@ type CommonResponse<TItem> = {
16
16
  };
17
17
  nextPageToken?: string | null | undefined;
18
18
  };
19
- declare function getItems<TApi extends CommonApi<TArgs, TResponse>, TItem, TArgs, TResponse extends CommonResponse<TItem>>(api: TApi, args: TArgs): Promise<TItem[]>;
19
+ declare function getItems<TApi extends CommonApi<TArgs, TResponse>, TItem, TArgs, TResponse extends CommonResponse<TItem>>(api: TApi, args: TArgs, showProgress?: boolean): Promise<TItem[]>;
@@ -5,14 +5,16 @@ const logger_1 = require("../logger");
5
5
  const sleep_1 = require("../sleep");
6
6
  exports.default = { getItems };
7
7
  const requestInterval = 300;
8
- async function getItems(api, args) {
8
+ async function getItems(api, args, showProgress = false) {
9
9
  var _a, _b;
10
10
  const items = [];
11
11
  let pageToken = undefined;
12
12
  do {
13
13
  const response = await api.list({ ...args, pageToken });
14
14
  (_a = response.data.items) === null || _a === void 0 ? void 0 : _a.forEach((item) => items.push(item));
15
- (0, logger_1.log)(`Getting items (${items.length} of ${((_b = response.data.pageInfo) === null || _b === void 0 ? void 0 : _b.totalResults) || 'many'})...`);
15
+ if (showProgress) {
16
+ (0, logger_1.log)(`Getting items (${items.length} of ${((_b = response.data.pageInfo) === null || _b === void 0 ? void 0 : _b.totalResults) || 'many'})...`);
17
+ }
16
18
  pageToken = response.data.nextPageToken;
17
19
  await (0, sleep_1.sleep)(requestInterval);
18
20
  } while (pageToken);
@@ -1 +1 @@
1
- {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../src/lib/api/shared.ts"],"names":[],"mappings":";;;AACA,sCAAgC;AAChC,oCAAiC;AAGjC,kBAAe,EAAE,QAAQ,EAAE,CAAC;AAiB5B,MAAM,eAAe,GAAG,GAAG,CAAC;AAE5B,KAAK,UAAU,QAAQ,CAKrB,GAAS,EAAE,IAAW;;IACvB,MAAM,KAAK,GAAY,EAAE,CAAC;IAE1B,IAAI,SAAS,GAA8B,SAAS,CAAC;IAErD,GAAG;QACF,MAAM,QAAQ,GAAgD,MAAM,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;QACrG,MAAA,QAAQ,CAAC,IAAI,CAAC,KAAK,0CAAE,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACzD,IAAA,YAAG,EAAC,kBAAkB,KAAK,CAAC,MAAM,OAAO,CAAA,MAAA,QAAQ,CAAC,IAAI,CAAC,QAAQ,0CAAE,YAAY,KAAI,MAAM,MAAM,CAAC,CAAC;QAC/F,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC;QACxC,MAAM,IAAA,aAAK,EAAC,eAAe,CAAC,CAAC;KAC7B,QAAQ,SAAS,EAAE;IAEpB,OAAO,KAAK,CAAC;AACd,CAAC;AAvCQ,4BAAQ"}
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../src/lib/api/shared.ts"],"names":[],"mappings":";;;AACA,sCAAgC;AAChC,oCAAiC;AAGjC,kBAAe,EAAE,QAAQ,EAAE,CAAC;AAiB5B,MAAM,eAAe,GAAG,GAAG,CAAC;AAE5B,KAAK,UAAU,QAAQ,CAKrB,GAAS,EAAE,IAAW,EAAE,eAAwB,KAAK;;IACtD,MAAM,KAAK,GAAY,EAAE,CAAC;IAE1B,IAAI,SAAS,GAA8B,SAAS,CAAC;IAErD,GAAG;QACF,MAAM,QAAQ,GAAgD,MAAM,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;QACrG,MAAA,QAAQ,CAAC,IAAI,CAAC,KAAK,0CAAE,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAEzD,IAAI,YAAY,EAAE;YACjB,IAAA,YAAG,EAAC,kBAAkB,KAAK,CAAC,MAAM,OAAO,CAAA,MAAA,QAAQ,CAAC,IAAI,CAAC,QAAQ,0CAAE,YAAY,KAAI,MAAM,MAAM,CAAC,CAAC;SAC/F;QAED,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC;QACxC,MAAM,IAAA,aAAK,EAAC,eAAe,CAAC,CAAC;KAC7B,QAAQ,SAAS,EAAE;IAEpB,OAAO,KAAK,CAAC;AACd,CAAC;AA3CQ,4BAAQ"}
package/dist/lib/paths.js CHANGED
@@ -32,7 +32,7 @@ function getProfilesFile() {
32
32
  }
33
33
  exports.getProfilesFile = getProfilesFile;
34
34
  function getScopesFile() {
35
- return path_1.default.join(dirPaths.input, 'scopes.json');
35
+ return 'scopes.json';
36
36
  }
37
37
  exports.getScopesFile = getScopesFile;
38
38
  function getSecretsFile(profile) {
@@ -1 +1 @@
1
- {"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/lib/paths.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAoB;AACpB,gDAAwB;AACxB,oDAA4B;AAG5B,kBAAe,EAAE,SAAS,EAAE,UAAU,EAAE,eAAe,EAAE,aAAa,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC;AAE7G,MAAM,QAAQ,GAAG;IAChB,KAAK,EAAK,OAAO;IACjB,OAAO,EAAG,SAAS;CACnB,CAAC;AAEF,SAAS,SAAS,CAAC,OAAe;IACjC,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;QAC5B,YAAE,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAG,IAAI,EAAE,CAAC,CAAC;KAC5C;IACD,OAAO,OAAO,CAAC;AAChB,CAAC;AAbQ,8BAAS;AAelB,SAAS,UAAU,CAAC,QAAgB;IACnC,eAAK,CAAC,SAAS,CAAC,cAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IAExC,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;QAC7B,YAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;KAC/B;IACD,OAAO,QAAQ,CAAC;AACjB,CAAC;AAtBmB,gCAAU;AAwB9B,SAAS,eAAe;IACvB,OAAO,cAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;AACnD,CAAC;AA1B+B,0CAAe;AA4B/C,SAAS,aAAa;IACrB,OAAO,cAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;AACjD,CAAC;AA9BgD,sCAAa;AAgC9D,SAAS,cAAc,CAAC,OAAe;IACtC,OAAO,cAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,OAAO,OAAO,CAAC,CAAC;AACvD,CAAC;AAlC+D,wCAAc;AAoC9E,SAAS,kBAAkB,CAAC,OAAe;IAC1C,OAAO,cAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,OAAO,mBAAmB,CAAC,CAAC;AACnE,CAAC;AAtC+E,gDAAkB"}
1
+ {"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/lib/paths.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAoB;AACpB,gDAAwB;AACxB,oDAA4B;AAG5B,kBAAe,EAAE,SAAS,EAAE,UAAU,EAAE,eAAe,EAAE,aAAa,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC;AAE7G,MAAM,QAAQ,GAAG;IAChB,KAAK,EAAK,OAAO;IACjB,OAAO,EAAG,SAAS;CACnB,CAAC;AAEF,SAAS,SAAS,CAAC,OAAe;IACjC,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;QAC5B,YAAE,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAG,IAAI,EAAE,CAAC,CAAC;KAC5C;IACD,OAAO,OAAO,CAAC;AAChB,CAAC;AAbQ,8BAAS;AAelB,SAAS,UAAU,CAAC,QAAgB;IACnC,eAAK,CAAC,SAAS,CAAC,cAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IAExC,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;QAC7B,YAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;KAC/B;IACD,OAAO,QAAQ,CAAC;AACjB,CAAC;AAtBmB,gCAAU;AAwB9B,SAAS,eAAe;IACvB,OAAO,cAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;AACnD,CAAC;AA1B+B,0CAAe;AA4B/C,SAAS,aAAa;IACrB,OAAO,aAAa,CAAC;AACtB,CAAC;AA9BgD,sCAAa;AAgC9D,SAAS,cAAc,CAAC,OAAe;IACtC,OAAO,cAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,OAAO,OAAO,CAAC,CAAC;AACvD,CAAC;AAlC+D,wCAAc;AAoC9E,SAAS,kBAAkB,CAAC,OAAe;IAC1C,OAAO,cAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,OAAO,mBAAmB,CAAC,CAAC;AACnE,CAAC;AAtC+E,gDAAkB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@anmiles/google-api-wrapper",
3
- "version": "3.0.1",
3
+ "version": "3.1.0",
4
4
  "description": "Provides quick interface for getting google API data",
5
5
  "keywords": [
6
6
  "google",
@@ -26,8 +26,7 @@
26
26
  "test:watch:coverage": "npm test -- --watch --coverage",
27
27
  "test:report:coverage": "nyc report --nycrc-path ./coverage.config.js -t ./coverage --report-dir ./coverage",
28
28
  "create": "node ./dist/create.js",
29
- "login": "node ./dist/login.js",
30
- "save": "npm run build && npm publish --access public"
29
+ "login": "node ./dist/login.js"
31
30
  },
32
31
  "dependencies": {
33
32
  "colorette": "^2.0.19",
@@ -66,13 +66,13 @@ const scopesJSON: string[] = [
66
66
  const secretsJSON: Secrets = {
67
67
  web : {
68
68
  /* eslint-disable camelcase */
69
- client_id : 'client_id.apps.googleusercontent.com',
70
- project_id : 'project_id',
71
- auth_uri : 'https://accounts.google.com/o/oauth2/auth',
72
- token_uri : 'https://oauth2.googleapis.com/token',
69
+ client_id : 'client_id.apps.googleusercontent.com',
70
+ project_id : 'project_id',
71
+ auth_uri : 'https://accounts.google.com/o/oauth2/auth',
72
+ token_uri : 'https://oauth2.googleapis.com/token',
73
73
  auth_provider_x509_cert_url : 'https://www.googleapis.com/oauth2/v1/certs',
74
- client_secret : 'client_secret',
75
- redirect_uris : [ 'http://localhost:6006/oauthcallback' ],
74
+ client_secret : 'client_secret',
75
+ redirect_uris : [ 'http://localhost:6006/oauthcallback' ],
76
76
  /* eslint-enable camelcase */
77
77
  },
78
78
  };
@@ -48,8 +48,8 @@ describe('src/lib/api/shared', () => {
48
48
  });
49
49
  });
50
50
 
51
- it('should output progress', async () => {
52
- await original.getItems(api, args);
51
+ it('should output progress if requested', async () => {
52
+ await original.getItems(api, args, true);
53
53
 
54
54
  expect(logger.log).toBeCalledTimes(response.length);
55
55
  expect(logger.log).toBeCalledWith('Getting items (2 of 4)...');
@@ -57,6 +57,12 @@ describe('src/lib/api/shared', () => {
57
57
  expect(logger.log).toBeCalledWith('Getting items (4 of 4)...');
58
58
  });
59
59
 
60
+ it('should not output progress by default', async () => {
61
+ await original.getItems(api, args);
62
+
63
+ expect(logger.log).not.toBeCalled();
64
+ });
65
+
60
66
  it('should sleep after reach request', async () => {
61
67
  await original.getItems(api, args);
62
68
 
@@ -27,7 +27,7 @@ async function getItems<
27
27
  TItem,
28
28
  TArgs,
29
29
  TResponse extends CommonResponse<TItem>
30
- >(api: TApi, args: TArgs): Promise<TItem[]> {
30
+ >(api: TApi, args: TArgs, showProgress: boolean = false): Promise<TItem[]> {
31
31
  const items: TItem[] = [];
32
32
 
33
33
  let pageToken: string | null | undefined = undefined;
@@ -35,7 +35,11 @@ async function getItems<
35
35
  do {
36
36
  const response: GoogleApis.Common.GaxiosResponse<TResponse> = await api.list({ ...args, pageToken });
37
37
  response.data.items?.forEach((item) => items.push(item));
38
- log(`Getting items (${items.length} of ${response.data.pageInfo?.totalResults || 'many'})...`);
38
+
39
+ if (showProgress) {
40
+ log(`Getting items (${items.length} of ${response.data.pageInfo?.totalResults || 'many'})...`);
41
+ }
42
+
39
43
  pageToken = response.data.nextPageToken;
40
44
  await sleep(requestInterval);
41
45
  } while (pageToken);
package/src/lib/paths.ts CHANGED
@@ -31,7 +31,7 @@ function getProfilesFile() {
31
31
  }
32
32
 
33
33
  function getScopesFile() {
34
- return path.join(dirPaths.input, 'scopes.json');
34
+ return 'scopes.json';
35
35
  }
36
36
 
37
37
  function getSecretsFile(profile: string) {