[admin] add grant props

This commit is contained in:
xiaomlove
2022-08-11 17:12:36 +08:00
parent 72908e38f4
commit 9332b676b4
18 changed files with 156 additions and 18 deletions

View File

@@ -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;
}
}