@vtecx/vtecxnext 2.0.0 → 2.0.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.
@@ -1,3 +1,4 @@
1
+ /// <reference types="node" />
1
2
  import { NextRequest } from 'next/server';
2
3
  import type { Readable } from 'node:stream';
3
4
  /**
@@ -677,15 +678,35 @@ export declare class VtecxNext {
677
678
  /**
678
679
  * save files
679
680
  * @param uri key
681
+ * @param bysize true if registering with specified size
680
682
  * @returns message
681
683
  */
682
- savefiles: (uri: string) => Promise<any>;
684
+ savefiles: (uri: string, bysize?: boolean) => Promise<any>;
685
+ /**
686
+ * save files registering with specified size
687
+ * @param uri key
688
+ * @returns message
689
+ */
690
+ savefilesBySize: (uri: string) => Promise<any>;
683
691
  /**
684
692
  * upload content
685
693
  * @param uri key
694
+ * @param bysize true if registering with specified size
695
+ * @return message
696
+ */
697
+ putcontent: (uri: string, bysize?: boolean) => Promise<any>;
698
+ /**
699
+ * upload content registering with specified size
700
+ * @param uri key
686
701
  * @return message
687
702
  */
688
- putcontent: (uri: string) => Promise<any>;
703
+ putcontentBySize: (uri: string) => Promise<any>;
704
+ /**
705
+ * upload content and numbering
706
+ * @param parenturi parent key
707
+ * @return numbered key
708
+ */
709
+ postcontent: (parenturi: string) => Promise<any>;
689
710
  /**
690
711
  * delete content
691
712
  * @param uri key
package/dist/vtecxnext.js CHANGED
@@ -2689,9 +2689,10 @@ class VtecxNext {
2689
2689
  /**
2690
2690
  * save files
2691
2691
  * @param uri key
2692
+ * @param bysize true if registering with specified size
2692
2693
  * @returns message
2693
2694
  */
2694
- savefiles = async (uri) => {
2695
+ savefiles = async (uri, bysize) => {
2695
2696
  //console.log(`[vtecxnext savefiles] start. uri=${uri}`)
2696
2697
  // キー入力値チェック
2697
2698
  checkUri(uri);
@@ -2714,7 +2715,7 @@ class VtecxNext {
2714
2715
  const buffer = await promiseKeyBuffer.promiseBuffer;
2715
2716
  const method = 'PUT';
2716
2717
  const contentUri = `${uri}${uri.endsWith('/') ? '' : '/'}${key}`;
2717
- const url = `${SERVLETPATH_PROVIDER}${contentUri}?_content`;
2718
+ const url = `${SERVLETPATH_PROVIDER}${contentUri}?_content${bysize ? '&_bysize' : ''}`;
2718
2719
  //console.log(`[vtecxnext savefiles] request. url=${url}`)
2719
2720
  const promiseResponse = this.requestVtecx(method, url, buffer);
2720
2721
  promises.push(promiseResponse);
@@ -2733,19 +2734,28 @@ class VtecxNext {
2733
2734
  }
2734
2735
  return { 'feed': { 'title': contentUris } };
2735
2736
  };
2737
+ /**
2738
+ * save files registering with specified size
2739
+ * @param uri key
2740
+ * @returns message
2741
+ */
2742
+ savefilesBySize = async (uri) => {
2743
+ return this.savefiles(uri, true);
2744
+ };
2736
2745
  /**
2737
2746
  * upload content
2738
2747
  * @param uri key
2748
+ * @param bysize true if registering with specified size
2739
2749
  * @return message
2740
2750
  */
2741
- putcontent = async (uri) => {
2751
+ putcontent = async (uri, bysize) => {
2742
2752
  //console.log(`[vtecxnext putcontent] start. uri=${uri} content-type:${req.headers['content-type']} content-length:${req.headers['content-length']}`)
2743
2753
  // キー入力値チェック
2744
2754
  checkUri(uri);
2745
2755
  // vte.cxへリクエスト
2746
2756
  const method = 'PUT';
2747
- const url = `${SERVLETPATH_PROVIDER}${uri}?_content`;
2748
- //const headers = {'Content-Type' : req.headers['content-type'], 'Content-Length' : req.headers['content-length']}
2757
+ const url = `${SERVLETPATH_PROVIDER}${uri}?_content${bysize ? '&_bysize' : ''}`;
2758
+ //console.log(`[vtecxnext putcontent] request. url=${url}`)
2749
2759
  const headers = { 'Content-Type': this.req.headers.get('content-type') };
2750
2760
  //const buf = await buffer(this.req)
2751
2761
  const buf = await this.req.arrayBuffer();
@@ -2763,6 +2773,44 @@ class VtecxNext {
2763
2773
  await checkVtecxResponse(response);
2764
2774
  return await getJson(response);
2765
2775
  };
2776
+ /**
2777
+ * upload content registering with specified size
2778
+ * @param uri key
2779
+ * @return message
2780
+ */
2781
+ putcontentBySize = async (uri) => {
2782
+ return this.putcontent(uri, true);
2783
+ };
2784
+ /**
2785
+ * upload content and numbering
2786
+ * @param parenturi parent key
2787
+ * @return numbered key
2788
+ */
2789
+ postcontent = async (parenturi) => {
2790
+ //console.log(`[vtecxnext postcontent] start. parenturi=${parenturi} content-type:${req.headers['content-type']} content-length:${req.headers['content-length']}`)
2791
+ // キー入力値チェック
2792
+ checkUri(parenturi);
2793
+ // vte.cxへリクエスト
2794
+ const method = 'POST';
2795
+ const url = `${SERVLETPATH_PROVIDER}${parenturi}?_content`;
2796
+ //console.log(`[vtecxnext postcontent] request. url=${url}`)
2797
+ const headers = { 'Content-Type': this.req.headers.get('content-type') };
2798
+ //const buf = await buffer(this.req)
2799
+ const buf = await this.req.arrayBuffer();
2800
+ let response;
2801
+ try {
2802
+ response = await this.requestVtecx(method, url, buf, headers);
2803
+ }
2804
+ catch (e) {
2805
+ throw newFetchError(e, true);
2806
+ }
2807
+ //console.log(`[vtecxnext postcontent] response. status=${response.status}`)
2808
+ // vte.cxからのset-cookieを転記
2809
+ this.setCookie(response);
2810
+ // レスポンスのエラーチェック
2811
+ await checkVtecxResponse(response);
2812
+ return await getJson(response);
2813
+ };
2766
2814
  /**
2767
2815
  * delete content
2768
2816
  * @param uri key
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vtecx/vtecxnext",
3
- "version": "2.0.0",
3
+ "version": "2.0.2",
4
4
  "description": "vte.cx Next.js api",
5
5
  "main": "dist/index.js",
6
6
  "files": [
@@ -22,13 +22,13 @@
22
22
  },
23
23
  "homepage": "https://github.com/reflexworks/vtecxnext#readme",
24
24
  "devDependencies": {
25
- "@types/node": "^20.8.2",
26
- "@types/sqlstring": "^2.3.0",
27
- "ts-node": "^10.9.1",
28
- "typescript": "^5.2.2"
25
+ "@types/node": "^20.11.14",
26
+ "@types/sqlstring": "^2.3.2",
27
+ "ts-node": "^10.9.2",
28
+ "typescript": "^5.3.3"
29
29
  },
30
30
  "dependencies": {
31
- "next": "^13.5.4",
32
- "sqlstring": "^2.3.3"
31
+ "next": "^14.1.0",
32
+ "sqlstring": "^2.3.2"
33
33
  }
34
34
  }