@vtecx/vtecxnext 1.1.1 → 1.1.2

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.
@@ -130,13 +130,21 @@ export declare const log: (req: IncomingMessage, res: ServerResponse, message: s
130
130
  */
131
131
  export declare const getEntry: (req: IncomingMessage, res: ServerResponse, uri: string, targetService?: string) => Promise<any>;
132
132
  /**
133
- * get entry
133
+ * get feed
134
134
  * @param req request (for authentication)
135
135
  * @param res response (for authentication)
136
136
  * @param uri key and conditions
137
137
  * @return feed (entry array)
138
138
  */
139
139
  export declare const getFeed: (req: IncomingMessage, res: ServerResponse, uri: string, targetService?: string) => Promise<any>;
140
+ /**
141
+ * get feed
142
+ * @param req request (for authentication)
143
+ * @param res response (for authentication)
144
+ * @param uri key and conditions
145
+ * @return feed (entry array). Returns a cursor in the header if more data is available. (x-vtecx-nextpage)
146
+ */
147
+ export declare const getFeedResponse: (req: IncomingMessage, res: ServerResponse, uri: string, targetService?: string) => Promise<VtecxResponse>;
140
148
  /**
141
149
  * get count
142
150
  * @param req request (for authentication)
@@ -145,6 +153,14 @@ export declare const getFeed: (req: IncomingMessage, res: ServerResponse, uri: s
145
153
  * @return count
146
154
  */
147
155
  export declare const count: (req: IncomingMessage, res: ServerResponse, uri: string, targetService?: string) => Promise<number | null>;
156
+ /**
157
+ * get count
158
+ * @param req request (for authentication)
159
+ * @param res response (for authentication)
160
+ * @param uri key and conditions
161
+ * @return feed. Returns a cursor in the header if more data is available. (x-vtecx-nextpage)
162
+ */
163
+ export declare const countResponse: (req: IncomingMessage, res: ServerResponse, uri: string, targetService?: string) => Promise<VtecxResponse>;
148
164
  /**
149
165
  * register entries
150
166
  * @param req request (for authentication)
@@ -784,6 +800,15 @@ export declare const deleteTotp: (req: IncomingMessage, res: ServerResponse, acc
784
800
  * @return message
785
801
  */
786
802
  export declare const changeTdid: (req: IncomingMessage, res: ServerResponse) => Promise<any>;
803
+ /**
804
+ * response class
805
+ */
806
+ export declare class VtecxResponse {
807
+ status: number;
808
+ header: any;
809
+ data: any;
810
+ constructor(status: number, header: any, data: any);
811
+ }
787
812
  /**
788
813
  * Error returned from vte.cx
789
814
  */
package/dist/vtecxnext.js CHANGED
@@ -26,8 +26,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
26
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.putSignatures = exports.putSignature = exports.toPdf = exports.getBQCsv = exports.getBQ = exports.deleteBQ = exports.postBQ = exports.getPage = exports.pagination = exports.getSessionLong = exports.getSessionString = exports.getSessionEntry = exports.getSessionFeed = exports.deleteSessionLong = exports.deleteSessionString = exports.deleteSessionEntry = exports.deleteSessionFeed = exports.incrementSession = exports.setSessionLong = exports.setSessionString = exports.setSessionEntry = exports.setSessionFeed = exports.getRangeids = exports.rangeids = exports.setids = exports.getids = exports.addids = exports.allocids = exports.deleteFolder = exports.deleteEntry = exports.put = exports.post = exports.count = exports.getFeed = exports.getEntry = exports.log = exports.rxid = exports.service = exports.isLoggedin = exports.whoami = exports.account = exports.uid = exports.now = exports.logout = exports.loginWithTotp = exports.loginWithRxid = exports.login = exports.sendMessage = exports.checkXRequestedWith = exports.hello = void 0;
30
- exports.FetchError = exports.VtecxNextError = exports.changeTdid = exports.deleteTotp = exports.createTotp = exports.getTotpLink = exports.buffer = exports.oauthCallbackLine = exports.oauthLine = exports.removealias = exports.addalias = exports.removeacl = exports.addacl = exports.getcontent = exports.deletecontent = exports.putcontent = exports.savefiles = exports.deleteusers = exports.deleteuser = exports.canceluser = exports.activateusers = exports.activateuser = exports.revokeusers = exports.revokeuser = exports.userstatus = exports.changeaccount_verify = exports.changeaccount = exports.changepassByAdmin = exports.changepass = exports.passreset = exports.adduserByAdmin = exports.adduser = exports.isAdmin = exports.isGroupMember = exports.getGroups = exports.noGroupMember = exports.leaveGroup = exports.joinGroup = exports.getMessageQueue = exports.setMessageQueue = exports.setMessageQueueStatus = exports.pushNotification = exports.sendMail = exports.checkSignature = exports.deleteSignature = void 0;
29
+ exports.toPdf = exports.getBQCsv = exports.getBQ = exports.deleteBQ = exports.postBQ = exports.getPage = exports.pagination = exports.getSessionLong = exports.getSessionString = exports.getSessionEntry = exports.getSessionFeed = exports.deleteSessionLong = exports.deleteSessionString = exports.deleteSessionEntry = exports.deleteSessionFeed = exports.incrementSession = exports.setSessionLong = exports.setSessionString = exports.setSessionEntry = exports.setSessionFeed = exports.getRangeids = exports.rangeids = exports.setids = exports.getids = exports.addids = exports.allocids = exports.deleteFolder = exports.deleteEntry = exports.put = exports.post = exports.countResponse = exports.count = exports.getFeedResponse = exports.getFeed = exports.getEntry = exports.log = exports.rxid = exports.service = exports.isLoggedin = exports.whoami = exports.account = exports.uid = exports.now = exports.logout = exports.loginWithTotp = exports.loginWithRxid = exports.login = exports.sendMessage = exports.checkXRequestedWith = exports.hello = void 0;
30
+ exports.FetchError = exports.VtecxNextError = exports.VtecxResponse = exports.changeTdid = exports.deleteTotp = exports.createTotp = exports.getTotpLink = exports.buffer = exports.oauthCallbackLine = exports.oauthLine = exports.removealias = exports.addalias = exports.removeacl = exports.addacl = exports.getcontent = exports.deletecontent = exports.putcontent = exports.savefiles = exports.deleteusers = exports.deleteuser = exports.canceluser = exports.activateusers = exports.activateuser = exports.revokeusers = exports.revokeuser = exports.userstatus = exports.changeaccount_verify = exports.changeaccount = exports.changepassByAdmin = exports.changepass = exports.passreset = exports.adduserByAdmin = exports.adduser = exports.isAdmin = exports.isGroupMember = exports.getGroups = exports.noGroupMember = exports.leaveGroup = exports.joinGroup = exports.getMessageQueue = exports.setMessageQueue = exports.setMessageQueueStatus = exports.pushNotification = exports.sendMail = exports.checkSignature = exports.deleteSignature = exports.putSignatures = exports.putSignature = void 0;
31
31
  const sqlstring_1 = __importDefault(require("sqlstring"));
32
32
  const formidable_1 = __importDefault(require("formidable"));
33
33
  const fs_1 = __importDefault(require("fs"));
@@ -42,6 +42,7 @@ exports.hello = hello;
42
42
  const SERVLETPATH_DATA = '/d';
43
43
  const SERVLETPATH_PROVIDER = '/p';
44
44
  const SERVLETPATH_OAUTH = '/o';
45
+ const HEADER_NEXTPAGE = 'x-vtecx-nextpage';
45
46
  /**
46
47
  * X-Requested-With header check.
47
48
  * If not specified, set status 417 to the response.
@@ -443,7 +444,7 @@ const getEntry = async (req, res, uri, targetService) => {
443
444
  };
444
445
  exports.getEntry = getEntry;
445
446
  /**
446
- * get entry
447
+ * get feed
447
448
  * @param req request (for authentication)
448
449
  * @param res response (for authentication)
449
450
  * @param uri key and conditions
@@ -451,6 +452,19 @@ exports.getEntry = getEntry;
451
452
  */
452
453
  const getFeed = async (req, res, uri, targetService) => {
453
454
  //console.log('[vtecxnext getFeed] start.')
455
+ const vtecxRes = await (0, exports.getFeedResponse)(req, res, uri, targetService);
456
+ return vtecxRes.data;
457
+ };
458
+ exports.getFeed = getFeed;
459
+ /**
460
+ * get feed
461
+ * @param req request (for authentication)
462
+ * @param res response (for authentication)
463
+ * @param uri key and conditions
464
+ * @return feed (entry array). Returns a cursor in the header if more data is available. (x-vtecx-nextpage)
465
+ */
466
+ const getFeedResponse = async (req, res, uri, targetService) => {
467
+ //console.log('[vtecxnext getFeedResponse] start.')
454
468
  // キー入力値チェック
455
469
  checkUri(uri);
456
470
  // vte.cxへリクエスト
@@ -469,9 +483,15 @@ const getFeed = async (req, res, uri, targetService) => {
469
483
  // レスポンスのエラーチェック
470
484
  await checkVtecxResponse(response);
471
485
  // 戻り値
472
- return await getJson(response);
486
+ const data = await getJson(response);
487
+ const header = {};
488
+ const nextpage = response.headers.get(HEADER_NEXTPAGE);
489
+ if (nextpage) {
490
+ header[HEADER_NEXTPAGE] = nextpage;
491
+ }
492
+ return new VtecxResponse(response.status, header, data);
473
493
  };
474
- exports.getFeed = getFeed;
494
+ exports.getFeedResponse = getFeedResponse;
475
495
  /**
476
496
  * get count
477
497
  * @param req request (for authentication)
@@ -481,6 +501,21 @@ exports.getFeed = getFeed;
481
501
  */
482
502
  const count = async (req, res, uri, targetService) => {
483
503
  //console.log('[vtecxnext count] start.')
504
+ const vtecxRes = await (0, exports.countResponse)(req, res, uri, targetService);
505
+ // 戻り値
506
+ const data = vtecxRes.data;
507
+ return vtecxRes.data.feed.title ? Number(data.feed.title) : null;
508
+ };
509
+ exports.count = count;
510
+ /**
511
+ * get count
512
+ * @param req request (for authentication)
513
+ * @param res response (for authentication)
514
+ * @param uri key and conditions
515
+ * @return feed. Returns a cursor in the header if more data is available. (x-vtecx-nextpage)
516
+ */
517
+ const countResponse = async (req, res, uri, targetService) => {
518
+ //console.log('[vtecxnext countResponse] start.')
484
519
  // キー入力値チェック
485
520
  checkUri(uri);
486
521
  // vte.cxへリクエスト
@@ -500,9 +535,14 @@ const count = async (req, res, uri, targetService) => {
500
535
  await checkVtecxResponse(response);
501
536
  // 戻り値
502
537
  const data = await getJson(response);
503
- return data.feed.title ? Number(data.feed.title) : null;
538
+ const header = {};
539
+ const nextpage = response.headers.get(HEADER_NEXTPAGE);
540
+ if (nextpage) {
541
+ header[HEADER_NEXTPAGE] = nextpage;
542
+ }
543
+ return new VtecxResponse(response.status, header, data);
504
544
  };
505
- exports.count = count;
545
+ exports.countResponse = countResponse;
506
546
  /**
507
547
  * register entries
508
548
  * @param req request (for authentication)
@@ -2916,6 +2956,20 @@ const changeTdid = async (req, res) => {
2916
2956
  };
2917
2957
  exports.changeTdid = changeTdid;
2918
2958
  //---------------------------------------------
2959
+ /**
2960
+ * response class
2961
+ */
2962
+ class VtecxResponse {
2963
+ status;
2964
+ header;
2965
+ data;
2966
+ constructor(status, header, data) {
2967
+ this.status = status;
2968
+ this.header = header;
2969
+ this.data = data;
2970
+ }
2971
+ }
2972
+ exports.VtecxResponse = VtecxResponse;
2919
2973
  /**
2920
2974
  * Error returned from vte.cx
2921
2975
  */
@@ -2986,6 +3040,9 @@ const requestVtecx = async (method, url, req, body, additionalHeaders, targetSer
2986
3040
  const fetchVtecx = async (method, url, headers, body, mode) => {
2987
3041
  //console.log(`[vtecxnext fetchVtecx] url=${process.env.VTECX_URL}${url}`)
2988
3042
  headers['X-Requested-With'] = 'XMLHttpRequest';
3043
+ if (VTECX_SERVICENAME) {
3044
+ headers['X-SERVICENAME'] = VTECX_SERVICENAME;
3045
+ }
2989
3046
  const apiKey = process.env.VTECX_APIKEY;
2990
3047
  if (apiKey && !url.startsWith(SERVLETPATH_DATA)) {
2991
3048
  //headers['Authorization'] = `APIKey ${apiKey}`
@@ -3016,6 +3073,7 @@ const fetchVtecx = async (method, url, headers, body, mode) => {
3016
3073
  };
3017
3074
  /** vte.cx URL */
3018
3075
  const VTECX_URL = process.env.VTECX_URL ?? '';
3076
+ const VTECX_SERVICENAME = process.env.VTECX_SERVICENAME ?? '';
3019
3077
  const newFetchError = (e, isVtecx) => {
3020
3078
  let errMsg;
3021
3079
  if (e instanceof Error) {
@@ -3050,12 +3108,8 @@ const setCookie = (response, res) => {
3050
3108
  //console.log(`[vtecxnext setCookie] value : ${setCookieVal}`)
3051
3109
  //res.setHeader('set-cookie', setCookieVal)
3052
3110
  const setCookieVals = splitCookieValue(setCookieVal);
3111
+ //console.log(`[vtecxnext setCookie] values : ${setCookieVals}`)
3053
3112
  res.setHeader('set-cookie', setCookieVals);
3054
- /*
3055
- for (const val of setCookieVals) {
3056
- res.setHeader('set-cookie', val)
3057
- }
3058
- */
3059
3113
  }
3060
3114
  };
3061
3115
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vtecx/vtecxnext",
3
- "version": "1.1.1",
3
+ "version": "1.1.2",
4
4
  "description": "vte.cx Next.js api",
5
5
  "main": "dist/index.js",
6
6
  "files": [