From: OHASHI, Norikazu Date: Sat, 10 Apr 2021 14:09:47 +0000 (+0900) Subject: markdown 文法の再整理 + ユーザー削除のセッション切れエラー対応 X-Git-Url: http://www.wald-der-katze.sakura.ne.jp/git/gitweb.cgi?a=commitdiff_plain;h=e4a337df43f6e1fc8891d9e9c69f0e2daea584cf;p=book_server.git markdown 文法の再整理 + ユーザー削除のセッション切れエラー対応 --- diff --git a/readme.md b/readme.md index 68e7da4..9aa919f 100644 --- a/readme.md +++ b/readme.md @@ -1,9 +1,10 @@ # 蔵書管理サーバ(book_server) ## 実装機能 - * ユーザ登録 - * ISDNによる書籍検索 - + +* ユーザ登録 +* ISDNによる書籍検索 + ## ファイル構成 ``` text @@ -42,8 +43,6 @@ error.haml # error message view ``` -
- ## テーブル設計 ### ユーザ管理テーブル (users) @@ -66,7 +65,7 @@ | --: | --- | --- | --- | --- | | 1 | isbn | VARCHAR(14) | NOT NULL, PRIMARY KEY | ISBNコード | | 2 | title | VARCHAR(255) | NOT NULL | 書名 | -| 3 | volume | INTEGER | | 巻数 | +| 3 | volume | INTEGER | | 巻数 | | 4 | series | VARCHAR(255) | | シリーズ名 | | 5 | author | VARCHAR(127) | | 著者名 | | 6 | orignal_author | VARCHAR(127) | | 原著者 | @@ -80,6 +79,7 @@ | 13 | update_at | DATETIME | NOT NULL | 更新日時 | ### 蔵書管理テーブル (book\_collections) + | 項番 | カラム名 | 型 | 属性 | 概要 | | --: | --- | --- | --- | --- | | 1 | isbn | VARCHAR(14) | NOT NULL | ISBNコード | @@ -88,9 +88,11 @@ | 4 | rank | INTEGER | | 評価 | | 5 | creat_at | DATETIME | NOT NULL | 登録日時 | | 6 | update_at | DATETIME | NOT NULL | 更新日時 | + 注: isdn + user_id で複合キーとする。 ### 書影管理テーブル (book\_covers) + | 項番 | カラム名 | 型 | 属性 | 概要 | | --: | --- | --- | --- | --- | | 1 | key_hash | VARCHAR(60) | NOT NULL, PRIMARY KEY | SHA125 HASH (アクセスキー) | @@ -103,6 +105,7 @@ 注: 画像をロードした場合の管理用 ### NewsReleaseテーブル (news\_Relases) + | 項番 | カラム名 | 型 | 属性 | 概要 | | --: | --- | --- | --- | --- | | 1 | id | INTAGER | NOT NULL, AUTO_INCREMENT, PRIMARY KEY | ReleaseId | @@ -111,16 +114,15 @@ | 4 | update_at | DATETIME | NOT NULL | 更新日時 | ## 使用RestAPI + ### openBD #### 参照URI + [openBD](https://openbd.jp) #### API仕様 -* 書誌情報の取得: - `/get?isbn=ISBN,ISBN` -* 収録範囲の取得: - `/coverage` -* JSONスキーマの取得: - `/schema` - + +* 書誌情報の取得: `/get?isbn=ISBN,ISBN` +* 収録範囲の取得: `/coverage` +* JSONスキーマの取得: `/schema` diff --git a/sinatra/app/controllers/web_gui.rb b/sinatra/app/controllers/web_gui.rb index 477706e..2417c95 100644 --- a/sinatra/app/controllers/web_gui.rb +++ b/sinatra/app/controllers/web_gui.rb @@ -319,6 +319,9 @@ class WebGui < Sinatra::Base cache_control :public, :must_revalidate, :max_age => 30 id = session[:userId] delete_id = params[:deleteId] + if (id == nil) + raise WebError.new(status: 408, message: "セッション期限切れです。再ログインをしてください。") + end if (not UserAccount.checkAdmin(id)) raise WebError.new(status: 405, message: "管理者アカウントでないと操作できません。") end