Closed yukihito-jokyu closed 1 week ago
frontendがどういうAPIを必要としているか記載して欲しい。
引数と返り値があれば分かりやすくてうれしいです。
フィールド名 | 引数 | 戻り値 |
---|---|---|
ユーザーを保存するAPI | UserId, MailAddress, Password | StatusMessage |
Passwordを変更するAPI | UserId, NewPassword | StatusMessage |
Passwordを確認するAPI | UserId, Password | StatusMessage |
メールアドレスを変更するAPI | UserId, NewMailAddress | StatusMessage |
ユーザーを認証するAPI | MailAddress, Password | UserId |
ユーザーを削除するAPI | UserId | StatusMessage |
GeminiApiKeyを保存するAPI | UserId, GeminiApiKey | StatusMessage |
GeminiApiKeyを取得するAPI | UserId | GeminiApiKey |
GeminiApiKeyを変更するAPI | UserId, NewGeminiApiKey | StatusMessage |
ユーザーのCSVファイルを一覧で取得するAPI | UserId | CSVファイルの一覧 |
CSVファイルを削除するAPI | UserId, CsvId | StatusMessage |
最終更新日を更新するAPI | UserId, CsvId, LastAccessedDate | StatusMessage |
CSVファイルをアップロードするAPI | UserId, CsvFile | StatusMessage |
※ StatusMessage: "Success" or "Failed"
仮で設計してみたから過不足あるときは適宜変更お願いします。
違和感のあるAPIがあったら教えてほしいです。
「CSVファイルをアップロードするAPI」のみcsvの情報(ファイル名やカラム数など)をデータベースに保存するためbackend経由になります。
フィールド名 | 引数 | 戻り値 |
---|---|---|
csvファイル,jsonファイルをアップロードするAPI | CsvFile, JsonFile | StatusMessage |
csvファイル,jsonファイルを取得するAPI | CsvId | CsvFile, JsonFile |
@yukihito-jokyu
ログイン関連だけ安全性とUUID発行のためにFirebaseのAuthenticationで管理しようと考えてるんだけどどう思う? その場合、UserテーブルのMeilAdressとPasswordフィールドが不要になって、以下が必要なくなる。(パスワード・メールアドレスはAuthenticationで管理)
API機能 | 引数 | 戻り値 |
---|---|---|
ユーザーを保存するAPI | UserId, MailAddress, Password | StatusMessage |
Passwordを変更するAPI | UserId, NewPassword | StatusMessage |
Passwordを確認するAPI | UserId, Password | StatusMessage |
メールアドレスを変更するAPI | UserId, NewMailAddress | StatusMessage |
ユーザーを認証するAPI | MailAddress, Password | UserId |
ユーザーを削除するAPI | UserId | StatusMessage |
API機能 | 引数 | 戻り値 |
---|---|---|
ユーザーを保存するAPI | UserId | StatusMessage |
もしじゃない方が良いor戻れないとかだったら、元のままで、フロントエンドでUUID発行しようかなと思う。
ハッシュ化を実装したら安全性を担保できると思う。 実際に実装してみたかったので、FirebaseのAuthenticationではなく、データベースで管理したい。
なるほど、ありがと、了解🫡
質問! 「Passwordを確認するAPI」はどのような場面で使われる? 「メールアドレスを変更するAPI」について、この処理は妥当か?
回答! ・「Passwordを確認するAPI」は、GeminiApiKeyのを確認する時に入力してもらう。(デフォルトの表示は「・・・」) ・「この処理は妥当か?」が抽象的すぎるかも。詳しい疑問をお聞きしたい。
ちなみになんだけど、ログイン処理はどう考えてる?毎回、メアドとパスワード入力?
Passwordを確認するAPI->OK
「メールアドレスを変更するAPI」->既存のシステムやサービスに無いような機能だと思いました。僕のイメージとして一つのアカウントに一つのメールアドレスが基本だと思っていました。しかし、調べてみたらメールアドレスの変更があるようなので、実装しておきます。申し訳ません。
「GeminiApiKeyを変更するAPI」について「GeminiApiKeyを保存するAPI」と処理が同じなので実装しない方向になります。
create database simplyzでデータベースができてないっぽい。。。原因わかる??
iriku@OK220164:~/myproject/SimpLyz/dev/database/sql$ psql "postgresql://admin@localhost/postgres" psql (14.13 (Homebrew)) Type "help" for help.
postgres=# create database simplyz postgres-# \q iriku@OK220164:~/myproject/SimpLyz/dev/database/sql$ psql -l List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges |
---|---|---|---|---|---|
postgres | iriku | UTF8 | C | C | |
template0 | iriku | UTF8 | C | C | =c/iriku + |
iriku=CTc/iriku | |||||
template1 | iriku | UTF8 | C | C | =c/iriku + |
iriku=CTc/iriku |
(3 rows)
iriku@OK220164:~/myproject/SimpLyz/dev/database/sql$
create database simplyzでデータベースができてないっぽい。。。原因わかる??
iriku@OK220164:~/myproject/SimpLyz/dev/database/sql$ psql "postgresql://admin@localhost/postgres" psql (14.13 (Homebrew)) Type "help" for help.
postgres=# create database simplyz postgres-# \q iriku@OK220164:~/myproject/SimpLyz/dev/database/sql$ psql -l List of databases
Name Owner Encoding Collate Ctype Access privileges postgres iriku UTF8 C C
template0 iriku UTF8 C C =c/iriku + iriku=CTc/iriku template1 iriku UTF8 C C =c/iriku + iriku=CTc/iriku (3 rows)iriku@OK220164:~/myproject/SimpLyz/dev/database/sql$
create database simplyzではなくCREATE DATABASE simplyz;で作成された!
Goの導入について、.zshrc ファイルってどこにある想定?
~ディレクトリにある想定 確認するコマンド
cd ~
ls -a
これで.zshrcがあるかどうか確認して欲しい。
もしなかったら、ls
コマンド後の結果をスクリーンショット撮って直接送ってほしい
なさそう。。。
zsh入ってない?
なさそう。。。
これの表示ではなく??
「GeminiApiKeyを取得するAPI」について
frontend側でGeminiのAPIを表示させるために必要と言っていたが、本当に表示させる必要性があるのか?
データベース設計
Userテーブル
Csvテーブル