@vtecx/vtecxnext 1.0.2 → 1.0.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/dist/vtecxnext.d.ts +147 -1
- package/dist/vtecxnext.js +546 -19
- package/package.json +3 -1
package/dist/vtecxnext.d.ts
CHANGED
|
@@ -388,7 +388,8 @@ export declare const getBQ: (req: IncomingMessage, res: ServerResponse, sql: str
|
|
|
388
388
|
*/
|
|
389
389
|
export declare const getBQCsv: (req: IncomingMessage, res: ServerResponse, sql: string, values?: any[], filename?: string, parent?: string) => Promise<boolean>;
|
|
390
390
|
/**
|
|
391
|
-
* Create PDF
|
|
391
|
+
* Create PDF.
|
|
392
|
+
* Writes a PDF to the response.
|
|
392
393
|
* @param req request (for authentication)
|
|
393
394
|
* @param res response
|
|
394
395
|
* @param htmlTemplate PDF layout
|
|
@@ -549,6 +550,151 @@ export declare const changepass: (req: IncomingMessage, res: ServerResponse, fee
|
|
|
549
550
|
* @return message feed
|
|
550
551
|
*/
|
|
551
552
|
export declare const changepassByAdmin: (req: IncomingMessage, res: ServerResponse, feed: any) => Promise<any>;
|
|
553
|
+
/**
|
|
554
|
+
* change login user's account
|
|
555
|
+
* @param req request (for authentication)
|
|
556
|
+
* @param res response (for authentication)
|
|
557
|
+
* @param feed entries (JSON)
|
|
558
|
+
* @return message feed
|
|
559
|
+
*/
|
|
560
|
+
export declare const changeaccount: (req: IncomingMessage, res: ServerResponse, feed: any) => Promise<any>;
|
|
561
|
+
/**
|
|
562
|
+
* verify to change login user's account
|
|
563
|
+
* @param req request (for authentication)
|
|
564
|
+
* @param res response (for authentication)
|
|
565
|
+
* @param verifyCode verify code
|
|
566
|
+
* @return message feed
|
|
567
|
+
*/
|
|
568
|
+
export declare const changeaccount_verify: (req: IncomingMessage, res: ServerResponse, verifyCode: string) => Promise<any>;
|
|
569
|
+
/**
|
|
570
|
+
* get user status
|
|
571
|
+
* @param req request (for authentication)
|
|
572
|
+
* @param res response (for authentication)
|
|
573
|
+
* @param account account
|
|
574
|
+
* @return user status
|
|
575
|
+
*/
|
|
576
|
+
export declare const userstatus: (req: IncomingMessage, res: ServerResponse, account?: string) => Promise<any>;
|
|
577
|
+
/**
|
|
578
|
+
* revoke user
|
|
579
|
+
* @param req request (for authentication)
|
|
580
|
+
* @param res response (for authentication)
|
|
581
|
+
* @param account account
|
|
582
|
+
* @return message feed
|
|
583
|
+
*/
|
|
584
|
+
export declare const revokeuser: (req: IncomingMessage, res: ServerResponse, account: string) => Promise<any>;
|
|
585
|
+
/**
|
|
586
|
+
* revoke users
|
|
587
|
+
* @param req request (for authentication)
|
|
588
|
+
* @param res response (for authentication)
|
|
589
|
+
* @param feed entries (JSON)
|
|
590
|
+
* @return message feed
|
|
591
|
+
*/
|
|
592
|
+
export declare const revokeusers: (req: IncomingMessage, res: ServerResponse, feed: any) => Promise<any>;
|
|
593
|
+
/**
|
|
594
|
+
* activate user
|
|
595
|
+
* @param req request (for authentication)
|
|
596
|
+
* @param res response (for authentication)
|
|
597
|
+
* @param account account
|
|
598
|
+
* @return message feed
|
|
599
|
+
*/
|
|
600
|
+
export declare const activateuser: (req: IncomingMessage, res: ServerResponse, account: string) => Promise<any>;
|
|
601
|
+
/**
|
|
602
|
+
* activate users
|
|
603
|
+
* @param req request (for authentication)
|
|
604
|
+
* @param res response (for authentication)
|
|
605
|
+
* @param feed entries (JSON)
|
|
606
|
+
* @return message feed
|
|
607
|
+
*/
|
|
608
|
+
export declare const activateusers: (req: IncomingMessage, res: ServerResponse, feed: any) => Promise<any>;
|
|
609
|
+
/**
|
|
610
|
+
* cancel user.
|
|
611
|
+
* @param req request (for authentication)
|
|
612
|
+
* @param res response (for authentication)
|
|
613
|
+
* @param account account
|
|
614
|
+
* @return message feed
|
|
615
|
+
*/
|
|
616
|
+
export declare const canceluser: (req: IncomingMessage, res: ServerResponse) => Promise<any>;
|
|
617
|
+
/**
|
|
618
|
+
* delete user
|
|
619
|
+
* @param req request (for authentication)
|
|
620
|
+
* @param res response (for authentication)
|
|
621
|
+
* @param account account
|
|
622
|
+
* @return message feed
|
|
623
|
+
*/
|
|
624
|
+
export declare const deleteuser: (req: IncomingMessage, res: ServerResponse, account: string) => Promise<any>;
|
|
625
|
+
/**
|
|
626
|
+
* revoke users
|
|
627
|
+
* @param req request (for authentication)
|
|
628
|
+
* @param res response (for authentication)
|
|
629
|
+
* @param feed entries (JSON)
|
|
630
|
+
* @return message feed
|
|
631
|
+
*/
|
|
632
|
+
export declare const deleteusers: (req: IncomingMessage, res: ServerResponse, feed: any) => Promise<any>;
|
|
633
|
+
/**
|
|
634
|
+
* save files
|
|
635
|
+
* @param req request
|
|
636
|
+
* @param res respose (for authentication)
|
|
637
|
+
* @param uri key
|
|
638
|
+
* @returns message
|
|
639
|
+
*/
|
|
640
|
+
export declare const savefiles: (req: IncomingMessage, res: ServerResponse, uri: string) => Promise<any>;
|
|
641
|
+
/**
|
|
642
|
+
* upload content
|
|
643
|
+
* @param req request (for authentication)
|
|
644
|
+
* @param res response (for authentication)
|
|
645
|
+
* @param uri key
|
|
646
|
+
* @return message
|
|
647
|
+
*/
|
|
648
|
+
export declare const putcontent: (req: IncomingMessage, res: ServerResponse, uri: string) => Promise<any>;
|
|
649
|
+
/**
|
|
650
|
+
* delete content
|
|
651
|
+
* @param req request (for authentication)
|
|
652
|
+
* @param res response (for authentication)
|
|
653
|
+
* @param uri key
|
|
654
|
+
* @return message
|
|
655
|
+
*/
|
|
656
|
+
export declare const deletecontent: (req: IncomingMessage, res: ServerResponse, uri: string) => Promise<any>;
|
|
657
|
+
/**
|
|
658
|
+
* get content.
|
|
659
|
+
* Writes a content to the response.
|
|
660
|
+
* @param req request (for authentication)
|
|
661
|
+
* @param res response (for authentication)
|
|
662
|
+
* @param uri key
|
|
663
|
+
* @return true
|
|
664
|
+
*/
|
|
665
|
+
export declare const getcontent: (req: IncomingMessage, res: ServerResponse, uri: string) => Promise<boolean>;
|
|
666
|
+
/**
|
|
667
|
+
* add acl
|
|
668
|
+
* @param req request (for authentication)
|
|
669
|
+
* @param res response (for authentication)
|
|
670
|
+
* @param feed entries
|
|
671
|
+
* @return message
|
|
672
|
+
*/
|
|
673
|
+
export declare const addacl: (req: IncomingMessage, res: ServerResponse, feed: any) => Promise<any>;
|
|
674
|
+
/**
|
|
675
|
+
* remove acl
|
|
676
|
+
* @param req request (for authentication)
|
|
677
|
+
* @param res response (for authentication)
|
|
678
|
+
* @param feed entries
|
|
679
|
+
* @return message
|
|
680
|
+
*/
|
|
681
|
+
export declare const removeacl: (req: IncomingMessage, res: ServerResponse, feed: any) => Promise<any>;
|
|
682
|
+
/**
|
|
683
|
+
* add alias
|
|
684
|
+
* @param req request (for authentication)
|
|
685
|
+
* @param res response (for authentication)
|
|
686
|
+
* @param feed entries
|
|
687
|
+
* @return message
|
|
688
|
+
*/
|
|
689
|
+
export declare const addalias: (req: IncomingMessage, res: ServerResponse, feed: any) => Promise<any>;
|
|
690
|
+
/**
|
|
691
|
+
* remove alias
|
|
692
|
+
* @param req request (for authentication)
|
|
693
|
+
* @param res response (for authentication)
|
|
694
|
+
* @param feed entries
|
|
695
|
+
* @return message
|
|
696
|
+
*/
|
|
697
|
+
export declare const removealias: (req: IncomingMessage, res: ServerResponse, feed: any) => Promise<any>;
|
|
552
698
|
/**
|
|
553
699
|
* Error returned from vte.cx
|
|
554
700
|
*/
|
package/dist/vtecxnext.js
CHANGED
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
6
|
exports.deleteSignature = 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.loginWithRxid = exports.login = exports.sendMessage = exports.checkXRequestedWith = exports.hello = void 0;
|
|
4
|
-
exports.VtecxNextError = exports.changepassByAdmin = exports.changepass = exports.passreset = exports.adduserByAdmin = exports.adduser = exports.noGroupMember = exports.leaveGroup = exports.joinGroup = exports.getMessageQueue = exports.setMessageQueue = exports.setMessageQueueStatus = exports.pushNotification = exports.sendMail = exports.checkSignature = void 0;
|
|
5
|
-
|
|
7
|
+
exports.VtecxNextError = 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.noGroupMember = exports.leaveGroup = exports.joinGroup = exports.getMessageQueue = exports.setMessageQueue = exports.setMessageQueueStatus = exports.pushNotification = exports.sendMail = exports.checkSignature = void 0;
|
|
8
|
+
const sqlstring_1 = __importDefault(require("sqlstring"));
|
|
9
|
+
const formidable_1 = __importDefault(require("formidable"));
|
|
10
|
+
const fs_1 = __importDefault(require("fs"));
|
|
6
11
|
/**
|
|
7
12
|
* Hello world.
|
|
8
13
|
*/
|
|
@@ -317,7 +322,7 @@ const getEntry = async (req, res, uri, targetService) => {
|
|
|
317
322
|
// vte.cxへリクエスト
|
|
318
323
|
const method = 'GET';
|
|
319
324
|
const url = `/p${uri}?e`;
|
|
320
|
-
const response = await requestVtecx(method, url, req, null, targetService);
|
|
325
|
+
const response = await requestVtecx(method, url, req, null, null, targetService);
|
|
321
326
|
//console.log(`[vtecxnext getEntry] response=${response}`)
|
|
322
327
|
// vte.cxからのset-cookieを転記
|
|
323
328
|
setCookie(response, res);
|
|
@@ -341,7 +346,7 @@ const getFeed = async (req, res, uri, targetService) => {
|
|
|
341
346
|
// vte.cxへリクエスト
|
|
342
347
|
const method = 'GET';
|
|
343
348
|
const url = `/p${uri}${uri.includes('?') ? '&' : '?'}f`;
|
|
344
|
-
const response = await requestVtecx(method, url, req, null, targetService);
|
|
349
|
+
const response = await requestVtecx(method, url, req, null, null, targetService);
|
|
345
350
|
//console.log(`[vtecxnext getFeed] response=${response}`)
|
|
346
351
|
// vte.cxからのset-cookieを転記
|
|
347
352
|
setCookie(response, res);
|
|
@@ -365,7 +370,7 @@ const count = async (req, res, uri, targetService) => {
|
|
|
365
370
|
// vte.cxへリクエスト
|
|
366
371
|
const method = 'GET';
|
|
367
372
|
const url = `/p${uri}${uri.includes('?') ? '&' : '?'}c`;
|
|
368
|
-
const response = await requestVtecx(method, url, req, null, targetService);
|
|
373
|
+
const response = await requestVtecx(method, url, req, null, null, targetService);
|
|
369
374
|
//console.log(`[vtecxnext count] response=${response}`)
|
|
370
375
|
// vte.cxからのset-cookieを転記
|
|
371
376
|
setCookie(response, res);
|
|
@@ -395,7 +400,7 @@ const post = async (req, res, feed, uri, targetService) => {
|
|
|
395
400
|
// vte.cxへリクエスト
|
|
396
401
|
const method = 'POST';
|
|
397
402
|
const url = `/p${uri ? uri : '/'}?e`;
|
|
398
|
-
const response = await requestVtecx(method, url, req, JSON.stringify(feed), targetService);
|
|
403
|
+
const response = await requestVtecx(method, url, req, JSON.stringify(feed), null, targetService);
|
|
399
404
|
//console.log(`[vtecxnext post] response. status=${response.status}`)
|
|
400
405
|
// vte.cxからのset-cookieを転記
|
|
401
406
|
setCookie(response, res);
|
|
@@ -426,7 +431,7 @@ const put = async (req, res, feed, isbulk, parallel, async, targetService) => {
|
|
|
426
431
|
}
|
|
427
432
|
const url = `/p/?e${additionalParam}`;
|
|
428
433
|
//console.log(`[vtecxnext put] url=${url}`)
|
|
429
|
-
const response = await requestVtecx(method, url, req, JSON.stringify(feed), targetService);
|
|
434
|
+
const response = await requestVtecx(method, url, req, JSON.stringify(feed), null, targetService);
|
|
430
435
|
//console.log(`[vtecxnext put] response. status=${response.status}`)
|
|
431
436
|
// vte.cxからのset-cookieを転記
|
|
432
437
|
setCookie(response, res);
|
|
@@ -451,7 +456,7 @@ const deleteEntry = async (req, res, uri, revision, targetService) => {
|
|
|
451
456
|
const method = 'DELETE';
|
|
452
457
|
const param = revision ? `&r=${revision}` : '';
|
|
453
458
|
const url = `/p${uri}?e${param}`;
|
|
454
|
-
const response = await requestVtecx(method, url, req, null, targetService);
|
|
459
|
+
const response = await requestVtecx(method, url, req, null, null, targetService);
|
|
455
460
|
//console.log(`[vtecxnext deleteEntry] response. status=${response.status}`)
|
|
456
461
|
// vte.cxからのset-cookieを転記
|
|
457
462
|
setCookie(response, res);
|
|
@@ -475,7 +480,7 @@ const deleteFolder = async (req, res, uri, async, targetService) => {
|
|
|
475
480
|
// vte.cxへリクエスト
|
|
476
481
|
const method = 'DELETE';
|
|
477
482
|
const url = `/p${uri}?_rf${async ? '&_async' : ''}`;
|
|
478
|
-
const response = await requestVtecx(method, url, req, null, targetService);
|
|
483
|
+
const response = await requestVtecx(method, url, req, null, null, targetService);
|
|
479
484
|
//console.log(`[vtecxnext deleteFolder] response. status=${response.status}`)
|
|
480
485
|
// vte.cxからのset-cookieを転記
|
|
481
486
|
setCookie(response, res);
|
|
@@ -500,7 +505,7 @@ const allocids = async (req, res, uri, num, targetService) => {
|
|
|
500
505
|
// vte.cxへリクエスト
|
|
501
506
|
const method = 'GET';
|
|
502
507
|
const url = `/p${uri}?_allocids=${num}`;
|
|
503
|
-
const response = await requestVtecx(method, url, req, null, targetService);
|
|
508
|
+
const response = await requestVtecx(method, url, req, null, null, targetService);
|
|
504
509
|
//console.log(`[vtecxnext allocids] response=${response}`)
|
|
505
510
|
// vte.cxからのset-cookieを転記
|
|
506
511
|
setCookie(response, res);
|
|
@@ -527,7 +532,7 @@ const addids = async (req, res, uri, num, targetService) => {
|
|
|
527
532
|
// vte.cxへリクエスト
|
|
528
533
|
const method = 'PUT';
|
|
529
534
|
const url = `/p${uri}?_addids=${num}`;
|
|
530
|
-
const response = await requestVtecx(method, url, req, null, targetService);
|
|
535
|
+
const response = await requestVtecx(method, url, req, null, null, targetService);
|
|
531
536
|
//console.log(`[vtecxnext addids] response=${response}`)
|
|
532
537
|
// vte.cxからのset-cookieを転記
|
|
533
538
|
setCookie(response, res);
|
|
@@ -552,7 +557,7 @@ const getids = async (req, res, uri, targetService) => {
|
|
|
552
557
|
// vte.cxへリクエスト
|
|
553
558
|
const method = 'GET';
|
|
554
559
|
const url = `/p${uri}?_getids`;
|
|
555
|
-
const response = await requestVtecx(method, url, req, null, targetService);
|
|
560
|
+
const response = await requestVtecx(method, url, req, null, null, targetService);
|
|
556
561
|
//console.log(`[vtecxnext getids] response=${response}`)
|
|
557
562
|
// vte.cxからのset-cookieを転記
|
|
558
563
|
setCookie(response, res);
|
|
@@ -579,7 +584,7 @@ const setids = async (req, res, uri, num, targetService) => {
|
|
|
579
584
|
// vte.cxへリクエスト
|
|
580
585
|
const method = 'PUT';
|
|
581
586
|
const url = `/p${uri}?_setids=${num}`;
|
|
582
|
-
const response = await requestVtecx(method, url, req, null, targetService);
|
|
587
|
+
const response = await requestVtecx(method, url, req, null, null, targetService);
|
|
583
588
|
//console.log(`[vtecxnext setids] response=${response}`)
|
|
584
589
|
// vte.cxからのset-cookieを転記
|
|
585
590
|
setCookie(response, res);
|
|
@@ -988,7 +993,7 @@ const pagination = async (req, res, uri, pagerange, targetService) => {
|
|
|
988
993
|
// vte.cxへリクエスト
|
|
989
994
|
const method = 'GET';
|
|
990
995
|
const url = `/p${uri}${uri.includes('?') ? '&' : '?'}_pagination=${pagerange}`;
|
|
991
|
-
const response = await requestVtecx(method, url, req, null, targetService);
|
|
996
|
+
const response = await requestVtecx(method, url, req, null, null, targetService);
|
|
992
997
|
//console.log(`[vtecxnext pagination] response=${response}`)
|
|
993
998
|
// vte.cxからのset-cookieを転記
|
|
994
999
|
setCookie(response, res);
|
|
@@ -1014,7 +1019,7 @@ const getPage = async (req, res, uri, num, targetService) => {
|
|
|
1014
1019
|
// vte.cxへリクエスト
|
|
1015
1020
|
const method = 'GET';
|
|
1016
1021
|
const url = `/p${uri}${uri.includes('?') ? '&' : '?'}n=${num}`;
|
|
1017
|
-
const response = await requestVtecx(method, url, req, null, targetService);
|
|
1022
|
+
const response = await requestVtecx(method, url, req, null, null, targetService);
|
|
1018
1023
|
//console.log(`[vtecxnext getPage] response=${response}`)
|
|
1019
1024
|
// vte.cxからのset-cookieを転記
|
|
1020
1025
|
setCookie(response, res);
|
|
@@ -1163,7 +1168,8 @@ const getBQCsv = async (req, res, sql, values, filename, parent) => {
|
|
|
1163
1168
|
};
|
|
1164
1169
|
exports.getBQCsv = getBQCsv;
|
|
1165
1170
|
/**
|
|
1166
|
-
* Create PDF
|
|
1171
|
+
* Create PDF.
|
|
1172
|
+
* Writes a PDF to the response.
|
|
1167
1173
|
* @param req request (for authentication)
|
|
1168
1174
|
* @param res response
|
|
1169
1175
|
* @param htmlTemplate PDF layout
|
|
@@ -1675,6 +1681,510 @@ const changepassByAdmin = async (req, res, feed) => {
|
|
|
1675
1681
|
return await getJson(response);
|
|
1676
1682
|
};
|
|
1677
1683
|
exports.changepassByAdmin = changepassByAdmin;
|
|
1684
|
+
/**
|
|
1685
|
+
* change login user's account
|
|
1686
|
+
* @param req request (for authentication)
|
|
1687
|
+
* @param res response (for authentication)
|
|
1688
|
+
* @param feed entries (JSON)
|
|
1689
|
+
* @return message feed
|
|
1690
|
+
*/
|
|
1691
|
+
const changeaccount = async (req, res, feed) => {
|
|
1692
|
+
//console.log(`[vtecxnext changeaccount] start. feed=${feed}`)
|
|
1693
|
+
// 入力チェック
|
|
1694
|
+
checkNotNull(feed, 'Feed');
|
|
1695
|
+
// vte.cxへリクエスト
|
|
1696
|
+
const method = 'PUT';
|
|
1697
|
+
const url = `/d/?_changeaccount`;
|
|
1698
|
+
const response = await requestVtecx(method, url, req, JSON.stringify(feed));
|
|
1699
|
+
//console.log(`[vtecxnext changeaccount] response. status=${response.status}`)
|
|
1700
|
+
// vte.cxからのset-cookieを転記
|
|
1701
|
+
setCookie(response, res);
|
|
1702
|
+
// レスポンスのエラーチェック
|
|
1703
|
+
await checkVtecxResponse(response);
|
|
1704
|
+
return await getJson(response);
|
|
1705
|
+
};
|
|
1706
|
+
exports.changeaccount = changeaccount;
|
|
1707
|
+
/**
|
|
1708
|
+
* verify to change login user's account
|
|
1709
|
+
* @param req request (for authentication)
|
|
1710
|
+
* @param res response (for authentication)
|
|
1711
|
+
* @param verifyCode verify code
|
|
1712
|
+
* @return message feed
|
|
1713
|
+
*/
|
|
1714
|
+
const changeaccount_verify = async (req, res, verifyCode) => {
|
|
1715
|
+
//console.log(`[vtecxnext changeaccount_verify] start. verifyCode=${verifyCode}`)
|
|
1716
|
+
// 入力値チェック
|
|
1717
|
+
checkNotNull(verifyCode, 'verify code');
|
|
1718
|
+
// vte.cxへリクエスト
|
|
1719
|
+
const method = 'PUT';
|
|
1720
|
+
const url = `/d/?_changeaccount_verify=${verifyCode}`;
|
|
1721
|
+
const response = await requestVtecx(method, url, req);
|
|
1722
|
+
//console.log(`[vtecxnext changeaccount_verify] response=${response}`)
|
|
1723
|
+
// vte.cxからのset-cookieを転記
|
|
1724
|
+
setCookie(response, res);
|
|
1725
|
+
// レスポンスのエラーチェック
|
|
1726
|
+
await checkVtecxResponse(response);
|
|
1727
|
+
// 戻り値
|
|
1728
|
+
return await getJson(response);
|
|
1729
|
+
};
|
|
1730
|
+
exports.changeaccount_verify = changeaccount_verify;
|
|
1731
|
+
/**
|
|
1732
|
+
* get user status
|
|
1733
|
+
* @param req request (for authentication)
|
|
1734
|
+
* @param res response (for authentication)
|
|
1735
|
+
* @param account account
|
|
1736
|
+
* @return user status
|
|
1737
|
+
*/
|
|
1738
|
+
const userstatus = async (req, res, account) => {
|
|
1739
|
+
//console.log('[vtecxnext userstatus] start.')
|
|
1740
|
+
// vte.cxへリクエスト
|
|
1741
|
+
const method = 'GET';
|
|
1742
|
+
const url = `/d/?_userstatus${account ? '=' + account : ''}`;
|
|
1743
|
+
const response = await requestVtecx(method, url, req);
|
|
1744
|
+
//console.log(`[vtecxnext userstatus] response=${response}`)
|
|
1745
|
+
// vte.cxからのset-cookieを転記
|
|
1746
|
+
setCookie(response, res);
|
|
1747
|
+
// レスポンスのエラーチェック
|
|
1748
|
+
await checkVtecxResponse(response);
|
|
1749
|
+
// 戻り値
|
|
1750
|
+
return await getJson(response);
|
|
1751
|
+
};
|
|
1752
|
+
exports.userstatus = userstatus;
|
|
1753
|
+
/**
|
|
1754
|
+
* revoke user
|
|
1755
|
+
* @param req request (for authentication)
|
|
1756
|
+
* @param res response (for authentication)
|
|
1757
|
+
* @param account account
|
|
1758
|
+
* @return message feed
|
|
1759
|
+
*/
|
|
1760
|
+
const revokeuser = async (req, res, account) => {
|
|
1761
|
+
//console.log('[vtecxnext revokeuser] start.')
|
|
1762
|
+
// 入力値チェック
|
|
1763
|
+
checkNotNull(account, 'account');
|
|
1764
|
+
// vte.cxへリクエスト
|
|
1765
|
+
const method = 'PUT';
|
|
1766
|
+
const url = `/d/?_revokeuser=${account}`;
|
|
1767
|
+
const response = await requestVtecx(method, url, req);
|
|
1768
|
+
//console.log(`[vtecxnext revokeuser] response=${response}`)
|
|
1769
|
+
// vte.cxからのset-cookieを転記
|
|
1770
|
+
setCookie(response, res);
|
|
1771
|
+
// レスポンスのエラーチェック
|
|
1772
|
+
await checkVtecxResponse(response);
|
|
1773
|
+
// 戻り値
|
|
1774
|
+
return await getJson(response);
|
|
1775
|
+
};
|
|
1776
|
+
exports.revokeuser = revokeuser;
|
|
1777
|
+
/**
|
|
1778
|
+
* revoke users
|
|
1779
|
+
* @param req request (for authentication)
|
|
1780
|
+
* @param res response (for authentication)
|
|
1781
|
+
* @param feed entries (JSON)
|
|
1782
|
+
* @return message feed
|
|
1783
|
+
*/
|
|
1784
|
+
const revokeusers = async (req, res, feed) => {
|
|
1785
|
+
//console.log(`[vtecxnext revokeusers] start. feed=${feed}`)
|
|
1786
|
+
// 入力チェック
|
|
1787
|
+
checkNotNull(feed, 'Feed');
|
|
1788
|
+
// vte.cxへリクエスト
|
|
1789
|
+
const method = 'PUT';
|
|
1790
|
+
const url = `/d/?_revokeuser`;
|
|
1791
|
+
const response = await requestVtecx(method, url, req, JSON.stringify(feed));
|
|
1792
|
+
//console.log(`[vtecxnext revokeusers] response. status=${response.status}`)
|
|
1793
|
+
// vte.cxからのset-cookieを転記
|
|
1794
|
+
setCookie(response, res);
|
|
1795
|
+
// レスポンスのエラーチェック
|
|
1796
|
+
await checkVtecxResponse(response);
|
|
1797
|
+
return await getJson(response);
|
|
1798
|
+
};
|
|
1799
|
+
exports.revokeusers = revokeusers;
|
|
1800
|
+
/**
|
|
1801
|
+
* activate user
|
|
1802
|
+
* @param req request (for authentication)
|
|
1803
|
+
* @param res response (for authentication)
|
|
1804
|
+
* @param account account
|
|
1805
|
+
* @return message feed
|
|
1806
|
+
*/
|
|
1807
|
+
const activateuser = async (req, res, account) => {
|
|
1808
|
+
//console.log('[vtecxnext activateuser] start.')
|
|
1809
|
+
// 入力値チェック
|
|
1810
|
+
checkNotNull(account, 'account');
|
|
1811
|
+
// vte.cxへリクエスト
|
|
1812
|
+
const method = 'PUT';
|
|
1813
|
+
const url = `/d/?_activateuser=${account}`;
|
|
1814
|
+
const response = await requestVtecx(method, url, req);
|
|
1815
|
+
//console.log(`[vtecxnext activateuser] response=${response}`)
|
|
1816
|
+
// vte.cxからのset-cookieを転記
|
|
1817
|
+
setCookie(response, res);
|
|
1818
|
+
// レスポンスのエラーチェック
|
|
1819
|
+
await checkVtecxResponse(response);
|
|
1820
|
+
// 戻り値
|
|
1821
|
+
return await getJson(response);
|
|
1822
|
+
};
|
|
1823
|
+
exports.activateuser = activateuser;
|
|
1824
|
+
/**
|
|
1825
|
+
* activate users
|
|
1826
|
+
* @param req request (for authentication)
|
|
1827
|
+
* @param res response (for authentication)
|
|
1828
|
+
* @param feed entries (JSON)
|
|
1829
|
+
* @return message feed
|
|
1830
|
+
*/
|
|
1831
|
+
const activateusers = async (req, res, feed) => {
|
|
1832
|
+
//console.log(`[vtecxnext activateusers] start. feed=${feed}`)
|
|
1833
|
+
// 入力チェック
|
|
1834
|
+
checkNotNull(feed, 'Feed');
|
|
1835
|
+
// vte.cxへリクエスト
|
|
1836
|
+
const method = 'PUT';
|
|
1837
|
+
const url = `/d/?_activateuser`;
|
|
1838
|
+
const response = await requestVtecx(method, url, req, JSON.stringify(feed));
|
|
1839
|
+
//console.log(`[vtecxnext activateusers] response. status=${response.status}`)
|
|
1840
|
+
// vte.cxからのset-cookieを転記
|
|
1841
|
+
setCookie(response, res);
|
|
1842
|
+
// レスポンスのエラーチェック
|
|
1843
|
+
await checkVtecxResponse(response);
|
|
1844
|
+
return await getJson(response);
|
|
1845
|
+
};
|
|
1846
|
+
exports.activateusers = activateusers;
|
|
1847
|
+
/**
|
|
1848
|
+
* cancel user.
|
|
1849
|
+
* @param req request (for authentication)
|
|
1850
|
+
* @param res response (for authentication)
|
|
1851
|
+
* @param account account
|
|
1852
|
+
* @return message feed
|
|
1853
|
+
*/
|
|
1854
|
+
const canceluser = async (req, res) => {
|
|
1855
|
+
//console.log('[vtecxnext canceluser] start.')
|
|
1856
|
+
// vte.cxへリクエスト
|
|
1857
|
+
const method = 'DELETE';
|
|
1858
|
+
const url = `/d/?_canceluser`;
|
|
1859
|
+
const response = await requestVtecx(method, url, req);
|
|
1860
|
+
//console.log(`[vtecxnext canceluser] response=${response}`)
|
|
1861
|
+
// vte.cxからのset-cookieを転記
|
|
1862
|
+
setCookie(response, res);
|
|
1863
|
+
// レスポンスのエラーチェック
|
|
1864
|
+
await checkVtecxResponse(response);
|
|
1865
|
+
// 戻り値
|
|
1866
|
+
return await getJson(response);
|
|
1867
|
+
};
|
|
1868
|
+
exports.canceluser = canceluser;
|
|
1869
|
+
/**
|
|
1870
|
+
* delete user
|
|
1871
|
+
* @param req request (for authentication)
|
|
1872
|
+
* @param res response (for authentication)
|
|
1873
|
+
* @param account account
|
|
1874
|
+
* @return message feed
|
|
1875
|
+
*/
|
|
1876
|
+
const deleteuser = async (req, res, account) => {
|
|
1877
|
+
//console.log('[vtecxnext deleteuser] start.')
|
|
1878
|
+
// 入力値チェック
|
|
1879
|
+
checkNotNull(account, 'account');
|
|
1880
|
+
// vte.cxへリクエスト
|
|
1881
|
+
const method = 'DELETE';
|
|
1882
|
+
const url = `/d/?_deleteuser=${account}`;
|
|
1883
|
+
const response = await requestVtecx(method, url, req);
|
|
1884
|
+
//console.log(`[vtecxnext deleteuser] response=${response}`)
|
|
1885
|
+
// vte.cxからのset-cookieを転記
|
|
1886
|
+
setCookie(response, res);
|
|
1887
|
+
// レスポンスのエラーチェック
|
|
1888
|
+
await checkVtecxResponse(response);
|
|
1889
|
+
// 戻り値
|
|
1890
|
+
return await getJson(response);
|
|
1891
|
+
};
|
|
1892
|
+
exports.deleteuser = deleteuser;
|
|
1893
|
+
/**
|
|
1894
|
+
* revoke users
|
|
1895
|
+
* @param req request (for authentication)
|
|
1896
|
+
* @param res response (for authentication)
|
|
1897
|
+
* @param feed entries (JSON)
|
|
1898
|
+
* @return message feed
|
|
1899
|
+
*/
|
|
1900
|
+
const deleteusers = async (req, res, feed) => {
|
|
1901
|
+
//console.log(`[vtecxnext deleteusers] start. feed=${feed}`)
|
|
1902
|
+
// 入力チェック
|
|
1903
|
+
checkNotNull(feed, 'Feed');
|
|
1904
|
+
// vte.cxへリクエスト
|
|
1905
|
+
const method = 'DELETE';
|
|
1906
|
+
const url = `/d/?_deleteuser`;
|
|
1907
|
+
const response = await requestVtecx(method, url, req, JSON.stringify(feed));
|
|
1908
|
+
//console.log(`[vtecxnext deleteusers] response. status=${response.status}`)
|
|
1909
|
+
// vte.cxからのset-cookieを転記
|
|
1910
|
+
setCookie(response, res);
|
|
1911
|
+
// レスポンスのエラーチェック
|
|
1912
|
+
await checkVtecxResponse(response);
|
|
1913
|
+
return await getJson(response);
|
|
1914
|
+
};
|
|
1915
|
+
exports.deleteusers = deleteusers;
|
|
1916
|
+
/**
|
|
1917
|
+
* save files
|
|
1918
|
+
* @param req request
|
|
1919
|
+
* @param res respose (for authentication)
|
|
1920
|
+
* @param uri key
|
|
1921
|
+
* @returns message
|
|
1922
|
+
*/
|
|
1923
|
+
const savefiles = async (req, res, uri) => {
|
|
1924
|
+
//console.log(`[vtecxnext savefiles] start. uri=${uri}`)
|
|
1925
|
+
// キー入力値チェック
|
|
1926
|
+
checkUri(uri);
|
|
1927
|
+
/* Get files using formidable */
|
|
1928
|
+
const formidableFiles = await new Promise((resolve, reject) => {
|
|
1929
|
+
const form = new formidable_1.default.IncomingForm();
|
|
1930
|
+
const files = [];
|
|
1931
|
+
form.on('file', (field, file) => {
|
|
1932
|
+
const partFile = { 'file': file, 'field': field };
|
|
1933
|
+
files.push(partFile);
|
|
1934
|
+
});
|
|
1935
|
+
form.on('end', () => resolve(files));
|
|
1936
|
+
form.on('error', err => reject(err));
|
|
1937
|
+
form.parse(req, () => {
|
|
1938
|
+
//
|
|
1939
|
+
});
|
|
1940
|
+
}).catch(e => {
|
|
1941
|
+
//console.log(e)
|
|
1942
|
+
throw new VtecxNextError(400, `${e}`);
|
|
1943
|
+
});
|
|
1944
|
+
//console.log(`[vtecxnext savefiles] formidableFiles.length=${formidableFiles ? formidableFiles.length : 0}`)
|
|
1945
|
+
if (!formidableFiles || formidableFiles.length < 1) {
|
|
1946
|
+
throw new VtecxNextError(400, `An upload file is required.`);
|
|
1947
|
+
}
|
|
1948
|
+
let contentUris = '';
|
|
1949
|
+
const promises = [];
|
|
1950
|
+
for (const formidableFile of formidableFiles) {
|
|
1951
|
+
//console.log(`[vtecxnext savefiles] formidableFile field=${formidableFile.field} filepath=${formidableFile.file.filepath} size=${formidableFile.file.size} mymetype=${formidableFile.file.mimetype} newFilename=${formidableFile.file.newFilename} originalFilename=${formidableFile.file.originalFilename}`)
|
|
1952
|
+
const fileBuffer = fs_1.default.readFileSync(formidableFile.file.filepath);
|
|
1953
|
+
fs_1.default.unlink(formidableFile.file.filepath, () => {
|
|
1954
|
+
//console.log(`[vtecxnext savefiles] fs.unlink: ${formidableFile.file.filepath}`)
|
|
1955
|
+
});
|
|
1956
|
+
// vte.cxへリクエスト
|
|
1957
|
+
const method = 'PUT';
|
|
1958
|
+
const contentUri = `${uri}${uri.endsWith('/') ? '' : '/'}${formidableFile.field}`;
|
|
1959
|
+
const url = `/p${contentUri}?_content`;
|
|
1960
|
+
const headers = { 'Content-Type': formidableFile.file.mimetype };
|
|
1961
|
+
//console.log(`[vtecxnext savefiles] request. url=${url}`)
|
|
1962
|
+
const promiseResponse = requestVtecx(method, url, req, fileBuffer, headers);
|
|
1963
|
+
promises.push(promiseResponse);
|
|
1964
|
+
// 戻り値用
|
|
1965
|
+
contentUris += `${contentUris ? ', ' : ''}${contentUri}`;
|
|
1966
|
+
}
|
|
1967
|
+
const msg = '';
|
|
1968
|
+
for (const promise of promises) {
|
|
1969
|
+
const response = await promise;
|
|
1970
|
+
//console.log(`[vtecxnext savefiles] response. status=${response.status}`)
|
|
1971
|
+
// vte.cxからのset-cookieを転記
|
|
1972
|
+
setCookie(response, res);
|
|
1973
|
+
// レスポンスのエラーチェック
|
|
1974
|
+
await checkVtecxResponse(response);
|
|
1975
|
+
}
|
|
1976
|
+
return { 'feed': { 'title': contentUris } };
|
|
1977
|
+
/* API RouteでFormDataを使用するとうまくいかなかった。(リクエスト先の受信データサイズが0になる。)
|
|
1978
|
+
const formData = new FormData()
|
|
1979
|
+
if (formidableFiles?.length) {
|
|
1980
|
+
for (const formidableFile of formidableFiles) {
|
|
1981
|
+
//console.log(`[vtecxnext savefiles] formidableFile field=${formidableFile.field} filepath=${formidableFile.file.filepath} size=${formidableFile.file.size} mymetype=${formidableFile.file.mimetype} newFilename=${formidableFile.file.newFilename} originalFilename=${formidableFile.file.originalFilename}`)
|
|
1982
|
+
|
|
1983
|
+
const buffer:Buffer = fs.readFileSync(formidableFile.file.filepath)
|
|
1984
|
+
const file:Blob = new Blob([buffer])
|
|
1985
|
+
|
|
1986
|
+
//console.log(`[vtecxnext savefiles] file.size=${file.size} file.length=${file.length} file.name=${file.name} file.type=${file.type}`)
|
|
1987
|
+
|
|
1988
|
+
formData.append(formidableFile.field, file, formidableFile.file.originalFilename ? formidableFile.file.originalFilename : undefined)
|
|
1989
|
+
}
|
|
1990
|
+
}
|
|
1991
|
+
|
|
1992
|
+
// vte.cxへリクエスト
|
|
1993
|
+
const method = 'POST'
|
|
1994
|
+
const url = `/p${uri}?_content`
|
|
1995
|
+
//console.log(`[vtecxnext savefiles] request. url=${url}`)
|
|
1996
|
+
const response = await requestVtecx(method, url, req, formData)
|
|
1997
|
+
//console.log(`[vtecxnext savefiles] response. status=${response.status}`)
|
|
1998
|
+
// vte.cxからのset-cookieを転記
|
|
1999
|
+
setCookie(response, res)
|
|
2000
|
+
// レスポンスのエラーチェック
|
|
2001
|
+
await checkVtecxResponse(response)
|
|
2002
|
+
return await getJson(response)
|
|
2003
|
+
*/
|
|
2004
|
+
};
|
|
2005
|
+
exports.savefiles = savefiles;
|
|
2006
|
+
/**
|
|
2007
|
+
* upload content
|
|
2008
|
+
* @param req request (for authentication)
|
|
2009
|
+
* @param res response (for authentication)
|
|
2010
|
+
* @param uri key
|
|
2011
|
+
* @return message
|
|
2012
|
+
*/
|
|
2013
|
+
const putcontent = async (req, res, uri) => {
|
|
2014
|
+
//console.log(`[vtecxnext putcontent] start. uri=${uri} content-type:${req.headers['content-type']} content-length:${req.headers['content-length']}`)
|
|
2015
|
+
// キー入力値チェック
|
|
2016
|
+
checkUri(uri);
|
|
2017
|
+
// vte.cxへリクエスト
|
|
2018
|
+
const method = 'PUT';
|
|
2019
|
+
const url = `/p${uri}?_content`;
|
|
2020
|
+
//const headers = {'Content-Type' : req.headers['content-type'], 'Content-Length' : req.headers['content-length']}
|
|
2021
|
+
const headers = { 'Content-Type': req.headers['content-type'] };
|
|
2022
|
+
const buf = await buffer(req);
|
|
2023
|
+
const response = await requestVtecx(method, url, req, buf, headers);
|
|
2024
|
+
//console.log(`[vtecxnext putcontent] response. status=${response.status}`)
|
|
2025
|
+
// vte.cxからのset-cookieを転記
|
|
2026
|
+
setCookie(response, res);
|
|
2027
|
+
// レスポンスのエラーチェック
|
|
2028
|
+
await checkVtecxResponse(response);
|
|
2029
|
+
return await getJson(response);
|
|
2030
|
+
};
|
|
2031
|
+
exports.putcontent = putcontent;
|
|
2032
|
+
/**
|
|
2033
|
+
* delete content
|
|
2034
|
+
* @param req request (for authentication)
|
|
2035
|
+
* @param res response (for authentication)
|
|
2036
|
+
* @param uri key
|
|
2037
|
+
* @return message
|
|
2038
|
+
*/
|
|
2039
|
+
const deletecontent = async (req, res, uri) => {
|
|
2040
|
+
//console.log(`[vtecxnext deletecontent] start. uri=${uri}`)
|
|
2041
|
+
// キー入力値チェック
|
|
2042
|
+
checkUri(uri);
|
|
2043
|
+
// vte.cxへリクエスト
|
|
2044
|
+
const method = 'DELETE';
|
|
2045
|
+
const url = `/p${uri}?_content`;
|
|
2046
|
+
const response = await requestVtecx(method, url, req);
|
|
2047
|
+
//console.log(`[vtecxnext deletecontent] response. status=${response.status}`)
|
|
2048
|
+
// vte.cxからのset-cookieを転記
|
|
2049
|
+
setCookie(response, res);
|
|
2050
|
+
// レスポンスのエラーチェック
|
|
2051
|
+
await checkVtecxResponse(response);
|
|
2052
|
+
return await getJson(response);
|
|
2053
|
+
};
|
|
2054
|
+
exports.deletecontent = deletecontent;
|
|
2055
|
+
/**
|
|
2056
|
+
* get content.
|
|
2057
|
+
* Writes a content to the response.
|
|
2058
|
+
* @param req request (for authentication)
|
|
2059
|
+
* @param res response (for authentication)
|
|
2060
|
+
* @param uri key
|
|
2061
|
+
* @return true
|
|
2062
|
+
*/
|
|
2063
|
+
const getcontent = async (req, res, uri) => {
|
|
2064
|
+
//console.log(`[vtecxnext getcontent] start. uri=${uri}`)
|
|
2065
|
+
// キー入力値チェック
|
|
2066
|
+
checkUri(uri);
|
|
2067
|
+
// vte.cxへリクエスト
|
|
2068
|
+
const method = 'GET';
|
|
2069
|
+
const url = `/p${uri}?_content`;
|
|
2070
|
+
const response = await requestVtecx(method, url, req);
|
|
2071
|
+
//console.log(`[vtecxnext getcontent] response. status=${response.status}`)
|
|
2072
|
+
// vte.cxからのset-cookieを転記
|
|
2073
|
+
setCookie(response, res);
|
|
2074
|
+
//console.log(`[vtecxnext getcontent] setCookie end.`)
|
|
2075
|
+
// レスポンスのエラーチェック
|
|
2076
|
+
await checkVtecxResponse(response);
|
|
2077
|
+
//console.log(`[vtecxnext getcontent] checkVtecxResponse end.`)
|
|
2078
|
+
// 戻り値
|
|
2079
|
+
const resData = await response.blob();
|
|
2080
|
+
setResponseHeaders(response, res);
|
|
2081
|
+
res.statusCode = response.status;
|
|
2082
|
+
if (response.status !== 204) {
|
|
2083
|
+
const csvData = await resData.arrayBuffer();
|
|
2084
|
+
res.end(new Uint8Array(csvData));
|
|
2085
|
+
}
|
|
2086
|
+
else {
|
|
2087
|
+
res.end();
|
|
2088
|
+
}
|
|
2089
|
+
return true;
|
|
2090
|
+
};
|
|
2091
|
+
exports.getcontent = getcontent;
|
|
2092
|
+
/**
|
|
2093
|
+
* add acl
|
|
2094
|
+
* @param req request (for authentication)
|
|
2095
|
+
* @param res response (for authentication)
|
|
2096
|
+
* @param feed entries
|
|
2097
|
+
* @return message
|
|
2098
|
+
*/
|
|
2099
|
+
const addacl = async (req, res, feed) => {
|
|
2100
|
+
//console.log('[vtecxnext addacl] start.')
|
|
2101
|
+
// 入力チェック
|
|
2102
|
+
checkNotNull(feed, 'Feed');
|
|
2103
|
+
// vte.cxへリクエスト
|
|
2104
|
+
const method = 'PUT';
|
|
2105
|
+
const url = `/d/?_addacl`;
|
|
2106
|
+
const response = await requestVtecx(method, url, req, JSON.stringify(feed));
|
|
2107
|
+
//console.log(`[vtecxnext addacl] response=${response}`)
|
|
2108
|
+
// vte.cxからのset-cookieを転記
|
|
2109
|
+
setCookie(response, res);
|
|
2110
|
+
// レスポンスのエラーチェック
|
|
2111
|
+
await checkVtecxResponse(response);
|
|
2112
|
+
// 戻り値
|
|
2113
|
+
return await getJson(response);
|
|
2114
|
+
};
|
|
2115
|
+
exports.addacl = addacl;
|
|
2116
|
+
/**
|
|
2117
|
+
* remove acl
|
|
2118
|
+
* @param req request (for authentication)
|
|
2119
|
+
* @param res response (for authentication)
|
|
2120
|
+
* @param feed entries
|
|
2121
|
+
* @return message
|
|
2122
|
+
*/
|
|
2123
|
+
const removeacl = async (req, res, feed) => {
|
|
2124
|
+
//console.log('[vtecxnext removeacl] start.')
|
|
2125
|
+
// 入力チェック
|
|
2126
|
+
checkNotNull(feed, 'Feed');
|
|
2127
|
+
// vte.cxへリクエスト
|
|
2128
|
+
const method = 'PUT';
|
|
2129
|
+
const url = `/d/?_removeacl`;
|
|
2130
|
+
const response = await requestVtecx(method, url, req, JSON.stringify(feed));
|
|
2131
|
+
//console.log(`[vtecxnext removeacl] response=${response}`)
|
|
2132
|
+
// vte.cxからのset-cookieを転記
|
|
2133
|
+
setCookie(response, res);
|
|
2134
|
+
// レスポンスのエラーチェック
|
|
2135
|
+
await checkVtecxResponse(response);
|
|
2136
|
+
// 戻り値
|
|
2137
|
+
return await getJson(response);
|
|
2138
|
+
};
|
|
2139
|
+
exports.removeacl = removeacl;
|
|
2140
|
+
/**
|
|
2141
|
+
* add alias
|
|
2142
|
+
* @param req request (for authentication)
|
|
2143
|
+
* @param res response (for authentication)
|
|
2144
|
+
* @param feed entries
|
|
2145
|
+
* @return message
|
|
2146
|
+
*/
|
|
2147
|
+
const addalias = async (req, res, feed) => {
|
|
2148
|
+
//console.log('[vtecxnext addalias] start.')
|
|
2149
|
+
// 入力チェック
|
|
2150
|
+
checkNotNull(feed, 'Feed');
|
|
2151
|
+
// vte.cxへリクエスト
|
|
2152
|
+
const method = 'PUT';
|
|
2153
|
+
const url = `/d/?_addalias`;
|
|
2154
|
+
const response = await requestVtecx(method, url, req, JSON.stringify(feed));
|
|
2155
|
+
//console.log(`[vtecxnext addalias] response=${response}`)
|
|
2156
|
+
// vte.cxからのset-cookieを転記
|
|
2157
|
+
setCookie(response, res);
|
|
2158
|
+
// レスポンスのエラーチェック
|
|
2159
|
+
await checkVtecxResponse(response);
|
|
2160
|
+
// 戻り値
|
|
2161
|
+
return await getJson(response);
|
|
2162
|
+
};
|
|
2163
|
+
exports.addalias = addalias;
|
|
2164
|
+
/**
|
|
2165
|
+
* remove alias
|
|
2166
|
+
* @param req request (for authentication)
|
|
2167
|
+
* @param res response (for authentication)
|
|
2168
|
+
* @param feed entries
|
|
2169
|
+
* @return message
|
|
2170
|
+
*/
|
|
2171
|
+
const removealias = async (req, res, feed) => {
|
|
2172
|
+
//console.log('[vtecxnext removealias] start.')
|
|
2173
|
+
// 入力チェック
|
|
2174
|
+
checkNotNull(feed, 'Feed');
|
|
2175
|
+
// vte.cxへリクエスト
|
|
2176
|
+
const method = 'PUT';
|
|
2177
|
+
const url = `/d/?_removealias`;
|
|
2178
|
+
const response = await requestVtecx(method, url, req, JSON.stringify(feed));
|
|
2179
|
+
//console.log(`[vtecxnext removealias] response=${response}`)
|
|
2180
|
+
// vte.cxからのset-cookieを転記
|
|
2181
|
+
setCookie(response, res);
|
|
2182
|
+
// レスポンスのエラーチェック
|
|
2183
|
+
await checkVtecxResponse(response);
|
|
2184
|
+
// 戻り値
|
|
2185
|
+
return await getJson(response);
|
|
2186
|
+
};
|
|
2187
|
+
exports.removealias = removealias;
|
|
1678
2188
|
//---------------------------------------------
|
|
1679
2189
|
/**
|
|
1680
2190
|
* Error returned from vte.cx
|
|
@@ -1698,10 +2208,15 @@ exports.VtecxNextError = VtecxNextError;
|
|
|
1698
2208
|
* @param targetService 連携サービス名
|
|
1699
2209
|
* @returns promise
|
|
1700
2210
|
*/
|
|
1701
|
-
const requestVtecx = async (method, url, req, body, targetService) => {
|
|
2211
|
+
const requestVtecx = async (method, url, req, body, additionalHeaders, targetService) => {
|
|
1702
2212
|
// cookieの値をvte.cxへのリクエストヘッダに設定
|
|
1703
2213
|
const cookie = req ? req.headers['cookie'] : undefined;
|
|
1704
2214
|
const headers = cookie ? { 'Cookie': cookie } : {};
|
|
2215
|
+
if (additionalHeaders) {
|
|
2216
|
+
for (const key in additionalHeaders) {
|
|
2217
|
+
headers[key] = additionalHeaders[key];
|
|
2218
|
+
}
|
|
2219
|
+
}
|
|
1705
2220
|
if (targetService) {
|
|
1706
2221
|
// サービス連携の場合
|
|
1707
2222
|
const servicekey = process.env[`SERVICEKEY_${targetService}`];
|
|
@@ -1844,7 +2359,7 @@ const editBqTableNames = (tablenames) => {
|
|
|
1844
2359
|
return null;
|
|
1845
2360
|
}
|
|
1846
2361
|
let result = '';
|
|
1847
|
-
for (
|
|
2362
|
+
for (const key in tablenames) {
|
|
1848
2363
|
const value = tablenames[key];
|
|
1849
2364
|
//console.log(`[editBqTableNames] ${key}=${value}`)
|
|
1850
2365
|
result = `${result ? result + ',' : ''}${key}:${value}`;
|
|
@@ -1880,7 +2395,7 @@ const formatSql = (sql, values) => {
|
|
|
1880
2395
|
if (!values) {
|
|
1881
2396
|
return sql;
|
|
1882
2397
|
}
|
|
1883
|
-
return
|
|
2398
|
+
return sqlstring_1.default.format(sql, values);
|
|
1884
2399
|
};
|
|
1885
2400
|
/**
|
|
1886
2401
|
* linkの編集
|
|
@@ -1902,3 +2417,15 @@ const getLinks = (rel, hrefs) => {
|
|
|
1902
2417
|
//console.log(`[vtecxnext getLinks] links=${JSON.stringify(links)}`)
|
|
1903
2418
|
return links;
|
|
1904
2419
|
};
|
|
2420
|
+
/**
|
|
2421
|
+
* ストリームからバイナリデータを取得
|
|
2422
|
+
* @param readable Readable
|
|
2423
|
+
* @returns バイナリデータ
|
|
2424
|
+
*/
|
|
2425
|
+
const buffer = async (readable) => {
|
|
2426
|
+
const chunks = [];
|
|
2427
|
+
for await (const chunk of readable) {
|
|
2428
|
+
chunks.push(typeof chunk === 'string' ? Buffer.from(chunk) : chunk);
|
|
2429
|
+
}
|
|
2430
|
+
return Buffer.concat(chunks);
|
|
2431
|
+
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vtecx/vtecxnext",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.4",
|
|
4
4
|
"description": "vte.cx Next.js api",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"files": [
|
|
@@ -22,12 +22,14 @@
|
|
|
22
22
|
},
|
|
23
23
|
"homepage": "https://github.com/reflexworks/vtecxnext#readme",
|
|
24
24
|
"devDependencies": {
|
|
25
|
+
"@types/formidable": "^2.0.5",
|
|
25
26
|
"@types/node": "^18.11.17",
|
|
26
27
|
"@types/sqlstring": "^2.3.0",
|
|
27
28
|
"ts-node": "^10.9.1",
|
|
28
29
|
"typescript": "^4.9.4"
|
|
29
30
|
},
|
|
30
31
|
"dependencies": {
|
|
32
|
+
"formidable": "^2.1.1",
|
|
31
33
|
"sqlstring": "^2.3.3"
|
|
32
34
|
}
|
|
33
35
|
}
|