サインアップの承認

それでは始めましょう。プライベート・ベータ版の製品があります。ユーザーがサインアップできるように、特定のユーザーを承認するツールが必要です。5分でゼロからサインアップツールを作成します。


Retoolアカウントがまだない場合は、まずアカウントを作成します。
アカウントの作成

1. ユーザーの表示

最初に、SQLクエリーを作成して、ユーザーを取得しましょう。

select * from users order by id;

クエリーは次のようになります。

2682

Run (⌘⏎)を押して、クエリーをプレビューします。問題がなければ、「Save」 (⌘S)を押します。次に、右側からTableをドラッグしましょう。作成したクエリーからデータが自動的に移入されます。

これで、ユーザーの表ができました。では、ユーザーを検索してみましょう。

3170

2. ユーザーの検索

ユーザーを検索するには、右側からTextInputをドラッグしましょう。

1788

TextInputTableの上部に配置します

次に、TextInputの値で検索するようにSQLクエリーを変更する必要があります。次のように、SQLクエリーを変更しましょう。

select * from users where first_name ILIKE {{'%' + textinput1.value + '%'}}

部分一致を実行するために、%を追加しています。これがないと、「mary」は「Mary」と一致しますが、「mar」は一致しません。これがあると、「ma」は「Mary」と「Marilyn」の両方と一致します。

👍

{{ }}内のJavascript

{{ }}内はすべてJavascriptです。したがって、%+演算子とともに先頭に追加したり最後に追加したりできます。

RetoolではSQLをパラメーター化したクエリーに変換するので、Javascript内でこれを実行する必要があります。これは、SQLインジェクションを防止するためです。Javascriptの外でこれを実行した場合(例: select * from users where first_name ILIKE %{{textinput1.value}}%)、(select * from users were first_name ILIKE %$1%)に変換され、有効なSQLではなくなります。

TextInputに別の名前を入力すると、クエリーが自動的にリフレッシュされ、これによってTableもリフレッシュされます。あいまい検索がわずか2~3分でできました。

3. ユーザーの承認

ユーザーを承認するには、別の2つのボタンをドラッグします。1つは承認用で、もう1つは否認用です。ボタンにラベルを付け、否認ボタンを赤色にしましょう。アプリは次のようになります。

2046

承認ボタンと否認ボタン

クエリー(承認用と否認用)を実行するようにボタンを接続します。承認用Buttonをクリックしましょう。右側にActionカテゴリーが表示されていますね。「run a query」が表示されているのを確認してから、新規クエリーを作成しましょう。

640

承認用Buttonのアクションを変更します

PUTリクエストに入力し、承認クエリーなので、activetrueに設定しましょう。

2684

PUTクエリーを作成します

ユーザーの承認後、元のusersクエリーをリフレッシュする必要もあります。これで、アクティブのブール値によるTableの変更を確認できます。これを行うには、On success, trigger these queriesセクションまでスクロールし、(クエリーの名前に関係なく)query1をリフレッシュすることを選択します。

1324

成功時にリフレッシュするクエリーを選択します

クエリーを保存し、「Reject」ボタンについても同じように繰り返しましょう。

ここで、2つのクエリーが必要になります。このクエリーを複製して、activefalseに変更しましょう。次に、ボタンに戻り、クリック時にこの新規クエリーを実行するように指示します。

3320

否認ボタンを否認クエリーに接続します

これで終了です。ユーザーに対して承認ボタンまたは否認ボタンを実行することができるようになりました。これにより、ユーザーはactiveまたはinactiveになります。

4. 実際の使用

このツールの本番での稼働の準備が完了しました。同僚が(面倒な手間をかけることなく)使用できるように、同僚にこのツールのリンクを送信します。同僚に特定の権限を付与している場合、同僚はツールの編集やクエリーの変更を行うことはできません。実行できるのは、作成したツールを使用することだけです。

数分間で、APIコールによってデータベースからユーザーを表示し、ユーザーを検索し、各ユーザーを承認または否認するためのツールを作成しました。


内部ツールを作成しますか?
アカウントの作成