Skip to content

Instantly share code, notes, and snippets.

@jeremyf
Created May 14, 2015 18:08
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jeremyf/10f928915b4f8af15919 to your computer and use it in GitHub Desktop.
Save jeremyf/10f928915b4f8af15919 to your computer and use it in GitHub Desktop.
Sipity Permission ERD
digraph models_diagram {
graph[overlap=false, splines=true]
"Sipity::Models::Collaborator" [shape=Mrecord, label="{Sipity::Models::Collaborator|id :integer\lwork_id :string\lsequence :integer\lname :string\lrole :string\lcreated_at :datetime\lupdated_at :datetime\lnetid :string\lemail :string\lresponsible_for_review :boolean\l}"]
"Sipity::Models::Group" [shape=Mrecord, label="{Sipity::Models::Group|id :integer\lname :string\lcreated_at :datetime\lupdated_at :datetime\l}"]
"Sipity::Models::GroupMembership" [shape=Mrecord, label="{Sipity::Models::GroupMembership|id :integer\luser_id :integer\lgroup_id :integer\lmembership_role :string\lcreated_at :datetime\lupdated_at :datetime\l}"]
"Sipity::Models::Processing::Actor" [shape=Mrecord, label="{Sipity::Models::Processing::Actor|id :integer\lproxy_for_id :string\lproxy_for_type :string\lname_of_proxy :string\lcreated_at :datetime\lupdated_at :datetime\l}"]
"Sipity::Models::Processing::Comment" [shape=Mrecord, label="{Sipity::Models::Processing::Comment|id :integer\lentity_id :string\lactor_id :integer\lcomment :text\loriginating_strategy_action_id :integer\loriginating_strategy_state_id :integer\lcreated_at :datetime\lupdated_at :datetime\lstale :boolean\l}"]
"Sipity::Models::Processing::Entity" [shape=Mrecord, label="{Sipity::Models::Processing::Entity|id :integer\lproxy_for_id :string\lproxy_for_type :string\lstrategy_id :integer\lstrategy_state_id :integer\lcreated_at :datetime\lupdated_at :datetime\l}"]
"Sipity::Models::Processing::EntityActionRegister" [shape=Mrecord, label="{Sipity::Models::Processing::EntityActionRegister|id :integer\lstrategy_action_id :integer\lentity_id :string\lcreated_at :datetime\lupdated_at :datetime\lrequested_by_actor_id :integer\lon_behalf_of_actor_id :integer\l}"]
"Sipity::Models::Processing::EntitySpecificResponsibility" [shape=Mrecord, label="{Sipity::Models::Processing::EntitySpecificResponsibility|id :integer\lstrategy_role_id :integer\lentity_id :string\lactor_id :integer\lcreated_at :datetime\lupdated_at :datetime\l}"]
"Sipity::Models::Processing::Strategy" [shape=Mrecord, label="{Sipity::Models::Processing::Strategy|id :integer\lname :string\ldescription :text\lcreated_at :datetime\lupdated_at :datetime\l}"]
"Sipity::Models::Processing::StrategyAction" [shape=Mrecord, label="{Sipity::Models::Processing::StrategyAction|id :integer\lstrategy_id :integer\lresulting_strategy_state_id :integer\lname :string\lform_class_name :string\lcompletion_required :boolean\lcreated_at :datetime\lupdated_at :datetime\laction_type :string\lpresentation_sequence :integer\lallow_repeat_within_current_state :boolean\l}"]
"Sipity::Models::Processing::StrategyActionAnalogue" [shape=Mrecord, label="{Sipity::Models::Processing::StrategyActionAnalogue|id :integer\lstrategy_action_id :integer\lanalogous_to_strategy_action_id :integer\lcreated_at :datetime\lupdated_at :datetime\l}"]
"Sipity::Models::Processing::StrategyActionPrerequisite" [shape=Mrecord, label="{Sipity::Models::Processing::StrategyActionPrerequisite|id :integer\lguarded_strategy_action_id :integer\lprerequisite_strategy_action_id :integer\lcreated_at :datetime\lupdated_at :datetime\l}"]
"Sipity::Models::Processing::StrategyResponsibility" [shape=Mrecord, label="{Sipity::Models::Processing::StrategyResponsibility|id :integer\lactor_id :integer\lstrategy_role_id :integer\lcreated_at :datetime\lupdated_at :datetime\l}"]
"Sipity::Models::Processing::StrategyRole" [shape=Mrecord, label="{Sipity::Models::Processing::StrategyRole|id :integer\lstrategy_id :integer\lrole_id :integer\lcreated_at :datetime\lupdated_at :datetime\l}"]
"Sipity::Models::Processing::StrategyState" [shape=Mrecord, label="{Sipity::Models::Processing::StrategyState|id :integer\lstrategy_id :integer\lname :string\lcreated_at :datetime\lupdated_at :datetime\l}"]
"Sipity::Models::Processing::StrategyStateAction" [shape=Mrecord, label="{Sipity::Models::Processing::StrategyStateAction|id :integer\loriginating_strategy_state_id :integer\lstrategy_action_id :integer\lcreated_at :datetime\lupdated_at :datetime\l}"]
"Sipity::Models::Processing::StrategyStateActionPermission" [shape=Mrecord, label="{Sipity::Models::Processing::StrategyStateActionPermission|id :integer\lstrategy_role_id :integer\lstrategy_state_action_id :integer\lcreated_at :datetime\lupdated_at :datetime\l}"]
"Sipity::Models::Processing::StrategyUsage" [shape=Mrecord, label="{Sipity::Models::Processing::StrategyUsage|id :integer\lstrategy_id :integer\lusage_id :integer\lusage_type :string\lcreated_at :datetime\lupdated_at :datetime\l}"]
"Sipity::Models::Role" [shape=Mrecord, label="{Sipity::Models::Role|id :integer\lname :string\ldescription :text\lcreated_at :datetime\lupdated_at :datetime\l}"]
"User" [shape=Mrecord, label="{User|id :integer\lemail :string\lremember_created_at :datetime\lsign_in_count :integer\lcurrent_sign_in_at :datetime\llast_sign_in_at :datetime\lcurrent_sign_in_ip :string\llast_sign_in_ip :string\lcreated_at :datetime\lupdated_at :datetime\lname :string\lrole :integer\lusername :string\lagreed_to_terms_of_service :boolean\l}"]
"Sipity::Models::Collaborator" -> "Sipity::Models::Processing::Actor" [label="processing_actor", arrowtail=odot, arrowhead=dot, dir=both color="#E27238"]
"Sipity::Models::Group" -> "Sipity::Models::GroupMembership" [arrowtail=odot, arrowhead=crow, dir=both color="#91A095"]
"Sipity::Models::Group" -> "Sipity::Models::Processing::Actor" [label="processing_actor", arrowtail=odot, arrowhead=dot, dir=both color="#360FAB"]
"Sipity::Models::Processing::Actor" -> "Sipity::Models::Processing::StrategyResponsibility" [arrowtail=odot, arrowhead=crow, dir=both color="#E2ED20"]
"Sipity::Models::Processing::Actor" -> "Sipity::Models::Processing::EntitySpecificResponsibility" [arrowtail=odot, arrowhead=crow, dir=both color="#68BE5B"]
"Sipity::Models::Processing::Actor" -> "Sipity::Models::Processing::Comment" [label="processing_comments", arrowtail=odot, arrowhead=crow, dir=both color="#D6D081"]
"Sipity::Models::Processing::Actor" -> "Sipity::Models::Processing::EntityActionRegister" [label="actions_that_were_requested_by_me", arrowtail=odot, arrowhead=crow, dir=both color="#F87911"]
"Sipity::Models::Processing::Actor" -> "Sipity::Models::Processing::EntityActionRegister" [label="actions_that_an_actor_took_on_my_behalf", arrowtail=odot, arrowhead=crow, dir=both color="#0770C6"]
"Sipity::Models::Processing::Entity" -> "Sipity::Models::Processing::EntityActionRegister" [arrowtail=odot, arrowhead=crow, dir=both color="#C85325"]
"Sipity::Models::Processing::Entity" -> "Sipity::Models::Processing::EntitySpecificResponsibility" [arrowtail=odot, arrowhead=crow, dir=both color="#4B3158"]
"Sipity::Models::Processing::Entity" -> "Sipity::Models::Processing::Comment" [label="processing_comments", arrowtail=odot, arrowhead=crow, dir=both color="#52218D"]
"Sipity::Models::Processing::Strategy" -> "Sipity::Models::Processing::Entity" [arrowtail=odot, arrowhead=crow, dir=both color="#01F4DE"]
"Sipity::Models::Processing::Strategy" -> "Sipity::Models::Processing::StrategyState" [arrowtail=odot, arrowhead=crow, dir=both color="#728562"]
"Sipity::Models::Processing::Strategy" -> "Sipity::Models::Processing::StrategyAction" [arrowtail=odot, arrowhead=crow, dir=both color="#5AB1A6"]
"Sipity::Models::Processing::Strategy" -> "Sipity::Models::Processing::StrategyRole" [arrowtail=odot, arrowhead=crow, dir=both color="#DCF663"]
"Sipity::Models::Processing::Strategy" -> "Sipity::Models::Processing::StrategyUsage" [arrowtail=odot, arrowhead=crow, dir=both color="#612704"]
"Sipity::Models::Processing::StrategyAction" -> "Sipity::Models::Processing::EntityActionRegister" [arrowtail=odot, arrowhead=crow, dir=both color="#2D8611"]
"Sipity::Models::Processing::StrategyAction" -> "Sipity::Models::Processing::StrategyStateAction" [arrowtail=odot, arrowhead=crow, dir=both color="#C4F0D5"]
"Sipity::Models::Processing::StrategyAction" -> "Sipity::Models::Processing::StrategyActionPrerequisite" [label="guarding_strategy_action_prerequisites", arrowtail=odot, arrowhead=crow, dir=both color="#A7E3C2"]
"Sipity::Models::Processing::StrategyAction" -> "Sipity::Models::Processing::StrategyActionPrerequisite" [label="requiring_strategy_action_prerequisites", arrowtail=odot, arrowhead=crow, dir=both color="#47A98D"]
"Sipity::Models::Processing::StrategyAction" -> "Sipity::Models::Processing::Comment" [label="processing_comments", arrowtail=odot, arrowhead=crow, dir=both color="#89321C"]
"Sipity::Models::Processing::StrategyAction" -> "Sipity::Models::Processing::StrategyActionAnalogue" [label="base_element_for_strategy_actions_analogues", arrowtail=odot, arrowhead=crow, dir=both color="#3A7AB1"]
"Sipity::Models::Processing::StrategyAction" -> "Sipity::Models::Processing::StrategyActionAnalogue" [label="analog_element_for_strategy_actions_analogues", arrowtail=odot, arrowhead=crow, dir=both color="#21905A"]
"Sipity::Models::Processing::StrategyRole" -> "Sipity::Models::Processing::StrategyResponsibility" [arrowtail=odot, arrowhead=crow, dir=both color="#0B3B20"]
"Sipity::Models::Processing::StrategyRole" -> "Sipity::Models::Processing::StrategyStateActionPermission" [arrowtail=odot, arrowhead=crow, dir=both color="#CCC937"]
"Sipity::Models::Processing::StrategyRole" -> "Sipity::Models::Processing::EntitySpecificResponsibility" [arrowtail=odot, arrowhead=crow, dir=both color="#2EC1CB"]
"Sipity::Models::Processing::StrategyState" -> "Sipity::Models::Processing::StrategyStateAction" [label="originating_strategy_state_actions", arrowtail=odot, arrowhead=crow, dir=both color="#B0E995"]
"Sipity::Models::Processing::StrategyState" -> "Sipity::Models::Processing::StrategyAction" [label="resulting_strategy_actions", arrowtail=odot, arrowhead=crow, dir=both color="#8E1836"]
"Sipity::Models::Processing::StrategyState" -> "Sipity::Models::Processing::Comment" [label="processing_comments", arrowtail=odot, arrowhead=crow, dir=both color="#48648E"]
"Sipity::Models::Processing::StrategyState" -> "Sipity::Models::Processing::Entity" [arrowtail=odot, arrowhead=crow, dir=both color="#CA7F23"]
"Sipity::Models::Processing::StrategyStateAction" -> "Sipity::Models::Processing::StrategyStateActionPermission" [arrowtail=odot, arrowhead=crow, dir=both color="#8CC424"]
"Sipity::Models::Role" -> "Sipity::Models::Processing::StrategyRole" [label="processing_strategy_roles", arrowtail=odot, arrowhead=crow, dir=both color="#DC47AD"]
"User" -> "Sipity::Models::GroupMembership" [label="group_memberships", arrowtail=odot, arrowhead=crow, dir=both color="#2F8923"]
"User" -> "Sipity::Models::Processing::Actor" [label="processing_actor", arrowtail=odot, arrowhead=dot, dir=both color="#1B2D90"]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment