firebase / firebase/firebase-admin-node
Find or delete non-existing UID results to prevent an uncacheable error.
- 主要言語
- TypeScript
- スター
- 1.7k
- フォーク
- 419
- 平均マージ
- 3日 10時間
- マージ済み PR(30日)
- 16
説明
Platform:
* Operating System version: MacOs - Darwin 23.6.0 arm64 arm
* Firebase SDK version: 11.11.1
* Firebase Product: Firebase Auth
* Bun version: 1.2.2 (Don't think is related)
* NPM version: 10.8.2
Problem:
Whenever I try to find a user that doesn't exist or delete a uid that doesn't exist it thorws an error that breaks the function and is not cachable for some reaons, and its very weird behavirous that im not able to handle, i tried to use try catch, and then catch, but still the same. This has no steep to reprpoduce the error, its default behaviour.
Code:
```ts
import { Firebase } from '@/libs/firebase'
import { Console } from '@/helpers/logs'
const admin = await Firebase()
const DeleteFirebaseAccount = async (uid: string): Promise => {
try {
const userExists = await admin.auth().getUser(uid)
if (userExists) await admin.auth().deleteUser(uid)
return true
}
catch (error) {
Console.Error('DeleteFirebaseAccount', error)
return false
}
}
export default DeleteFirebaseAccount
```
The error:
```
class FirebaseError extends Error {
29 | constructor(errorInfo) {
30 | super(errorInfo.message);
^
error: There is no user record corresponding to the provided identifier.
errorInfo: {
code: "auth/user-not-found",
message: "There is no user record corresponding to the provided identifier.",
},
codePrefix: "auth",
```
コントリビューションガイド
調査の方向性
Start by reproducing the reported behavior with Firebase Auth's admin.auth().getUser(uid) and deleteUser(uid) calls using a nonexistent UID. Review how the supplied TypeScript function handles the auth/user-not-found error and determine the intended behavior for missing users. Done requires a documented or tested result for both lookup and deletion cases.
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- firebase, node.js, typescript
- 領域
- authentication
- issue の種類
- バグ
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 停滞
- 明瞭さ
- 説明が足りない
- 初心者へのやさしさ
- 25/100