mirror of
https://github.com/lkddi/nexusphp.git
synced 2026-04-15 05:00:49 +08:00
[admin] add grant props
This commit is contained in:
@@ -440,5 +440,29 @@ class UserRepository extends BaseRepository
|
||||
return true;
|
||||
}
|
||||
|
||||
public function addMeta($user, array $metaData, array $keyExistsUpdates = [])
|
||||
{
|
||||
$user = $this->getUser($user);
|
||||
$metaKey = $metaData['meta_key'];
|
||||
$allowMultiple = UserMeta::$metaKeys[$metaKey]['multiple'];
|
||||
if ($allowMultiple) {
|
||||
//Allow multiple, just insert
|
||||
$result = $user->metas()->create($metaData);
|
||||
} else {
|
||||
$metaExists = $user->metas()->where('meta_key', $metaKey)->first();
|
||||
if (!$metaExists) {
|
||||
$result = $user->metas()->create($metaData);
|
||||
} else {
|
||||
if (empty($keyExistsUpdates)) {
|
||||
$keyExistsUpdates = ['updated_at' => now()];
|
||||
}
|
||||
$result = $metaExists->update($keyExistsUpdates);
|
||||
}
|
||||
}
|
||||
if ($result) {
|
||||
clear_user_cache($user->id, $user->passkey);
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user