From e4a337df43f6e1fc8891d9e9c69f0e2daea584cf Mon Sep 17 00:00:00 2001 From: "OHASHI, Norikazu" Date: Sat, 10 Apr 2021 23:09:47 +0900 Subject: [PATCH] =?utf8?q?markdown=20=E6=96=87=E6=B3=95=E3=81=AE=E5=86=8D?= =?utf8?q?=E6=95=B4=E7=90=86=20+=20=E3=83=A6=E3=83=BC=E3=82=B6=E3=83=BC?= =?utf8?q?=E5=89=8A=E9=99=A4=E3=81=AE=E3=82=BB=E3=83=83=E3=82=B7=E3=83=A7?= =?utf8?q?=E3=83=B3=E5=88=87=E3=82=8C=E3=82=A8=E3=83=A9=E3=83=BC=E5=AF=BE?= =?utf8?q?=E5=BF=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- readme.md | 28 +++++++++++++++------------- sinatra/app/controllers/web_gui.rb | 3 +++ 2 files changed, 18 insertions(+), 13 deletions(-) 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 -- 2.19.2