-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathmodels.rb
More file actions
103 lines (74 loc) · 1.71 KB
/
models.rb
File metadata and controls
103 lines (74 loc) · 1.71 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
class User
include Mongoid::Document
field :email, type: String
field :firstName, type: String
field :lastName, type: String
embedded_in :residence
end
class Password
include Mongoid::Document
field :userId, type: String
field :password, type: String
end
class ResidenceCode
include Mongoid::Document
field :code, type: String
field :residenceId, type: String
end
class Residence
include Mongoid::Document
field :name, type: String
field :updateTime, type: DateTime
field :groceryListLastUpdate, type: Integer
field :ledgerLastUpdate, type: Integer
embeds_many :groceryLists
embeds_many :events
embeds_many :messages
embeds_many :users
embeds_many :transactions
end
class GroceryList
include Mongoid::Document
field :listName, type: String
embeds_many :groceryListItems
embedded_in :residence
end
class GroceryListItem
include Mongoid::Document
field :itemName, type: String
field :itemStatus, type: Boolean
embedded_in :groceryList
end
class Event
include Mongoid::Document
field :eventName, type: String
field :eventLocation, type: String
field :eventDetails, type: String
field :eventDate, type: DateTime
embedded_in :residence
end
class Key
include Mongoid::Document
field :key, type: String
end
class ChatLog
include Mongoid::Document
field :residenceId, type: String
embeds_many :messages
end
class Message
include Mongoid::Document
field :message, type: String
field :senderId, type: String
field :dateSent, type: DateTime
embedded_in :chat
end
class Transaction
include Mongoid::Document
field :payer, type: String
field :payee, type: String
field :amount, type: Integer
field :note, type: String
field :transactionDate, type: Integer
embedded_in :residence
end