Skip to content

Latest commit

 

History

History
38 lines (37 loc) · 1.53 KB

database.md

File metadata and controls

38 lines (37 loc) · 1.53 KB

Database Schema

  • character:<character_id> (hash)
    • character:<character_id>:teammates (set)
    • character:<character_id>:friends (set)
    • character:<character_id>:requests (set)
      • List of IDs of people who have added this person as a friend, but this character has not added back yet
  • conversation:<character_id>:<character_id> (list)
    • Ordering of character IDs comes from a hash of each ID -- check socket/hub.go for more details
    • List of message IDs (in chronological order)
  • element:<element_id> (hash)
  • hallway:<hallway_id> (hash)
  • locations (set)
  • location:<location_id> (hash)
  • message:<message_id> (hash)
  • emailToCharacter (hash)
    • Mapping of email addresses to Playground character IDs
    • Used for all non-hackers (sponsors, mentors, organizers)
  • emailToSponsor (hash)
    • Mapping of email addresses to sponsor IDs, if the email corresponds to a company rep
  • quillToCharacter (hash)
    • Mapping of Quill user IDs to Playground character IDs
  • room:<room_id> (hash)
    • room:<room_id>:elements (list)
      • Ordering of elements indicates layering -- right-most indicates top in layer-wise order
    • room:<room_id>:hallways (set)
    • room:<room_id>:characters (set)
  • rooms (set)
  • song:<song_id> (hash)
  • songs (list)
  • sponsors (set)
  • sponsor:<sponsor_id> (hash)
    • sponsor:<sponsor_id>:subscribed (set)
    • sponsor:<sponsor_id>:hackerqueue (list)
  • event:<event_id> (string)
  • event:<event_id>:attendees (set)
  • character:<character_id>:events (set)
  • events (set)