Add ReviewRequest and ReviewMessage
This commit is contained in:
32
app/models/review_message.rb
Normal file
32
app/models/review_message.rb
Normal file
@@ -0,0 +1,32 @@
|
||||
# == Schema Information
|
||||
#
|
||||
# Table name: review_messages
|
||||
#
|
||||
# id :bigint not null, primary key
|
||||
# content :string
|
||||
# feedback_type :string
|
||||
# created_at :datetime not null
|
||||
# updated_at :datetime not null
|
||||
# question_id :bigint not null
|
||||
# user_id :bigint not null
|
||||
#
|
||||
# Indexes
|
||||
#
|
||||
# index_review_messages_on_question_id (question_id)
|
||||
# index_review_messages_on_user_id (user_id)
|
||||
#
|
||||
# Foreign Keys
|
||||
#
|
||||
# fk_rails_... (question_id => questions.id)
|
||||
# fk_rails_... (user_id => users.id)
|
||||
#
|
||||
class ReviewMessage < ApplicationRecord
|
||||
extend Enumerize
|
||||
|
||||
belongs_to :question
|
||||
belongs_to :user
|
||||
|
||||
enumerize :feedback_type, in: %i[request_changes approve answer]
|
||||
|
||||
validates :content, presence: true
|
||||
end
|
||||
25
app/models/review_request.rb
Normal file
25
app/models/review_request.rb
Normal file
@@ -0,0 +1,25 @@
|
||||
# == Schema Information
|
||||
#
|
||||
# Table name: review_requests
|
||||
#
|
||||
# id :bigint not null, primary key
|
||||
# answered :string
|
||||
# created_at :datetime not null
|
||||
# updated_at :datetime not null
|
||||
# question_id :bigint not null
|
||||
# user_id :bigint not null
|
||||
#
|
||||
# Indexes
|
||||
#
|
||||
# index_review_requests_on_question_id (question_id)
|
||||
# index_review_requests_on_user_id (user_id)
|
||||
#
|
||||
# Foreign Keys
|
||||
#
|
||||
# fk_rails_... (question_id => questions.id)
|
||||
# fk_rails_... (user_id => users.id)
|
||||
#
|
||||
class ReviewRequest < ApplicationRecord
|
||||
belongs_to :question
|
||||
belongs_to :user
|
||||
end
|
||||
11
db/migrate/20220721132854_create_review_requests.rb
Normal file
11
db/migrate/20220721132854_create_review_requests.rb
Normal file
@@ -0,0 +1,11 @@
|
||||
class CreateReviewRequests < ActiveRecord::Migration[7.0]
|
||||
def change
|
||||
create_table :review_requests do |t|
|
||||
t.string :answered
|
||||
t.references :question, null: false, foreign_key: true
|
||||
t.references :user, null: false, foreign_key: true
|
||||
|
||||
t.timestamps
|
||||
end
|
||||
end
|
||||
end
|
||||
12
db/migrate/20220721132939_create_review_messages.rb
Normal file
12
db/migrate/20220721132939_create_review_messages.rb
Normal file
@@ -0,0 +1,12 @@
|
||||
class CreateReviewMessages < ActiveRecord::Migration[7.0]
|
||||
def change
|
||||
create_table :review_messages do |t|
|
||||
t.string :feedback_type
|
||||
t.string :content
|
||||
t.references :question, null: false, foreign_key: true
|
||||
t.references :user, null: false, foreign_key: true
|
||||
|
||||
t.timestamps
|
||||
end
|
||||
end
|
||||
end
|
||||
27
db/schema.rb
generated
27
db/schema.rb
generated
@@ -10,7 +10,7 @@
|
||||
#
|
||||
# It's strongly recommended that you check this file into your version control system.
|
||||
|
||||
ActiveRecord::Schema[7.0].define(version: 2022_07_21_132556) do
|
||||
ActiveRecord::Schema[7.0].define(version: 2022_07_21_132939) do
|
||||
# These are extensions that must be enabled in order to support this database
|
||||
enable_extension "plpgsql"
|
||||
|
||||
@@ -97,6 +97,27 @@ ActiveRecord::Schema[7.0].define(version: 2022_07_21_132556) do
|
||||
t.index ["user_id"], name: "index_questions_on_user_id"
|
||||
end
|
||||
|
||||
create_table "review_messages", force: :cascade do |t|
|
||||
t.string "feedback_type"
|
||||
t.string "content"
|
||||
t.bigint "question_id", null: false
|
||||
t.bigint "user_id", null: false
|
||||
t.datetime "created_at", null: false
|
||||
t.datetime "updated_at", null: false
|
||||
t.index ["question_id"], name: "index_review_messages_on_question_id"
|
||||
t.index ["user_id"], name: "index_review_messages_on_user_id"
|
||||
end
|
||||
|
||||
create_table "review_requests", force: :cascade do |t|
|
||||
t.string "answered"
|
||||
t.bigint "question_id", null: false
|
||||
t.bigint "user_id", null: false
|
||||
t.datetime "created_at", null: false
|
||||
t.datetime "updated_at", null: false
|
||||
t.index ["question_id"], name: "index_review_requests_on_question_id"
|
||||
t.index ["user_id"], name: "index_review_requests_on_user_id"
|
||||
end
|
||||
|
||||
create_table "subjects", force: :cascade do |t|
|
||||
t.string "name"
|
||||
t.bigint "category_id", null: false
|
||||
@@ -125,6 +146,10 @@ ActiveRecord::Schema[7.0].define(version: 2022_07_21_132556) do
|
||||
add_foreign_key "active_storage_variant_records", "active_storage_blobs", column: "blob_id"
|
||||
add_foreign_key "questions", "subjects"
|
||||
add_foreign_key "questions", "users"
|
||||
add_foreign_key "review_messages", "questions"
|
||||
add_foreign_key "review_messages", "users"
|
||||
add_foreign_key "review_requests", "questions"
|
||||
add_foreign_key "review_requests", "users"
|
||||
add_foreign_key "subjects", "axes"
|
||||
add_foreign_key "subjects", "categories"
|
||||
end
|
||||
|
||||
305
erd.svg
305
erd.svg
@@ -4,206 +4,251 @@
|
||||
<!-- Generated by graphviz version 4.0.0 (0)
|
||||
-->
|
||||
<!-- Title: ProgressTest Pages: 1 -->
|
||||
<svg width="965pt" height="598pt"
|
||||
viewBox="0.00 0.00 965.10 597.60" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(28.8 568.8)">
|
||||
<svg width="1052pt" height="691pt"
|
||||
viewBox="0.00 0.00 1051.60 690.60" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(28.8 661.8)">
|
||||
<title>ProgressTest</title>
|
||||
<polygon fill="white" stroke="transparent" points="-28.8,28.8 -28.8,-568.8 936.3,-568.8 936.3,28.8 -28.8,28.8"/>
|
||||
<text text-anchor="middle" x="453.75" y="-525.6" font-family="Arial Bold" font-size="13.00">Progress Test - Models</text>
|
||||
<polygon fill="white" stroke="transparent" points="-28.8,28.8 -28.8,-661.8 1022.8,-661.8 1022.8,28.8 -28.8,28.8"/>
|
||||
<text text-anchor="middle" x="497" y="-618.6" font-family="Arial Bold" font-size="13.00">Progress Test - Models</text>
|
||||
<!-- m_ActiveAdmin::Comment -->
|
||||
<g id="node1" class="node">
|
||||
<title>m_ActiveAdmin::Comment</title>
|
||||
<path fill="none" stroke="black" d="M12,-394.5C12,-394.5 132,-394.5 132,-394.5 138,-394.5 144,-400.5 144,-406.5 144,-406.5 144,-490.5 144,-490.5 144,-496.5 138,-502.5 132,-502.5 132,-502.5 12,-502.5 12,-502.5 6,-502.5 0,-496.5 0,-490.5 0,-490.5 0,-406.5 0,-406.5 0,-400.5 6,-394.5 12,-394.5"/>
|
||||
<text text-anchor="start" x="6.5" y="-489.7" font-family="Arial Bold" font-size="11.00">ActiveAdmin::Comment</text>
|
||||
<polyline fill="none" stroke="black" points="0,-482.5 144,-482.5 "/>
|
||||
<text text-anchor="start" x="7" y="-469.5" font-family="Arial" font-size="10.00">author_id </text>
|
||||
<text text-anchor="start" x="50" y="-469.5" font-family="Arial Italic" font-size="10.00" fill="#999999">integer (8)</text>
|
||||
<text text-anchor="start" x="7" y="-456.5" font-family="Arial" font-size="10.00">author_type </text>
|
||||
<text text-anchor="start" x="62" y="-456.5" font-family="Arial Italic" font-size="10.00" fill="#999999">string</text>
|
||||
<text text-anchor="start" x="7" y="-443.5" font-family="Arial" font-size="10.00">body </text>
|
||||
<text text-anchor="start" x="32" y="-443.5" font-family="Arial Italic" font-size="10.00" fill="#999999">text ∗</text>
|
||||
<text text-anchor="start" x="7" y="-430.5" font-family="Arial" font-size="10.00">namespace </text>
|
||||
<text text-anchor="start" x="61" y="-430.5" font-family="Arial Italic" font-size="10.00" fill="#999999">string ∗</text>
|
||||
<text text-anchor="start" x="7" y="-417.5" font-family="Arial" font-size="10.00">resource_id </text>
|
||||
<text text-anchor="start" x="61" y="-417.5" font-family="Arial Italic" font-size="10.00" fill="#999999">integer (8)</text>
|
||||
<text text-anchor="start" x="7" y="-404.5" font-family="Arial" font-size="10.00">resource_type </text>
|
||||
<text text-anchor="start" x="72" y="-404.5" font-family="Arial Italic" font-size="10.00" fill="#999999">string</text>
|
||||
<path fill="none" stroke="black" d="M12,-487.5C12,-487.5 132,-487.5 132,-487.5 138,-487.5 144,-493.5 144,-499.5 144,-499.5 144,-583.5 144,-583.5 144,-589.5 138,-595.5 132,-595.5 132,-595.5 12,-595.5 12,-595.5 6,-595.5 0,-589.5 0,-583.5 0,-583.5 0,-499.5 0,-499.5 0,-493.5 6,-487.5 12,-487.5"/>
|
||||
<text text-anchor="start" x="6.5" y="-582.7" font-family="Arial Bold" font-size="11.00">ActiveAdmin::Comment</text>
|
||||
<polyline fill="none" stroke="black" points="0,-575.5 144,-575.5 "/>
|
||||
<text text-anchor="start" x="7" y="-562.5" font-family="Arial" font-size="10.00">author_id </text>
|
||||
<text text-anchor="start" x="50" y="-562.5" font-family="Arial Italic" font-size="10.00" fill="#999999">integer (8)</text>
|
||||
<text text-anchor="start" x="7" y="-549.5" font-family="Arial" font-size="10.00">author_type </text>
|
||||
<text text-anchor="start" x="62" y="-549.5" font-family="Arial Italic" font-size="10.00" fill="#999999">string</text>
|
||||
<text text-anchor="start" x="7" y="-536.5" font-family="Arial" font-size="10.00">body </text>
|
||||
<text text-anchor="start" x="32" y="-536.5" font-family="Arial Italic" font-size="10.00" fill="#999999">text ∗</text>
|
||||
<text text-anchor="start" x="7" y="-523.5" font-family="Arial" font-size="10.00">namespace </text>
|
||||
<text text-anchor="start" x="61" y="-523.5" font-family="Arial Italic" font-size="10.00" fill="#999999">string ∗</text>
|
||||
<text text-anchor="start" x="7" y="-510.5" font-family="Arial" font-size="10.00">resource_id </text>
|
||||
<text text-anchor="start" x="61" y="-510.5" font-family="Arial Italic" font-size="10.00" fill="#999999">integer (8)</text>
|
||||
<text text-anchor="start" x="7" y="-497.5" font-family="Arial" font-size="10.00">resource_type </text>
|
||||
<text text-anchor="start" x="72" y="-497.5" font-family="Arial Italic" font-size="10.00" fill="#999999">string</text>
|
||||
</g>
|
||||
<!-- m_ActiveStorage::Attachment -->
|
||||
<g id="node2" class="node">
|
||||
<title>m_ActiveStorage::Attachment</title>
|
||||
<path fill="none" stroke="black" d="M192.5,-72C192.5,-72 321.5,-72 321.5,-72 327.5,-72 333.5,-78 333.5,-84 333.5,-84 333.5,-116 333.5,-116 333.5,-122 327.5,-128 321.5,-128 321.5,-128 192.5,-128 192.5,-128 186.5,-128 180.5,-122 180.5,-116 180.5,-116 180.5,-84 180.5,-84 180.5,-78 186.5,-72 192.5,-72"/>
|
||||
<text text-anchor="start" x="186" y="-115.2" font-family="Arial Bold" font-size="11.00">ActiveStorage::Attachment</text>
|
||||
<polyline fill="none" stroke="black" points="180.5,-108 333.5,-108 "/>
|
||||
<text text-anchor="start" x="192" y="-95" font-family="Arial" font-size="10.00">name </text>
|
||||
<text text-anchor="start" x="220" y="-95" font-family="Arial Italic" font-size="10.00" fill="#999999">string ∗</text>
|
||||
<text text-anchor="start" x="192" y="-82" font-family="Arial" font-size="10.00">record_type </text>
|
||||
<text text-anchor="start" x="247" y="-82" font-family="Arial Italic" font-size="10.00" fill="#999999">string ∗</text>
|
||||
<path fill="none" stroke="black" d="M192.5,-165C192.5,-165 321.5,-165 321.5,-165 327.5,-165 333.5,-171 333.5,-177 333.5,-177 333.5,-209 333.5,-209 333.5,-215 327.5,-221 321.5,-221 321.5,-221 192.5,-221 192.5,-221 186.5,-221 180.5,-215 180.5,-209 180.5,-209 180.5,-177 180.5,-177 180.5,-171 186.5,-165 192.5,-165"/>
|
||||
<text text-anchor="start" x="186" y="-208.2" font-family="Arial Bold" font-size="11.00">ActiveStorage::Attachment</text>
|
||||
<polyline fill="none" stroke="black" points="180.5,-201 333.5,-201 "/>
|
||||
<text text-anchor="start" x="192" y="-188" font-family="Arial" font-size="10.00">name </text>
|
||||
<text text-anchor="start" x="220" y="-188" font-family="Arial Italic" font-size="10.00" fill="#999999">string ∗</text>
|
||||
<text text-anchor="start" x="192" y="-175" font-family="Arial" font-size="10.00">record_type </text>
|
||||
<text text-anchor="start" x="247" y="-175" font-family="Arial Italic" font-size="10.00" fill="#999999">string ∗</text>
|
||||
</g>
|
||||
<!-- m_ActiveStorage::Blob -->
|
||||
<g id="node3" class="node">
|
||||
<title>m_ActiveStorage::Blob</title>
|
||||
<path fill="none" stroke="black" d="M197,-236.5C197,-236.5 317,-236.5 317,-236.5 323,-236.5 329,-242.5 329,-248.5 329,-248.5 329,-345.5 329,-345.5 329,-351.5 323,-357.5 317,-357.5 317,-357.5 197,-357.5 197,-357.5 191,-357.5 185,-351.5 185,-345.5 185,-345.5 185,-248.5 185,-248.5 185,-242.5 191,-236.5 197,-236.5"/>
|
||||
<text text-anchor="start" x="201.5" y="-344.7" font-family="Arial Bold" font-size="11.00">ActiveStorage::Blob</text>
|
||||
<polyline fill="none" stroke="black" points="185,-337.5 329,-337.5 "/>
|
||||
<text text-anchor="start" x="192" y="-324" font-family="Arial" font-size="10.00">byte_size </text>
|
||||
<text text-anchor="start" x="238" y="-324" font-family="Arial Italic" font-size="10.00" fill="#999999">integer (8) ∗</text>
|
||||
<text text-anchor="start" x="192" y="-311" font-family="Arial" font-size="10.00">checksum </text>
|
||||
<text text-anchor="start" x="241" y="-311" font-family="Arial Italic" font-size="10.00" fill="#999999">string ∗</text>
|
||||
<text text-anchor="start" x="192" y="-298" font-family="Arial" font-size="10.00">content_type </text>
|
||||
<text text-anchor="start" x="252" y="-298" font-family="Arial Italic" font-size="10.00" fill="#999999">string</text>
|
||||
<text text-anchor="start" x="192" y="-285" font-family="Arial" font-size="10.00">filename </text>
|
||||
<text text-anchor="start" x="232" y="-285" font-family="Arial Italic" font-size="10.00" fill="#999999">string ∗</text>
|
||||
<text text-anchor="start" x="192" y="-272" font-family="Arial" font-size="10.00">key </text>
|
||||
<text text-anchor="start" x="211" y="-272" font-family="Arial Italic" font-size="10.00" fill="#999999">string ∗</text>
|
||||
<text text-anchor="start" x="192" y="-259" font-family="Arial" font-size="10.00">metadata </text>
|
||||
<text text-anchor="start" x="236" y="-259" font-family="Arial Italic" font-size="10.00" fill="#999999">text</text>
|
||||
<text text-anchor="start" x="192" y="-246" font-family="Arial" font-size="10.00">service_name </text>
|
||||
<text text-anchor="start" x="256" y="-246" font-family="Arial Italic" font-size="10.00" fill="#999999">string ∗</text>
|
||||
<path fill="none" stroke="black" d="M197,-329.5C197,-329.5 317,-329.5 317,-329.5 323,-329.5 329,-335.5 329,-341.5 329,-341.5 329,-438.5 329,-438.5 329,-444.5 323,-450.5 317,-450.5 317,-450.5 197,-450.5 197,-450.5 191,-450.5 185,-444.5 185,-438.5 185,-438.5 185,-341.5 185,-341.5 185,-335.5 191,-329.5 197,-329.5"/>
|
||||
<text text-anchor="start" x="201.5" y="-437.7" font-family="Arial Bold" font-size="11.00">ActiveStorage::Blob</text>
|
||||
<polyline fill="none" stroke="black" points="185,-430.5 329,-430.5 "/>
|
||||
<text text-anchor="start" x="192" y="-417" font-family="Arial" font-size="10.00">byte_size </text>
|
||||
<text text-anchor="start" x="238" y="-417" font-family="Arial Italic" font-size="10.00" fill="#999999">integer (8) ∗</text>
|
||||
<text text-anchor="start" x="192" y="-404" font-family="Arial" font-size="10.00">checksum </text>
|
||||
<text text-anchor="start" x="241" y="-404" font-family="Arial Italic" font-size="10.00" fill="#999999">string ∗</text>
|
||||
<text text-anchor="start" x="192" y="-391" font-family="Arial" font-size="10.00">content_type </text>
|
||||
<text text-anchor="start" x="252" y="-391" font-family="Arial Italic" font-size="10.00" fill="#999999">string</text>
|
||||
<text text-anchor="start" x="192" y="-378" font-family="Arial" font-size="10.00">filename </text>
|
||||
<text text-anchor="start" x="232" y="-378" font-family="Arial Italic" font-size="10.00" fill="#999999">string ∗</text>
|
||||
<text text-anchor="start" x="192" y="-365" font-family="Arial" font-size="10.00">key </text>
|
||||
<text text-anchor="start" x="211" y="-365" font-family="Arial Italic" font-size="10.00" fill="#999999">string ∗</text>
|
||||
<text text-anchor="start" x="192" y="-352" font-family="Arial" font-size="10.00">metadata </text>
|
||||
<text text-anchor="start" x="236" y="-352" font-family="Arial Italic" font-size="10.00" fill="#999999">text</text>
|
||||
<text text-anchor="start" x="192" y="-339" font-family="Arial" font-size="10.00">service_name </text>
|
||||
<text text-anchor="start" x="256" y="-339" font-family="Arial Italic" font-size="10.00" fill="#999999">string ∗</text>
|
||||
</g>
|
||||
<!-- m_ActiveStorage::Blob->m_ActiveStorage::Attachment -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>m_ActiveStorage::Blob->m_ActiveStorage::Attachment</title>
|
||||
<path fill="none" stroke="black" d="M257,-236.43C257,-200.37 257,-156.1 257,-128.21"/>
|
||||
<path fill="none" stroke="black" d="M257,-329.43C257,-293.37 257,-249.1 257,-221.21"/>
|
||||
</g>
|
||||
<!-- m_ActiveStorage::Blob->m_ActiveStorage::Blob -->
|
||||
<g id="edge5" class="edge">
|
||||
<title>m_ActiveStorage::Blob->m_ActiveStorage::Blob</title>
|
||||
<path fill="none" stroke="black" stroke-dasharray="1,5" d="M329.18,-324.51C345.79,-322.14 358,-312.97 358,-297 358,-281.03 345.79,-271.86 329.18,-269.49"/>
|
||||
<path fill="none" stroke="black" stroke-dasharray="1,5" d="M329.18,-417.51C345.79,-415.14 358,-405.97 358,-390 358,-374.03 345.79,-364.86 329.18,-362.49"/>
|
||||
</g>
|
||||
<!-- m_ActiveStorage::VariantRecord -->
|
||||
<g id="node4" class="node">
|
||||
<title>m_ActiveStorage::VariantRecord</title>
|
||||
<path fill="none" stroke="black" d="M185.5,-427C185.5,-427 328.5,-427 328.5,-427 334.5,-427 340.5,-433 340.5,-439 340.5,-439 340.5,-458 340.5,-458 340.5,-464 334.5,-470 328.5,-470 328.5,-470 185.5,-470 185.5,-470 179.5,-470 173.5,-464 173.5,-458 173.5,-458 173.5,-439 173.5,-439 173.5,-433 179.5,-427 185.5,-427"/>
|
||||
<text text-anchor="start" x="179" y="-457.2" font-family="Arial Bold" font-size="11.00">ActiveStorage::VariantRecord</text>
|
||||
<polyline fill="none" stroke="black" points="173.5,-450 340.5,-450 "/>
|
||||
<text text-anchor="start" x="192" y="-436.5" font-family="Arial" font-size="10.00">variation_digest </text>
|
||||
<text text-anchor="start" x="264" y="-436.5" font-family="Arial Italic" font-size="10.00" fill="#999999">string ∗</text>
|
||||
<path fill="none" stroke="black" d="M185.5,-520C185.5,-520 328.5,-520 328.5,-520 334.5,-520 340.5,-526 340.5,-532 340.5,-532 340.5,-551 340.5,-551 340.5,-557 334.5,-563 328.5,-563 328.5,-563 185.5,-563 185.5,-563 179.5,-563 173.5,-557 173.5,-551 173.5,-551 173.5,-532 173.5,-532 173.5,-526 179.5,-520 185.5,-520"/>
|
||||
<text text-anchor="start" x="179" y="-550.2" font-family="Arial Bold" font-size="11.00">ActiveStorage::VariantRecord</text>
|
||||
<polyline fill="none" stroke="black" points="173.5,-543 340.5,-543 "/>
|
||||
<text text-anchor="start" x="192" y="-529.5" font-family="Arial" font-size="10.00">variation_digest </text>
|
||||
<text text-anchor="start" x="264" y="-529.5" font-family="Arial Italic" font-size="10.00" fill="#999999">string ∗</text>
|
||||
</g>
|
||||
<!-- m_ActiveStorage::VariantRecord->m_ActiveStorage::Attachment -->
|
||||
<g id="edge3" class="edge">
|
||||
<title>m_ActiveStorage::VariantRecord->m_ActiveStorage::Attachment</title>
|
||||
<path fill="none" stroke="black" d="M227.06,-426.68C206.72,-410.59 181.49,-386.31 170,-358 149.61,-307.76 154.69,-288.02 170,-236 182.2,-194.54 211.52,-153.8 232.76,-128.1"/>
|
||||
<path fill="none" stroke="black" d="M227.06,-519.68C206.72,-503.59 181.49,-479.31 170,-451 149.61,-400.76 154.69,-381.02 170,-329 182.2,-287.54 211.52,-246.8 232.76,-221.1"/>
|
||||
</g>
|
||||
<!-- m_ActiveStorage::VariantRecord->m_ActiveStorage::Blob -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>m_ActiveStorage::VariantRecord->m_ActiveStorage::Blob</title>
|
||||
<path fill="none" stroke="black" d="M257,-426.71C257,-411.06 257,-388.64 257,-366.89"/>
|
||||
<polygon fill="black" stroke="black" points="260.15,-366.63 257,-357.63 253.85,-366.63 260.15,-366.63"/>
|
||||
<path fill="none" stroke="black" d="M257,-519.71C257,-504.06 257,-481.64 257,-459.89"/>
|
||||
<polygon fill="black" stroke="black" points="260.15,-459.63 257,-450.63 253.85,-459.63 260.15,-459.63"/>
|
||||
</g>
|
||||
<!-- m_Axis -->
|
||||
<g id="node5" class="node">
|
||||
<title>m_Axis</title>
|
||||
<path fill="none" stroke="black" d="M474,-427C474,-427 594,-427 594,-427 600,-427 606,-433 606,-439 606,-439 606,-458 606,-458 606,-464 600,-470 594,-470 594,-470 474,-470 474,-470 468,-470 462,-464 462,-458 462,-458 462,-439 462,-439 462,-433 468,-427 474,-427"/>
|
||||
<text text-anchor="start" x="520" y="-457.2" font-family="Arial Bold" font-size="11.00">Axis</text>
|
||||
<polyline fill="none" stroke="black" points="462,-450 606,-450 "/>
|
||||
<text text-anchor="start" x="469" y="-436.5" font-family="Arial" font-size="10.00">name </text>
|
||||
<text text-anchor="start" x="497" y="-436.5" font-family="Arial Italic" font-size="10.00" fill="#999999">string ∗ U</text>
|
||||
<path fill="none" stroke="black" d="M689,-520C689,-520 809,-520 809,-520 815,-520 821,-526 821,-532 821,-532 821,-551 821,-551 821,-557 815,-563 809,-563 809,-563 689,-563 689,-563 683,-563 677,-557 677,-551 677,-551 677,-532 677,-532 677,-526 683,-520 689,-520"/>
|
||||
<text text-anchor="start" x="735" y="-550.2" font-family="Arial Bold" font-size="11.00">Axis</text>
|
||||
<polyline fill="none" stroke="black" points="677,-543 821,-543 "/>
|
||||
<text text-anchor="start" x="684" y="-529.5" font-family="Arial" font-size="10.00">name </text>
|
||||
<text text-anchor="start" x="712" y="-529.5" font-family="Arial Italic" font-size="10.00" fill="#999999">string ∗ U</text>
|
||||
</g>
|
||||
<!-- m_Subject -->
|
||||
<g id="node9" class="node">
|
||||
<g id="node11" class="node">
|
||||
<title>m_Subject</title>
|
||||
<path fill="none" stroke="black" d="M561,-275.5C561,-275.5 681,-275.5 681,-275.5 687,-275.5 693,-281.5 693,-287.5 693,-287.5 693,-306.5 693,-306.5 693,-312.5 687,-318.5 681,-318.5 681,-318.5 561,-318.5 561,-318.5 555,-318.5 549,-312.5 549,-306.5 549,-306.5 549,-287.5 549,-287.5 549,-281.5 555,-275.5 561,-275.5"/>
|
||||
<text text-anchor="start" x="599" y="-305.7" font-family="Arial Bold" font-size="11.00">Subject</text>
|
||||
<polyline fill="none" stroke="black" points="549,-298.5 693,-298.5 "/>
|
||||
<text text-anchor="start" x="556" y="-285" font-family="Arial" font-size="10.00">name </text>
|
||||
<text text-anchor="start" x="584" y="-285" font-family="Arial Italic" font-size="10.00" fill="#999999">string ∗ U</text>
|
||||
<path fill="none" stroke="black" d="M776,-368.5C776,-368.5 896,-368.5 896,-368.5 902,-368.5 908,-374.5 908,-380.5 908,-380.5 908,-399.5 908,-399.5 908,-405.5 902,-411.5 896,-411.5 896,-411.5 776,-411.5 776,-411.5 770,-411.5 764,-405.5 764,-399.5 764,-399.5 764,-380.5 764,-380.5 764,-374.5 770,-368.5 776,-368.5"/>
|
||||
<text text-anchor="start" x="814" y="-398.7" font-family="Arial Bold" font-size="11.00">Subject</text>
|
||||
<polyline fill="none" stroke="black" points="764,-391.5 908,-391.5 "/>
|
||||
<text text-anchor="start" x="771" y="-378" font-family="Arial" font-size="10.00">name </text>
|
||||
<text text-anchor="start" x="799" y="-378" font-family="Arial Italic" font-size="10.00" fill="#999999">string ∗ U</text>
|
||||
</g>
|
||||
<!-- m_Axis->m_Subject -->
|
||||
<g id="edge11" class="edge">
|
||||
<g id="edge15" class="edge">
|
||||
<title>m_Axis->m_Subject</title>
|
||||
<path fill="none" stroke="black" d="M546.1,-426.71C561.29,-400.6 587.43,-355.69 604.46,-326.42"/>
|
||||
<polygon fill="black" stroke="black" points="607.2,-327.97 609.01,-318.61 601.76,-324.81 607.2,-327.97"/>
|
||||
<path fill="none" stroke="black" d="M761.1,-519.71C776.29,-493.6 802.43,-448.69 819.46,-419.42"/>
|
||||
<polygon fill="black" stroke="black" points="822.2,-420.97 824.01,-411.61 816.76,-417.81 822.2,-420.97"/>
|
||||
</g>
|
||||
<!-- m_Category -->
|
||||
<g id="node6" class="node">
|
||||
<title>m_Category</title>
|
||||
<path fill="none" stroke="black" d="M647,-427C647,-427 767,-427 767,-427 773,-427 779,-433 779,-439 779,-439 779,-458 779,-458 779,-464 773,-470 767,-470 767,-470 647,-470 647,-470 641,-470 635,-464 635,-458 635,-458 635,-439 635,-439 635,-433 641,-427 647,-427"/>
|
||||
<text text-anchor="start" x="680.5" y="-457.2" font-family="Arial Bold" font-size="11.00">Category</text>
|
||||
<polyline fill="none" stroke="black" points="635,-450 779,-450 "/>
|
||||
<text text-anchor="start" x="642" y="-436.5" font-family="Arial" font-size="10.00">name </text>
|
||||
<text text-anchor="start" x="670" y="-436.5" font-family="Arial Italic" font-size="10.00" fill="#999999">string ∗ U</text>
|
||||
<path fill="none" stroke="black" d="M862,-520C862,-520 982,-520 982,-520 988,-520 994,-526 994,-532 994,-532 994,-551 994,-551 994,-557 988,-563 982,-563 982,-563 862,-563 862,-563 856,-563 850,-557 850,-551 850,-551 850,-532 850,-532 850,-526 856,-520 862,-520"/>
|
||||
<text text-anchor="start" x="895.5" y="-550.2" font-family="Arial Bold" font-size="11.00">Category</text>
|
||||
<polyline fill="none" stroke="black" points="850,-543 994,-543 "/>
|
||||
<text text-anchor="start" x="857" y="-529.5" font-family="Arial" font-size="10.00">name </text>
|
||||
<text text-anchor="start" x="885" y="-529.5" font-family="Arial Italic" font-size="10.00" fill="#999999">string ∗ U</text>
|
||||
</g>
|
||||
<!-- m_Category->m_Subject -->
|
||||
<g id="edge10" class="edge">
|
||||
<g id="edge14" class="edge">
|
||||
<title>m_Category->m_Subject</title>
|
||||
<path fill="none" stroke="black" d="M695.04,-426.71C680.02,-400.6 654.19,-355.69 637.35,-326.42"/>
|
||||
<polygon fill="black" stroke="black" points="640.07,-324.84 632.86,-318.61 634.61,-327.98 640.07,-324.84"/>
|
||||
<path fill="none" stroke="black" d="M910.04,-519.71C895.02,-493.6 869.19,-448.69 852.35,-419.42"/>
|
||||
<polygon fill="black" stroke="black" points="855.07,-417.84 847.86,-411.61 849.61,-420.98 855.07,-417.84"/>
|
||||
</g>
|
||||
<!-- m_CkEditorUpload -->
|
||||
<g id="node7" class="node">
|
||||
<title>m_CkEditorUpload</title>
|
||||
<path fill="none" stroke="black" d="M388,-279C388,-279 508,-279 508,-279 514,-279 520,-285 520,-291 520,-291 520,-303 520,-303 520,-309 514,-315 508,-315 508,-315 388,-315 388,-315 382,-315 376,-309 376,-303 376,-303 376,-291 376,-291 376,-285 382,-279 388,-279"/>
|
||||
<text text-anchor="start" x="403.5" y="-294.2" font-family="Arial Bold" font-size="11.00">CkEditorUpload</text>
|
||||
<path fill="none" stroke="black" d="M388,-372C388,-372 508,-372 508,-372 514,-372 520,-378 520,-384 520,-384 520,-396 520,-396 520,-402 514,-408 508,-408 508,-408 388,-408 388,-408 382,-408 376,-402 376,-396 376,-396 376,-384 376,-384 376,-378 382,-372 388,-372"/>
|
||||
<text text-anchor="start" x="403.5" y="-387.2" font-family="Arial Bold" font-size="11.00">CkEditorUpload</text>
|
||||
</g>
|
||||
<!-- m_CkEditorUpload->m_ActiveStorage::Attachment -->
|
||||
<g id="edge4" class="edge">
|
||||
<title>m_CkEditorUpload->m_ActiveStorage::Attachment</title>
|
||||
<path fill="none" stroke="black" d="M431.05,-278.7C397.73,-244.67 323.46,-168.85 283.56,-128.12"/>
|
||||
<path fill="none" stroke="black" d="M431.05,-371.7C397.73,-337.67 323.46,-261.85 283.56,-221.12"/>
|
||||
</g>
|
||||
<!-- m_Question -->
|
||||
<g id="node8" class="node">
|
||||
<title>m_Question</title>
|
||||
<path fill="none" stroke="black" d="M658,-0.5C658,-0.5 778,-0.5 778,-0.5 784,-0.5 790,-6.5 790,-12.5 790,-12.5 790,-187.5 790,-187.5 790,-193.5 784,-199.5 778,-199.5 778,-199.5 658,-199.5 658,-199.5 652,-199.5 646,-193.5 646,-187.5 646,-187.5 646,-12.5 646,-12.5 646,-6.5 652,-0.5 658,-0.5"/>
|
||||
<text text-anchor="start" x="692" y="-186.7" font-family="Arial Bold" font-size="11.00">Question</text>
|
||||
<polyline fill="none" stroke="black" points="646,-179.5 790,-179.5 "/>
|
||||
<text text-anchor="start" x="653" y="-166" font-family="Arial" font-size="10.00">alternatives </text>
|
||||
<text text-anchor="start" x="707" y="-166" font-family="Arial Italic" font-size="10.00" fill="#999999">jsonb ∗</text>
|
||||
<text text-anchor="start" x="653" y="-153" font-family="Arial" font-size="10.00">authorship </text>
|
||||
<text text-anchor="start" x="702" y="-153" font-family="Arial Italic" font-size="10.00" fill="#999999">string</text>
|
||||
<text text-anchor="start" x="653" y="-140" font-family="Arial" font-size="10.00">authorship_year </text>
|
||||
<text text-anchor="start" x="726" y="-140" font-family="Arial Italic" font-size="10.00" fill="#999999">string</text>
|
||||
<text text-anchor="start" x="653" y="-127" font-family="Arial" font-size="10.00">bloom_taxonomy </text>
|
||||
<text text-anchor="start" x="731" y="-127" font-family="Arial Italic" font-size="10.00" fill="#999999">string</text>
|
||||
<text text-anchor="start" x="653" y="-114" font-family="Arial" font-size="10.00">body </text>
|
||||
<text text-anchor="start" x="678" y="-114" font-family="Arial Italic" font-size="10.00" fill="#999999">text</text>
|
||||
<text text-anchor="start" x="653" y="-101" font-family="Arial" font-size="10.00">check_type </text>
|
||||
<text text-anchor="start" x="707" y="-101" font-family="Arial Italic" font-size="10.00" fill="#999999">string</text>
|
||||
<text text-anchor="start" x="653" y="-88" font-family="Arial" font-size="10.00">difficulty </text>
|
||||
<text text-anchor="start" x="693" y="-88" font-family="Arial Italic" font-size="10.00" fill="#999999">string</text>
|
||||
<text text-anchor="start" x="653" y="-75" font-family="Arial" font-size="10.00">explanation </text>
|
||||
<text text-anchor="start" x="706" y="-75" font-family="Arial Italic" font-size="10.00" fill="#999999">text</text>
|
||||
<text text-anchor="start" x="653" y="-62" font-family="Arial" font-size="10.00">instruction </text>
|
||||
<text text-anchor="start" x="702" y="-62" font-family="Arial Italic" font-size="10.00" fill="#999999">text</text>
|
||||
<text text-anchor="start" x="653" y="-49" font-family="Arial" font-size="10.00">intention </text>
|
||||
<text text-anchor="start" x="693" y="-49" font-family="Arial Italic" font-size="10.00" fill="#999999">text</text>
|
||||
<text text-anchor="start" x="653" y="-36" font-family="Arial" font-size="10.00">references </text>
|
||||
<text text-anchor="start" x="702" y="-36" font-family="Arial Italic" font-size="10.00" fill="#999999">text</text>
|
||||
<text text-anchor="start" x="653" y="-23" font-family="Arial" font-size="10.00">status </text>
|
||||
<text text-anchor="start" x="684" y="-23" font-family="Arial Italic" font-size="10.00" fill="#999999">string ∗</text>
|
||||
<text text-anchor="start" x="653" y="-10" font-family="Arial" font-size="10.00">support </text>
|
||||
<text text-anchor="start" x="689" y="-10" font-family="Arial Italic" font-size="10.00" fill="#999999">text</text>
|
||||
<path fill="none" stroke="black" d="M698,-93.5C698,-93.5 818,-93.5 818,-93.5 824,-93.5 830,-99.5 830,-105.5 830,-105.5 830,-280.5 830,-280.5 830,-286.5 824,-292.5 818,-292.5 818,-292.5 698,-292.5 698,-292.5 692,-292.5 686,-286.5 686,-280.5 686,-280.5 686,-105.5 686,-105.5 686,-99.5 692,-93.5 698,-93.5"/>
|
||||
<text text-anchor="start" x="732" y="-279.7" font-family="Arial Bold" font-size="11.00">Question</text>
|
||||
<polyline fill="none" stroke="black" points="686,-272.5 830,-272.5 "/>
|
||||
<text text-anchor="start" x="693" y="-259" font-family="Arial" font-size="10.00">alternatives </text>
|
||||
<text text-anchor="start" x="747" y="-259" font-family="Arial Italic" font-size="10.00" fill="#999999">jsonb ∗</text>
|
||||
<text text-anchor="start" x="693" y="-246" font-family="Arial" font-size="10.00">authorship </text>
|
||||
<text text-anchor="start" x="742" y="-246" font-family="Arial Italic" font-size="10.00" fill="#999999">string</text>
|
||||
<text text-anchor="start" x="693" y="-233" font-family="Arial" font-size="10.00">authorship_year </text>
|
||||
<text text-anchor="start" x="766" y="-233" font-family="Arial Italic" font-size="10.00" fill="#999999">string</text>
|
||||
<text text-anchor="start" x="693" y="-220" font-family="Arial" font-size="10.00">bloom_taxonomy </text>
|
||||
<text text-anchor="start" x="771" y="-220" font-family="Arial Italic" font-size="10.00" fill="#999999">string</text>
|
||||
<text text-anchor="start" x="693" y="-207" font-family="Arial" font-size="10.00">body </text>
|
||||
<text text-anchor="start" x="718" y="-207" font-family="Arial Italic" font-size="10.00" fill="#999999">text</text>
|
||||
<text text-anchor="start" x="693" y="-194" font-family="Arial" font-size="10.00">check_type </text>
|
||||
<text text-anchor="start" x="747" y="-194" font-family="Arial Italic" font-size="10.00" fill="#999999">string</text>
|
||||
<text text-anchor="start" x="693" y="-181" font-family="Arial" font-size="10.00">difficulty </text>
|
||||
<text text-anchor="start" x="733" y="-181" font-family="Arial Italic" font-size="10.00" fill="#999999">string</text>
|
||||
<text text-anchor="start" x="693" y="-168" font-family="Arial" font-size="10.00">explanation </text>
|
||||
<text text-anchor="start" x="746" y="-168" font-family="Arial Italic" font-size="10.00" fill="#999999">text</text>
|
||||
<text text-anchor="start" x="693" y="-155" font-family="Arial" font-size="10.00">instruction </text>
|
||||
<text text-anchor="start" x="742" y="-155" font-family="Arial Italic" font-size="10.00" fill="#999999">text</text>
|
||||
<text text-anchor="start" x="693" y="-142" font-family="Arial" font-size="10.00">intention </text>
|
||||
<text text-anchor="start" x="733" y="-142" font-family="Arial Italic" font-size="10.00" fill="#999999">text</text>
|
||||
<text text-anchor="start" x="693" y="-129" font-family="Arial" font-size="10.00">references </text>
|
||||
<text text-anchor="start" x="742" y="-129" font-family="Arial Italic" font-size="10.00" fill="#999999">text</text>
|
||||
<text text-anchor="start" x="693" y="-116" font-family="Arial" font-size="10.00">status </text>
|
||||
<text text-anchor="start" x="724" y="-116" font-family="Arial Italic" font-size="10.00" fill="#999999">string ∗</text>
|
||||
<text text-anchor="start" x="693" y="-103" font-family="Arial" font-size="10.00">support </text>
|
||||
<text text-anchor="start" x="729" y="-103" font-family="Arial Italic" font-size="10.00" fill="#999999">text</text>
|
||||
</g>
|
||||
<!-- m_ReviewMessage -->
|
||||
<g id="node9" class="node">
|
||||
<title>m_ReviewMessage</title>
|
||||
<path fill="none" stroke="black" d="M698,-0.5C698,-0.5 818,-0.5 818,-0.5 824,-0.5 830,-6.5 830,-12.5 830,-12.5 830,-44.5 830,-44.5 830,-50.5 824,-56.5 818,-56.5 818,-56.5 698,-56.5 698,-56.5 692,-56.5 686,-50.5 686,-44.5 686,-44.5 686,-12.5 686,-12.5 686,-6.5 692,-0.5 698,-0.5"/>
|
||||
<text text-anchor="start" x="714" y="-43.7" font-family="Arial Bold" font-size="11.00">ReviewMessage</text>
|
||||
<polyline fill="none" stroke="black" points="686,-36.5 830,-36.5 "/>
|
||||
<text text-anchor="start" x="693" y="-23.5" font-family="Arial" font-size="10.00">content </text>
|
||||
<text text-anchor="start" x="729" y="-23.5" font-family="Arial Italic" font-size="10.00" fill="#999999">string ∗</text>
|
||||
<text text-anchor="start" x="693" y="-10.5" font-family="Arial" font-size="10.00">feedback_type </text>
|
||||
<text text-anchor="start" x="760" y="-10.5" font-family="Arial Italic" font-size="10.00" fill="#999999">string</text>
|
||||
</g>
|
||||
<!-- m_Question->m_ReviewMessage -->
|
||||
<g id="edge9" class="edge">
|
||||
<title>m_Question->m_ReviewMessage</title>
|
||||
<path fill="none" stroke="black" d="M758,-93.26C758,-83.5 758,-74.1 758,-65.65"/>
|
||||
<polygon fill="black" stroke="black" points="761.15,-65.55 758,-56.55 754.85,-65.55 761.15,-65.55"/>
|
||||
</g>
|
||||
<!-- m_ReviewRequest -->
|
||||
<g id="node10" class="node">
|
||||
<title>m_ReviewRequest</title>
|
||||
<path fill="none" stroke="black" d="M525,-7C525,-7 645,-7 645,-7 651,-7 657,-13 657,-19 657,-19 657,-38 657,-38 657,-44 651,-50 645,-50 645,-50 525,-50 525,-50 519,-50 513,-44 513,-38 513,-38 513,-19 513,-19 513,-13 519,-7 525,-7"/>
|
||||
<text text-anchor="start" x="542" y="-37.2" font-family="Arial Bold" font-size="11.00">ReviewRequest</text>
|
||||
<polyline fill="none" stroke="black" points="513,-30 657,-30 "/>
|
||||
<text text-anchor="start" x="520" y="-16.5" font-family="Arial" font-size="10.00">answered </text>
|
||||
<text text-anchor="start" x="566" y="-16.5" font-family="Arial Italic" font-size="10.00" fill="#999999">string</text>
|
||||
</g>
|
||||
<!-- m_Question->m_ReviewRequest -->
|
||||
<g id="edge7" class="edge">
|
||||
<title>m_Question->m_ReviewRequest</title>
|
||||
<path fill="none" stroke="black" d="M685.85,-113.99C678.6,-106.77 671.24,-99.66 664,-93 650,-80.11 633.73,-66.78 619.61,-55.68"/>
|
||||
<polygon fill="black" stroke="black" points="621.47,-53.14 612.44,-50.09 617.6,-58.11 621.47,-53.14"/>
|
||||
</g>
|
||||
<!-- m_Subject->m_Question -->
|
||||
<g id="edge8" class="edge">
|
||||
<g id="edge12" class="edge">
|
||||
<title>m_Subject->m_Question</title>
|
||||
<path fill="none" stroke="black" d="M631.38,-275.13C639.67,-258.46 651.98,-233.73 664.73,-208.09"/>
|
||||
<polygon fill="black" stroke="black" points="667.69,-209.21 668.88,-199.75 662.05,-206.4 667.69,-209.21"/>
|
||||
<path fill="none" stroke="black" d="M827.65,-368.13C821.01,-351.54 811.18,-326.94 800.97,-301.43"/>
|
||||
<polygon fill="black" stroke="black" points="803.77,-299.94 797.5,-292.75 797.92,-302.28 803.77,-299.94"/>
|
||||
</g>
|
||||
<!-- m_User -->
|
||||
<g id="node10" class="node">
|
||||
<g id="node12" class="node">
|
||||
<title>m_User</title>
|
||||
<path fill="none" stroke="black" d="M734.5,-243C734.5,-243 895.5,-243 895.5,-243 901.5,-243 907.5,-249 907.5,-255 907.5,-255 907.5,-339 907.5,-339 907.5,-345 901.5,-351 895.5,-351 895.5,-351 734.5,-351 734.5,-351 728.5,-351 722.5,-345 722.5,-339 722.5,-339 722.5,-255 722.5,-255 722.5,-249 728.5,-243 734.5,-243"/>
|
||||
<text text-anchor="start" x="800.5" y="-338.2" font-family="Arial Bold" font-size="11.00">User</text>
|
||||
<polyline fill="none" stroke="black" points="722.5,-331 907.5,-331 "/>
|
||||
<text text-anchor="start" x="730" y="-318" font-family="Arial" font-size="10.00">email </text>
|
||||
<text text-anchor="start" x="757" y="-318" font-family="Arial Italic" font-size="10.00" fill="#999999">string ∗ U</text>
|
||||
<text text-anchor="start" x="730" y="-305" font-family="Arial" font-size="10.00">encrypted_password </text>
|
||||
<text text-anchor="start" x="824" y="-305" font-family="Arial Italic" font-size="10.00" fill="#999999">string ∗</text>
|
||||
<text text-anchor="start" x="730" y="-292" font-family="Arial" font-size="10.00">name </text>
|
||||
<text text-anchor="start" x="758" y="-292" font-family="Arial Italic" font-size="10.00" fill="#999999">string ∗</text>
|
||||
<text text-anchor="start" x="730" y="-279" font-family="Arial" font-size="10.00">remember_created_at </text>
|
||||
<text text-anchor="start" x="828" y="-279" font-family="Arial Italic" font-size="10.00" fill="#999999">datetime (6,0)</text>
|
||||
<text text-anchor="start" x="730" y="-266" font-family="Arial" font-size="10.00">reset_password_sent_at </text>
|
||||
<text text-anchor="start" x="840" y="-266" font-family="Arial Italic" font-size="10.00" fill="#999999">datetime (6,0)</text>
|
||||
<text text-anchor="start" x="730" y="-253" font-family="Arial" font-size="10.00">reset_password_token </text>
|
||||
<text text-anchor="start" x="832" y="-253" font-family="Arial Italic" font-size="10.00" fill="#999999">string</text>
|
||||
<path fill="none" stroke="black" d="M561.5,-336C561.5,-336 722.5,-336 722.5,-336 728.5,-336 734.5,-342 734.5,-348 734.5,-348 734.5,-432 734.5,-432 734.5,-438 728.5,-444 722.5,-444 722.5,-444 561.5,-444 561.5,-444 555.5,-444 549.5,-438 549.5,-432 549.5,-432 549.5,-348 549.5,-348 549.5,-342 555.5,-336 561.5,-336"/>
|
||||
<text text-anchor="start" x="627.5" y="-431.2" font-family="Arial Bold" font-size="11.00">User</text>
|
||||
<polyline fill="none" stroke="black" points="549.5,-424 734.5,-424 "/>
|
||||
<text text-anchor="start" x="557" y="-411" font-family="Arial" font-size="10.00">email </text>
|
||||
<text text-anchor="start" x="584" y="-411" font-family="Arial Italic" font-size="10.00" fill="#999999">string ∗ U</text>
|
||||
<text text-anchor="start" x="557" y="-398" font-family="Arial" font-size="10.00">encrypted_password </text>
|
||||
<text text-anchor="start" x="651" y="-398" font-family="Arial Italic" font-size="10.00" fill="#999999">string ∗</text>
|
||||
<text text-anchor="start" x="557" y="-385" font-family="Arial" font-size="10.00">name </text>
|
||||
<text text-anchor="start" x="585" y="-385" font-family="Arial Italic" font-size="10.00" fill="#999999">string ∗</text>
|
||||
<text text-anchor="start" x="557" y="-372" font-family="Arial" font-size="10.00">remember_created_at </text>
|
||||
<text text-anchor="start" x="655" y="-372" font-family="Arial Italic" font-size="10.00" fill="#999999">datetime (6,0)</text>
|
||||
<text text-anchor="start" x="557" y="-359" font-family="Arial" font-size="10.00">reset_password_sent_at </text>
|
||||
<text text-anchor="start" x="667" y="-359" font-family="Arial Italic" font-size="10.00" fill="#999999">datetime (6,0)</text>
|
||||
<text text-anchor="start" x="557" y="-346" font-family="Arial" font-size="10.00">reset_password_token </text>
|
||||
<text text-anchor="start" x="659" y="-346" font-family="Arial Italic" font-size="10.00" fill="#999999">string</text>
|
||||
</g>
|
||||
<!-- m_User->m_Question -->
|
||||
<g id="edge7" class="edge">
|
||||
<g id="edge11" class="edge">
|
||||
<title>m_User->m_Question</title>
|
||||
<path fill="none" stroke="black" d="M788.62,-242.97C783.2,-232.07 777.3,-220.22 771.31,-208.17"/>
|
||||
<polygon fill="black" stroke="black" points="773.98,-206.46 767.15,-199.81 768.34,-209.27 773.98,-206.46"/>
|
||||
<path fill="none" stroke="black" d="M673.54,-335.97C680.09,-324.96 687.22,-312.99 694.45,-300.82"/>
|
||||
<polygon fill="black" stroke="black" points="697.33,-302.15 699.22,-292.81 691.91,-298.93 697.33,-302.15"/>
|
||||
</g>
|
||||
<!-- m_User->m_ReviewMessage -->
|
||||
<g id="edge10" class="edge">
|
||||
<title>m_User->m_ReviewMessage</title>
|
||||
<path fill="none" stroke="black" d="M642,-192C646.07,-146.2 645.49,-130.56 672,-93 680.16,-81.43 691.1,-71.12 702.43,-62.34"/>
|
||||
<polygon fill="black" stroke="black" points="704.55,-64.69 709.91,-56.8 700.8,-59.63 704.55,-64.69"/>
|
||||
</g>
|
||||
<!-- m_User->m_ReviewRequest -->
|
||||
<g id="edge8" class="edge">
|
||||
<title>m_User->m_ReviewRequest</title>
|
||||
<path fill="none" stroke="black" d="M639.47,-335.92C638.21,-296.64 637.74,-241.88 642,-194"/>
|
||||
<path fill="none" stroke="black" d="M642,-192C646.37,-142.93 621.5,-89.71 603.22,-58.01"/>
|
||||
<polygon fill="black" stroke="black" points="605.8,-56.18 598.5,-50.04 600.38,-59.39 605.8,-56.18"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 20 KiB |
30
spec/factories/review_messages.rb
Normal file
30
spec/factories/review_messages.rb
Normal file
@@ -0,0 +1,30 @@
|
||||
# == Schema Information
|
||||
#
|
||||
# Table name: review_messages
|
||||
#
|
||||
# id :bigint not null, primary key
|
||||
# content :string
|
||||
# feedback_type :string
|
||||
# created_at :datetime not null
|
||||
# updated_at :datetime not null
|
||||
# question_id :bigint not null
|
||||
# user_id :bigint not null
|
||||
#
|
||||
# Indexes
|
||||
#
|
||||
# index_review_messages_on_question_id (question_id)
|
||||
# index_review_messages_on_user_id (user_id)
|
||||
#
|
||||
# Foreign Keys
|
||||
#
|
||||
# fk_rails_... (question_id => questions.id)
|
||||
# fk_rails_... (user_id => users.id)
|
||||
#
|
||||
FactoryBot.define do
|
||||
factory :review_message do
|
||||
feedback_type { "MyString" }
|
||||
content { "MyString" }
|
||||
question { nil }
|
||||
user { nil }
|
||||
end
|
||||
end
|
||||
28
spec/factories/review_requests.rb
Normal file
28
spec/factories/review_requests.rb
Normal file
@@ -0,0 +1,28 @@
|
||||
# == Schema Information
|
||||
#
|
||||
# Table name: review_requests
|
||||
#
|
||||
# id :bigint not null, primary key
|
||||
# answered :string
|
||||
# created_at :datetime not null
|
||||
# updated_at :datetime not null
|
||||
# question_id :bigint not null
|
||||
# user_id :bigint not null
|
||||
#
|
||||
# Indexes
|
||||
#
|
||||
# index_review_requests_on_question_id (question_id)
|
||||
# index_review_requests_on_user_id (user_id)
|
||||
#
|
||||
# Foreign Keys
|
||||
#
|
||||
# fk_rails_... (question_id => questions.id)
|
||||
# fk_rails_... (user_id => users.id)
|
||||
#
|
||||
FactoryBot.define do
|
||||
factory :review_request do
|
||||
answered { "MyString" }
|
||||
question { nil }
|
||||
user { nil }
|
||||
end
|
||||
end
|
||||
30
spec/models/review_message_spec.rb
Normal file
30
spec/models/review_message_spec.rb
Normal file
@@ -0,0 +1,30 @@
|
||||
# == Schema Information
|
||||
#
|
||||
# Table name: review_messages
|
||||
#
|
||||
# id :bigint not null, primary key
|
||||
# content :string
|
||||
# feedback_type :string
|
||||
# created_at :datetime not null
|
||||
# updated_at :datetime not null
|
||||
# question_id :bigint not null
|
||||
# user_id :bigint not null
|
||||
#
|
||||
# Indexes
|
||||
#
|
||||
# index_review_messages_on_question_id (question_id)
|
||||
# index_review_messages_on_user_id (user_id)
|
||||
#
|
||||
# Foreign Keys
|
||||
#
|
||||
# fk_rails_... (question_id => questions.id)
|
||||
# fk_rails_... (user_id => users.id)
|
||||
#
|
||||
require 'rails_helper'
|
||||
|
||||
RSpec.describe ReviewMessage, type: :model do
|
||||
describe "associations" do
|
||||
it { is_expected.to(belong_to(:user)) }
|
||||
it { is_expected.to(belong_to(:question)) }
|
||||
end
|
||||
end
|
||||
29
spec/models/review_request_spec.rb
Normal file
29
spec/models/review_request_spec.rb
Normal file
@@ -0,0 +1,29 @@
|
||||
# == Schema Information
|
||||
#
|
||||
# Table name: review_requests
|
||||
#
|
||||
# id :bigint not null, primary key
|
||||
# answered :string
|
||||
# created_at :datetime not null
|
||||
# updated_at :datetime not null
|
||||
# question_id :bigint not null
|
||||
# user_id :bigint not null
|
||||
#
|
||||
# Indexes
|
||||
#
|
||||
# index_review_requests_on_question_id (question_id)
|
||||
# index_review_requests_on_user_id (user_id)
|
||||
#
|
||||
# Foreign Keys
|
||||
#
|
||||
# fk_rails_... (question_id => questions.id)
|
||||
# fk_rails_... (user_id => users.id)
|
||||
#
|
||||
require 'rails_helper'
|
||||
|
||||
RSpec.describe ReviewRequest, type: :model do
|
||||
describe "associations" do
|
||||
it { is_expected.to(belong_to(:user)) }
|
||||
it { is_expected.to(belong_to(:question)) }
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user