AWS Amplifyで匿名掲示板を作ってみた
AWS Amplifyで匿名掲示板を作ってみた
以下のURL
https://master.d1cb8uqtyd2rew.amplifyapp.com
いろんな機能がまったくない。そのうち追加するかも
開発録
APIの型は以下のようになっておりまーす
type Thread @model {
  id: ID!
  title: String!
  tags: [String]
  Comments: [Comment] @connection(keyName: "byThreadId", fields: ["id"])
  createdAt: AWSDateTime
  updatedAt: AWSDateTime
}
type Comment
  @model
  @key(name: "byThreadId", fields: ["threadId", "createdAt"]) {
  id: ID!
  threadId: ID!
  content: String!
  createdAt: AWSDateTime
  updatedAt: AWSDateTime
  good: Int
}@connection と subscription を使ってみた。
githubはこちら
https://github.com/opvelll/nanasiAmplify
connectionとkeyで繋がった型の同時mutation
しかし、Amplify APIで親子の型を定義できるけど、同時に更新ってどうするんだろ。スレッド作りながら最初のコメント書くみたいなところね。わからんかったわ。
わからないからとりあえず、親型を作ったあとcreateFinishedみたいな関数の中で、子の型を作ることにした。動いとる。
ページのアドレス
最初のページはスレッドのリストを表示して、クリックするとスレッドごとのページに移動するようにした。
アドレスはconnectionとkeyでよく設定されるID型をそのまま使った。最初文字列を使ったけど、文字列型だとダブる可能性があるじゃん、だからプライマリーキーとかにして、ダブらないように設定したいじゃん、でもちゃんと調べたわけじゃないけど、文字列をプライマリーキーにして、かつ、String型をconnectionとkeyにするみたいなのは、できなさそうなんだよね。なんかドキュメントでできそうな匂いだしてるけどさぁ。
結局、connectionとkeyで渡す型はID型一辺倒になったわ。そしてアドレスもIDになってる。vue routerでアドレスのIDを読み取って検索するわけやね。そういうアドレスに割り切ったほうがすぐ作れる。
いつもの
前にも書いたけど、ルートになる型には変にkey付けれない。





ディスカッション
コメント一覧
まだ、コメントがありません