1
0
Fork 0
mirror of https://codeberg.org/demostf/api.git synced 2026-06-03 18:04:08 +02:00

cleaner tokens

This commit is contained in:
Robin Appelman 2017-03-20 23:52:57 +01:00
commit 7a6ff09eee
2 changed files with 14 additions and 15 deletions

View file

@ -15,18 +15,19 @@ class UserProvider extends BaseProvider {
} }
public function store(\SteamId $steamId) { public function store(\SteamId $steamId) {
$sql = 'INSERT INTO users(steamid, name, avatar, token) $token = $this->generator->generateString(64, Generator::EASY_TO_READ);
SELECT ?, ?, ?, ? WHERE NOT EXISTS(SELECT id FROM users WHERE steamid = ?)';
$this->query($sql, [
$steamId->getSteamId64(),
$steamId->getNickname(),
$steamId->getMediumAvatarUrl(),
$this->generator->generateString(64),
$steamId->getSteamId64()
]);
$user = $this->db->user()->where('steamid', $steamId->getSteamId64()); $query = $this->getQueryBuilder();
return $user->fetch()->token; $query->insert('users')
->values([
'steamid' => $query->createNamedParameter($steamId->getSteamId64()),
'name' => $query->createNamedParameter($steamId->getNickname()),
'avatar' => $query->createNamedParameter($steamId->getMediumAvatarUrl()),
'token' => $query->createNamedParameter($token)
])->add('orderBy', 'ON CONFLICT DO NOTHING') // hack to append arbitrary string to sql
->execute();
return $token;
} }
public function get($steamid) { public function get($steamid) {

View file

@ -36,11 +36,9 @@ class UserProviderTest extends TestCase {
} }
public function testByKey() { public function testByKey() {
$this->provider->store($this->steamId); $token = $this->provider->store($this->steamId);
$user = $this->provider->get('76561198024494988'); $byKey = $this->provider->byKey($token);
$byKey = $this->provider->byKey($user['token']);
$this->assertEquals('76561198024494988', $byKey['steamid']); $this->assertEquals('76561198024494988', $byKey['steamid']);
} }