Appのテンプレート側では次のように記述します。modalがinstallationManagerの時だけ表示します。
まず最初にデータストアからInstallationを読み込む部分を作ります。最初はデータはありませんが、その方がデータ登録後の処理が分かりやすくなります。これはDOMを生成した後の イベントに対して作成します。
検索条件として、 testerカラムがtrueであるものだけを対象としています。また、一覧の更新は他のメソッドからも使いますので、別メソッド化しておきます。order(並び順)カラムを使って並び順を指定します。データはそのまま this.installations の中に保存します。
すでに存在するデバイストークンを対象としていますので、データはすべて更新処理になります。常にtesterカラムはtrueになります。複数のデータを一度に保存するので、Promise.allを使って並行処理で実行します。
モーダル上部にあるチェックボックスを有効にすると一覧のデータすべてのチェックボックスが有効になります。これは this.installations trueにすればOKです。
データを削除する場合、物理削除してしまうとプッシュ通知が受け取れなくなります。そこで、testerカラムや説明を空文字にしてテスト配信対象外とします。なお、objectIdを入力していない場合も考えられますので、その場合は単に this.installations から排除するだけとしています。
ここまでの処理でデバイストークンをテスト配信の対象にしたり、解除できるようになります。InstallationクラスはJavaScript SDKから作成ができなかったり、物理削除してはいけないといった制約があります。ご注意ください。