Class: Group

Group

グループ管理クラス


new Group(groupname)

グループオブジェクトを生成する

・オブジェクトを生成しただけでは、まだサーバにグループ登録されていない。グループ登録は、Group#save で実施する。
・グループはアプリ毎ではなく、テナント毎に作成される。

Parameters:
Name Type Description
groupname String

グループ名。 グループ名に使用できる文字は、1バイト英数のみ。

Returns:

新規グループオブジェクトのインスタンス

Type
Group
Example
var group = new Nebula.Group("group1");

Members


_id :String

グループID

Type:
  • String

acl :Acl

ACL

Type:

createdAt :String

作成日時

Type:
  • String

etag :String

ETag

Type:
  • String

groupname :String

グループ名

Type:
  • String

groups :Array.<String>

グループ名の一覧(配列)

Type:
  • Array.<String>

updatedAt :String

更新日時

Type:
  • String

users :Array.<String>

ユーザIDの一覧(配列)

Type:
  • Array.<String>

Methods


<static> delete()

グループを削除する (Deprecated)
・本APIは Deprecated である。Group.remove を使用すること。

Deprecated:
  • since v4.0.1

<static> query(conditions, callbacks)

グループ検索

Parameters:
Name Type Description
conditions Object

取得条件

・conditions にnull を指定した場合は全グループ一を取得する。
・conditions は、JSON 形式で指定する。
    {
        "groupname" : "group1"
    }
    (プロパティ名)
    groupname    : グループ名
callbacks Callbacks

応答コールバック

・処理が成功した場合、success の呼び出しにて通知する。
    success の書式は以下の通りとする。
        success(groups)
            groups : 取得した Nebula.Group インスタンスの配列
            各要素に以下のグループのプロパティが更新される
                (プロパティ名)
                groupname   : グループ名
                users       : 所属ユーザIDの一覧
                groups      : 所属サブグループ名の一覧
                acl         : ACL
Returns:

callbacksを指定しなかった場合、Promiseオブジェクトを返す。callback指定時は返り値なし(undefined)。

Type
Promise

<static> remove(group, callbacks)

グループ削除

Parameters:
Name Type Description
group Group

削除するグループオブジェクトのインスタンス

・group にnull は指定できない。
・グループ削除に必要なインスタンスのプロパティは、以下の通りとする。
    (プロパティ名)
    groupname   : グループ名(必須)
    etag        : グループに設定されるETag値(オプション)
・ETag値は、グループ新規保存した場合にサーバで追加され、
  グループを更新する度にサーバで変更される固有値である。
  ETag値は、グループの "etag"プロパティに格納される。
・etagを指定すると、サーバに保存されているグループのETag値と照合される。
  一致しなかった場合は、データ衝突として「409 Conflict」エラーとなり、グループは削除されない。
  etagがnullの場合は、ETag値は照合されずグループは無条件で削除される。
callbacks Callbacks

応答コールバック

・処理が成功した場合、success の呼び出しにて通知する。 success の引数は無し。

Since:
  • v4.0.1
Returns:

callbacksを指定しなかった場合、Promiseオブジェクトを返す。callback指定時は返り値なし(undefined)。

Type
Promise

addEntry(entry)

グループエントリ追加

・登録するグループにユーザまたはグループを追加する。

Parameters:
Name Type Description
entry Object

Nebula.User またはNebula.Group のインスタンス

・entry は、グループに追加する Nebula.User または Nebula.Group のインスタンスを指定する。
  各インスタンスには以下のプロパティが設定されていること。
    Nebula.User
    (プロパティ名)
    _id             : ユーザのID(*)
    (*) ユーザID は、ユーザ登録が成功した場合にSDK がユーザプロパティに設定する。
        ユーザ取得、ログイン、カレントユーザ取得で取得したNebula.User のインスタンスには登録時のユーザID が設定されている。
    Nebula.Group
    (プロパティ名)
    groupname       : 登録済みグループ名
Returns:

value エントリ結果

・value は、エントリとして追加した場合 true、パラメータが不正の場合false が返る。
・処理の成功により、以下のグループオブジェクトのプロパティが更新される。
    (プロパティ名)
    users       : グループにエントリされるユーザ(ID)の配列(*)
    groups      : グループにエントリされるグループ名の配列(*)
    (*) グループプロパティ設定(group.set) でプロパティを設定した場合、エントリ追加した内容は上書きされる。
Type
Boolean

addMembers(userIds, groups, callbacks)

グループメンバ追加

・グループにユーザ・子グループを追加する。

Parameters:
Name Type Description
userIds Array.<string>

追加するユーザIDの配列

groups Array.<string>

追加するグループ名の配列

callbacks Callbacks

応答コールバック

処理が成功した場合、success の呼び出しにて通知する。 success の引数は以下の通り。

    success(group)
        group : 変更したグループオブジェクトのインスタンス
Since:
  • 6.5.0
Returns:

callbacksを指定しなかった場合、Promiseオブジェクトを返す。callback指定時は返り値なし(undefined)。

Type
Promise

get(property)

グループプロパティ取得 (Deprecated)

・グループオブジェクトのプロパティを取得する。
・取得可能なプロパティの詳細は、各メソッドの説明を参照のこと。
・本メソッドは Deprecated である。各フィールドの getter を使用すること。

Parameters:
Name Type Description
property String

プロパティ名

Deprecated:
  • since 5.0.0
Returns:

value プロパティ値

Type
String

removeEntry(entry)

グループエントリ削除

・グループからユーザまたはグループを削除する。

Parameters:
Name Type Description
entry Object

Nebula.User またはNebula.Group のインスタンス

・entry は、グループから削除する Nebula.User または Nebula.Group のインスタンスを指定する。
  各インスタンスには以下のプロパティが設定されていること。
    Nebula.User
    (プロパティ名)
    _id             : ユーザのID(*)
    (*) ユーザID は、ユーザ登録が成功した場合にSDK がユーザプロパティに設定する。
        ユーザ取得、ログイン、カレントユーザ取得で取得したNebula.User のインスタンスには登録時のユーザID が設定されている。
    Nebula.Group
    (プロパティ名)
    groupname       : 登録済みグループ名
Returns:

value エントリ結果

・value は、エントリから削除した場合 true、パラメータが不正の場合false が返る。
・処理の成功により、以下のグループオブジェクトのプロパティが更新される。
    (プロパティ名)
    users       : グループにエントリされるユーザ(ID)の配列(*)
    groups      : グループにエントリされるグループ名の配列(*)
    (*) グループプロパティ設定(group.set) でプロパティを設定した場合、エントリ追加した内容は上書きされる。
Type
Boolean

removeMembers(userIds, groups, callbacks)

グループメンバ削除

・グループからにユーザ・子グループを削除する

Parameters:
Name Type Description
userIds Array.<string>

削除するユーザIDの配列

groups Array.<string>

削除するグループ名の配列

callbacks Callbacks

応答コールバック

・処理が成功した場合、success の呼び出しにて通知する。
    success の書式は以下の通りとする。
        success(group)
            group : 変更したグループオブジェクトのインスタンス
Since:
  • 6.5.0
Returns:

callbacksを指定しなかった場合、Promiseオブジェクトを返す。callback指定時は返り値なし(undefined)。

Type
Promise

save(callbacks)

グループ登録・更新

・グループを登録する。
・既に同一名称のグループが登録されている場合は更新となる。
・グループ登録(又は更新)に必要なグループプロパティは、以下の通り。

  • groupname : グループ名(必須)
  • users : グループに登録されるユーザ(ID)の配列(※)
  • groups : グループに登録されるグループ名の配列(※)
  • acl : グループに設定されるNebula.Acl のインスタンス(オプション)
  • etag : グループに設定されるETag値(オプション)
(※) グループに登録されるユーザ(ID)とグループ名の配列は、グループ プロパティ設定で配列を設定する方法とグループエントリの追加/ 削除で個別に設定する方法がある。

・ETag値は、グループを登録した場合にサーバで追加され、 グループを更新する度にサーバで変更される固有値である。 ETag値は、グループの "etag"プロパティに格納される。 グループの登録の場合は、etagがないため必ず新規に生成・保存される。
・グループプロパティにETag値が含まれる場合、サーバに保存されているグループのETag値と照合される。 一致しなかった場合は、データ衝突として「409 Conflict」エラーとなり、グループは更新されない。

Parameters:
Name Type Description
callbacks Callbacks

応答コールバック

・処理が成功した場合、success の呼び出しにて通知する。
    success の書式は以下の通りとする。
        success(group)
            group : 登録したグループオブジェクトのインスタンス
            acl を設定しなかった場合は以下のNebula.Acl インスタンスが自動的に設定される。
            ・ログイン済みの場合    :全フィールドが空。
                                      オーナ(作成ユーザ)のみアクセス可。
            ・未ログイン状態の場合  :r, w に "g:anonymous" が設定される。
                                      誰でも読み書き可。
Returns:

callbacksを指定しなかった場合、Promiseオブジェクトを返す。callback指定時は返り値なし(undefined)。

Type
Promise

set(property, value)

グループプロパティ設定 (Deprecated)

・グループオブジェクトのプロパティを設定する。
・設定可能なプロパティの詳細は、各メソッドの説明を参照のこと。
・本メソッドは Deprecated である。各フィールドの setter を使用すること。

Parameters:
Name Type Description
property String

プロパティ名

value String

プロパティ値

Deprecated:
  • since 5.0.0
Returns:

this

Type
Group