0
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

GROWI TypeScript/JavaScript SDKの紹介(その1:ページのCRUD操作)

Last updated at Posted at 2024-06-19

オープンソースの社内WikiであるGROWIではREST APIが公開されています。このAPIをより簡単に使えるよう、TypeScript/JavaScript SDKを開発しています。まだ途中ですが、徐々に機能追加していきます。

今回はページのCRUD(Create, Read, Update, Delete)操作を行う方法を解説します。

注意点

こちらはコミュニティSDKになります。公式への問い合わせはご遠慮ください。

ソースコード

GROWI TypeScript/JavaScript SDKのソースコードはGitHubにて公開しています。ライセンスはMITです。

goofmint/growi-sdk-alpha

インストール

インストールはnpm/yarn経由で行います。

$ npm install @goofmint/growi-js
# または
$ yarn add @goofmint/growi-js

使い方

まずはSDKをインポートします。

const { GROWI } = require('@goofmint/growi-js');
// または
import { GROWI } from '@goofmint/growi-js';

そして、初期化します。この時、GROWIのAPIトークンを指定します。

const growi = new GROWI({ apiToken: 'your-api-token' });

この他、以下のパラメーターを用意しています。

  • url : GROWIのURLを指定します。デフォルトはhttp://localhost:3000です。
  • path : GROWIのページパスを指定します。デフォルトは `` です。サブディレクトリにインストールしている際に指定します。

ページの取得

現在はルートからのページ取得に対応しています。返ってくるのは Page オブジェクトです。

const page = await growi.root();

ページ本文は contents メソッドで取得します。

const contents = await page.contents();

子ページの取得

子ページを取得するには children メソッドを使います。これは Page の配列です。

const children = await page.children();

本文の更新

本文をアップデートする際には、 contents メソッドに本文を適用してください。そして、 save メソッドを呼び出します。

page.contents('新しい本文');
await page.save();

新しいページの作成

新しいページを作成するには、 create メソッドを使います。

const newPage = await growi.create({name: '新しいページ'});

作成時には、 body パラメーターで本文を、 grant パラメーターで公開範囲を指定できます。

const newPage = await page.create({ name, grant: growi.Page.Grant.public });

ページの削除

ページの削除は remove メソッドを使います。

await page.remove();

オプションのパラメーターとして isCompletely を指定すると、ページを物理削除します。 isRecursively を指定すると、子ページも再帰的に削除します。

まとめ

GROWIは社内Wikiとして、社内システムとのデータ連係ニーズが出やすいでしょう。ぜひ、Node.js SDKを使って、GROWIをシステムから操作してください。

OSS開発wikiツールのGROWI | 快適な情報共有を、全ての人へ

0
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?