mirror of
https://codeberg.org/demostf/api.git
synced 2026-06-03 18:04:08 +02:00
cleaner tokens
This commit is contained in:
parent
a1a9504f11
commit
7a6ff09eee
2 changed files with 14 additions and 15 deletions
|
|
@ -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) {
|
||||||
|
|
|
||||||
|
|
@ -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']);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue