unwrap($row); } public function findByProviderIssuerSubject(string $provider, string $issuer, string $subject): ?array { $row = DB::selectOne( 'select id, user_id, provider, oid, tid, issuer, subject, email_at_link_time, created from user_external_identities where provider = ? and issuer = ? and subject = ? limit 1', $provider, $issuer, $subject ); return $this->unwrap($row); } public function createLink(array $data) { return DB::insert( 'insert into user_external_identities (user_id, provider, oid, tid, issuer, subject, email_at_link_time, created) values (?,?,?,?,?,?,?,NOW())', (string) ((int) ($data['user_id'] ?? 0)), (string) ($data['provider'] ?? ''), (string) ($data['oid'] ?? ''), (string) ($data['tid'] ?? ''), (string) ($data['issuer'] ?? ''), (string) ($data['subject'] ?? ''), $data['email_at_link_time'] ?? null ); } }