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) {
$sql = 'INSERT INTO users(steamid, name, avatar, token)
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()
]);
$token = $this->generator->generateString(64, Generator::EASY_TO_READ);
$user = $this->db->user()->where('steamid', $steamId->getSteamId64());
return $user->fetch()->token;
$query = $this->getQueryBuilder();
$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) {

View file

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