@vtecx/vtecxnext 3.0.4 → 3.0.6

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.
@@ -142,6 +142,8 @@ export declare class VtecxNext {
142
142
  private bufferData;
143
143
  /** Access Token (for batch) */
144
144
  private accessToken;
145
+ /** Whether or not to use accesstoken (for batch) */
146
+ private useAccessToken;
145
147
  /** login cookies */
146
148
  private loginCookies;
147
149
  /** next cookies (for server action) */
@@ -154,6 +156,10 @@ export declare class VtecxNext {
154
156
  * @param accessToken Access token (for batch)
155
157
  */
156
158
  constructor(req?: NextRequest, accessToken?: string);
159
+ /**
160
+ * Initial processing for batch.
161
+ */
162
+ init: () => Promise<void>;
157
163
  /**
158
164
  * get url parameter.
159
165
  * @param name parameter name
@@ -1077,6 +1083,16 @@ export declare class VtecxNext {
1077
1083
  * @param indexInfos delete index information
1078
1084
  */
1079
1085
  deleteIndex: (indexInfos: IndexInfo[]) => Promise<void>;
1086
+ /**
1087
+ * get access count
1088
+ * @return access count
1089
+ */
1090
+ accesscount: () => Promise<number>;
1091
+ /**
1092
+ * get storage usage
1093
+ * @return storage usage
1094
+ */
1095
+ storageusage: () => Promise<number>;
1080
1096
  /**
1081
1097
  * convert index informations to argument entry
1082
1098
  * @param indexInfos index informations
package/dist/vtecxnext.js CHANGED
@@ -53,6 +53,8 @@ class VtecxNext {
53
53
  bufferData = null;
54
54
  /** Access Token (for batch) */
55
55
  accessToken;
56
+ /** Whether or not to use accesstoken (for batch) */
57
+ useAccessToken;
56
58
  /** login cookies */
57
59
  loginCookies = {};
58
60
  /** next cookies (for server action) */
@@ -72,8 +74,34 @@ class VtecxNext {
72
74
  else {
73
75
  this.req = undefined;
74
76
  this.accessToken = accessToken;
77
+ this.useAccessToken = true;
75
78
  }
76
79
  }
80
+ /**
81
+ * Initial processing for batch.
82
+ */
83
+ init = async () => {
84
+ //console.log(`[vtecxnext init] start.`)
85
+ if (this.accessToken && this.useAccessToken) {
86
+ // vte.cxへリクエスト
87
+ const method = 'POST';
88
+ const url = `${SERVLETPATH_DATA}/?_createsession`;
89
+ let response;
90
+ try {
91
+ response = await this.requestVtecx(method, url);
92
+ }
93
+ catch (e) {
94
+ throw newFetchError(e, true);
95
+ }
96
+ //console.log(`[vtecxnext init] response. status=${response.status}`)
97
+ // vte.cxからのset-cookieを転記
98
+ this.setCookie(response);
99
+ // レスポンスのエラーチェック
100
+ await checkVtecxResponse(response);
101
+ // 以降アクセストークンは使用しない
102
+ this.useAccessToken = false;
103
+ }
104
+ };
77
105
  /**
78
106
  * get url parameter.
79
107
  * @param name parameter name
@@ -244,7 +272,7 @@ class VtecxNext {
244
272
  //console.log('[vtecxnext now] start.')
245
273
  // vte.cxへリクエスト
246
274
  const method = 'GET';
247
- const url = '/d/?_now';
275
+ const url = `${SERVLETPATH_DATA}/?_now`;
248
276
  let response;
249
277
  try {
250
278
  response = await this.requestVtecx(method, url);
@@ -267,7 +295,7 @@ class VtecxNext {
267
295
  //console.log('[vtecxnext uid] start.')
268
296
  // vte.cxへリクエスト
269
297
  const method = 'GET';
270
- const url = '/d/?_uid';
298
+ const url = `${SERVLETPATH_DATA}/?_uid`;
271
299
  let response;
272
300
  try {
273
301
  response = await this.requestVtecx(method, url);
@@ -292,7 +320,7 @@ class VtecxNext {
292
320
  //console.log('[vtecxnext account] start.')
293
321
  // vte.cxへリクエスト
294
322
  const method = 'GET';
295
- const url = '/d/?_account';
323
+ const url = `${SERVLETPATH_DATA}/?_account`;
296
324
  let response;
297
325
  try {
298
326
  response = await this.requestVtecx(method, url);
@@ -318,7 +346,7 @@ class VtecxNext {
318
346
  //console.log('[vtecxnext service] start.')
319
347
  // vte.cxへリクエスト
320
348
  const method = 'GET';
321
- const url = '/d/?_service';
349
+ const url = `${SERVLETPATH_DATA}/?_service`;
322
350
  let response;
323
351
  try {
324
352
  response = await this.requestVtecx(method, url);
@@ -343,7 +371,7 @@ class VtecxNext {
343
371
  //console.log('[vtecxnext rxid] start.')
344
372
  // vte.cxへリクエスト
345
373
  const method = 'GET';
346
- const url = '/d/?_getrxid';
374
+ const url = `${SERVLETPATH_DATA}/?_getrxid`;
347
375
  let response;
348
376
  try {
349
377
  response = await this.requestVtecx(method, url);
@@ -462,7 +490,7 @@ class VtecxNext {
462
490
  //console.log('[vtecxnext logout] start.')
463
491
  // vte.cxへリクエスト
464
492
  const method = 'POST';
465
- const url = '/d/?_logout';
493
+ const url = `${SERVLETPATH_DATA}/?_logout`;
466
494
  let response;
467
495
  try {
468
496
  response = await this.requestVtecx(method, url);
@@ -490,7 +518,7 @@ class VtecxNext {
490
518
  //console.log('[vtecxnext whoami] start.')
491
519
  // vte.cxへリクエスト
492
520
  const method = 'GET';
493
- const url = '/d/?_whoami';
521
+ const url = `${SERVLETPATH_DATA}/?_whoami`;
494
522
  let response;
495
523
  try {
496
524
  response = await this.requestVtecx(method, url);
@@ -3938,6 +3966,62 @@ class VtecxNext {
3938
3966
  // 戻り値
3939
3967
  return await getJson(response);
3940
3968
  };
3969
+ /**
3970
+ * get access count
3971
+ * @return access count
3972
+ */
3973
+ accesscount = async () => {
3974
+ //console.log('[vtecxnext accesscount] start.')
3975
+ // vte.cxへリクエスト
3976
+ const method = 'GET';
3977
+ const url = `${SERVLETPATH_DATA}/?_accesscount`;
3978
+ let response;
3979
+ try {
3980
+ response = await this.requestVtecx(method, url);
3981
+ }
3982
+ catch (e) {
3983
+ throw newFetchError(e, true);
3984
+ }
3985
+ //console.log(`[vtecxnext accesscount] response=${response}`)
3986
+ // vte.cxからのset-cookieを転記
3987
+ this.setCookie(response);
3988
+ // レスポンスのエラーチェック
3989
+ await checkVtecxResponse(response);
3990
+ // 戻り値
3991
+ const data = await getJson(response);
3992
+ if (isIntegerString(data.feed.title)) {
3993
+ return Number(data.feed.title);
3994
+ }
3995
+ return 0;
3996
+ };
3997
+ /**
3998
+ * get storage usage
3999
+ * @return storage usage
4000
+ */
4001
+ storageusage = async () => {
4002
+ //console.log('[vtecxnext storageusage] start.')
4003
+ // vte.cxへリクエスト
4004
+ const method = 'GET';
4005
+ const url = `${SERVLETPATH_DATA}/?_storageusage`;
4006
+ let response;
4007
+ try {
4008
+ response = await this.requestVtecx(method, url);
4009
+ }
4010
+ catch (e) {
4011
+ throw newFetchError(e, true);
4012
+ }
4013
+ //console.log(`[vtecxnext storageusage] response=${response}`)
4014
+ // vte.cxからのset-cookieを転記
4015
+ this.setCookie(response);
4016
+ // レスポンスのエラーチェック
4017
+ await checkVtecxResponse(response);
4018
+ // 戻り値
4019
+ const data = await getJson(response);
4020
+ if (isIntegerString(data.feed.title)) {
4021
+ return Number(data.feed.title);
4022
+ }
4023
+ return 0;
4024
+ };
3941
4025
  /**
3942
4026
  * convert index informations to argument entry
3943
4027
  * @param indexInfos index informations
@@ -3995,8 +4079,8 @@ class VtecxNext {
3995
4079
  const cookie = await this.editRequestCookie();
3996
4080
  //console.log(`[requestVtecx] cookie = ${cookie}`)
3997
4081
  const headers = cookie ? { Cookie: cookie } : {};
3998
- if (this.accessToken) {
3999
- headers.Authorization = `Token ${this.accessToken}`;
4082
+ if (this.accessToken && this.useAccessToken) {
4083
+ headers.Authorization = `Bearer ${this.accessToken}`;
4000
4084
  }
4001
4085
  if (additionalHeaders) {
4002
4086
  //console.log(`[vtecxnext requestVtecx] additionalHeaders for`)
@@ -4596,6 +4680,12 @@ const isBlank = (val) => {
4596
4680
  }
4597
4681
  return false;
4598
4682
  };
4683
+ /**
4684
+ * 文字列の数字判定
4685
+ * @param s 文字列
4686
+ * @returns 文字列が数字であればtrue
4687
+ */
4688
+ const isIntegerString = (s) => /^[0-9]+$/.test(s);
4599
4689
  /**
4600
4690
  * vte.cxからのレスポンスが正常かエラーかをチェックする。
4601
4691
  * エラーの場合 VtecxNextError をスローする。
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vtecx/vtecxnext",
3
- "version": "3.0.4",
3
+ "version": "3.0.6",
4
4
  "description": "vte.cx Next.js api",
5
5
  "main": "dist/index.js",
6
6
  "files": [
@@ -18,13 +18,13 @@
18
18
  },
19
19
  "homepage": "https://github.com/reflexworks/vtecxnext#readme",
20
20
  "devDependencies": {
21
- "@types/node": "^25.2.3",
21
+ "@types/node": "^25.9.1",
22
22
  "@types/sqlstring": "^2.3.2",
23
23
  "ts-node": "^10.9.2",
24
- "typescript": "^5.9.3"
24
+ "typescript": "^6.0.3"
25
25
  },
26
26
  "dependencies": {
27
- "next": "^16.1.6",
27
+ "next": "^16.2.6",
28
28
  "sqlstring": "^2.3.3"
29
29
  },
30
30
  "scripts": {