... | ... |
@@ -1,10 +1,13 @@ |
1 | 1 |
class User |
2 | 2 |
include Mongoid::Document |
3 | 3 |
|
4 |
- field :jids, type: Array |
|
4 |
+ embeds_many :accounts |
|
5 |
+ accepts_nested_attributes_for :accounts |
|
6 |
+ |
|
7 |
+ index({ 'accounts.jid' => 1 }) |
|
5 | 8 |
|
6 | 9 |
def update_pass(jid, pass) |
7 |
- account_credentials = jids.detect do |f| |
|
10 |
+ account_credentials = accounts.detect do |f| |
|
8 | 11 |
f[:jid] == jid || f['jid'] == jid |
9 | 12 |
end |
10 | 13 |
|
... | ... |
@@ -13,17 +16,18 @@ class User |
13 | 13 |
end |
14 | 14 |
|
15 | 15 |
def self.existing_jid(jid) |
16 |
- where('jids.jid' => jid).only(:jids).first |
|
16 |
+ where('accounts.jid' => jid).only(:accounts).first |
|
17 | 17 |
end |
18 | 18 |
|
19 | 19 |
def self.create_jid(jid) |
20 |
- new_user = new(jids: [ {jid: jid} ]) |
|
20 |
+ new_user = new() |
|
21 |
+ new_user.add_account(jid) |
|
21 | 22 |
new_user.save |
22 | 23 |
new_user |
23 | 24 |
end |
24 | 25 |
|
25 |
- def add_account(another_jid, password) |
|
26 |
- jids << {jid: another_jid, pass: password} |
|
26 |
+ def add_account(another_jid, password = nil) |
|
27 |
+ accounts << Account.new(jid: another_jid, pass: password) |
|
27 | 28 |
save |
28 | 29 |
end |
29 | 30 |
|
... | ... |
@@ -35,7 +39,11 @@ class User |
35 | 35 |
return [] |
36 | 36 |
end |
37 | 37 |
|
38 |
- user = find(user_id) |
|
39 |
- return user ? user.jids : [] |
|
38 |
+ user = where(id: user_id).only(:accounts).first |
|
39 |
+ return user ? user.accounts : [] |
|
40 |
+ end |
|
41 |
+ |
|
42 |
+ def self.can_save_conversation(my_jid, friend_jid, chat_id = nil) |
|
43 |
+ |
|
40 | 44 |
end |
41 | 45 |
end |
42 | 46 |
\ No newline at end of file |