Browse Source

user default group

tags/0.1.0
Robin Thoni 9 years ago
parent
commit
a04da5d2da

+ 5
- 0
src/Auth/Business/LuticateGroupsBusiness.php View File

11
     {
11
     {
12
         return new LuticateGroupsDataAccess();
12
         return new LuticateGroupsDataAccess();
13
     }
13
     }
14
+
15
+    public static function addUserToGroup($user_id, $group_id)
16
+    {
17
+        return LuticateGroupsDataAccess::addUserToGroup($user_id, $group_id);
18
+    }
14
 }
19
 }

+ 21
- 14
src/Auth/Business/LuticateUsersBusiness.php View File

2
 
2
 
3
 namespace Luticate\Auth\Business;
3
 namespace Luticate\Auth\Business;
4
 
4
 
5
+use Illuminate\Support\Facades\DB;
5
 use Luticate\Auth\DBO\LuticatePermissions;
6
 use Luticate\Auth\DBO\LuticatePermissions;
6
 use Luticate\Auth\DBO\LuticateUsersLoginDbo;
7
 use Luticate\Auth\DBO\LuticateUsersLoginDbo;
7
 use Luticate\Utils\LuBusiness;
8
 use Luticate\Utils\LuBusiness;
12
 
13
 
13
     const KEY_USER_ID =  "user_id";
14
     const KEY_USER_ID =  "user_id";
14
     const KEY_SALT =  "salt";
15
     const KEY_SALT =  "salt";
16
+    const KEY_DATA =  "data";
15
 
17
 
16
     protected static function getDataAccess()
18
     protected static function getDataAccess()
17
     {
19
     {
33
         return password_verify($password, $hash);
35
         return password_verify($password, $hash);
34
     }
36
     }
35
 
37
 
36
-    /**
37
-     * @param $user LuticateUsersDbo
38
-     * @param int $length
39
-     * @return string
40
-     */
41
-    public static function getSalt($user, $length = 10)
38
+    public static function getSalt($length = 10)
42
     {
39
     {
43
-        if ($user->getId() == 0) {
44
-            return "";
45
-        }
46
         $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
40
         $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
47
         $charactersLength = strlen($characters);
41
         $charactersLength = strlen($characters);
48
         $randomString = '';
42
         $randomString = '';
54
 
48
 
55
     /**
49
     /**
56
      * @param $user LuticateUsersDbo
50
      * @param $user LuticateUsersDbo
51
+     * @param $data mixed
57
      * @return string
52
      * @return string
58
      */
53
      */
59
-    public static function getToken($user)
54
+    public static function getToken($user, $data = null)
60
     {
55
     {
61
         return JwtHelper::encode(array(
56
         return JwtHelper::encode(array(
62
             self::KEY_USER_ID => $user->getId(),
57
             self::KEY_USER_ID => $user->getId(),
63
-            self::KEY_SALT => $user->getSalt()
58
+            self::KEY_SALT => $user->getSalt(),
59
+            self::KEY_DATA => $data
64
             ));
60
             ));
65
     }
61
     }
66
 
62
 
83
      */
79
      */
84
     public static function logout($user)
80
     public static function logout($user)
85
     {
81
     {
86
-        $user->setSalt(self::getSalt($user));
87
-        LuticateUsersDataAccess::editById($user->getId(), $user);
82
+        if ($user->getId() != 0) {
83
+            $user->setSalt(self::getSalt());
84
+            LuticateUsersDataAccess::editById($user->getId(), $user);
85
+        }
88
         return true;
86
         return true;
89
     }
87
     }
90
 
88
 
108
         $user->setUsername($username);
106
         $user->setUsername($username);
109
         $user->setSalt(self::getSalt());
107
         $user->setSalt(self::getSalt());
110
 
108
 
111
-        return LuticateUsersDataAccess::addId($user);
109
+        DB::beginTransaction();
110
+
111
+        $user_id = LuticateUsersDataAccess::addId($user);
112
+
113
+        if (!is_null(LuticateGroupsBusiness::getById(0))) {
114
+            LuticateGroupsBusiness::addUserToGroup($user_id, 0);
115
+        }
116
+        DB::commit();
117
+
118
+        return $user_id;
112
     }
119
     }
113
 }
120
 }

+ 6
- 0
src/Auth/DataAccess/LuticateGroupsDataAccess.php View File

11
     {
11
     {
12
         return new LuticateGroups();
12
         return new LuticateGroups();
13
     }
13
     }
14
+
15
+    public static function addUserToGroup($user_id, $group_id)
16
+    {
17
+        LuticateGroups::find($group_id)->users()->attach($user_id);
18
+        return true;
19
+    }
14
 }
20
 }

+ 4
- 0
src/Auth/DataAccess/Models/LuticateGroups.php View File

6
 
6
 
7
 class LuticateGroups extends LuticateGroupsModel
7
 class LuticateGroups extends LuticateGroupsModel
8
 {
8
 {
9
+    public function users()
10
+    {
11
+        return $this->belongsToMany('Luticate\Auth\DataAccess\Models\LuticateUsers', "luticate_users_groups", "group_id", "user_id");
12
+    }
9
 }
13
 }

Loading…
Cancel
Save