Skip to content

Commit 46e1777

Browse files
committed
refactor!: allow deep paths in console url
1 parent 0deee8b commit 46e1777

3 files changed

Lines changed: 13 additions & 13 deletions

File tree

src/runtime/components/admin/users/AdminUsersDetail.vue

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,7 @@ const userDoc = useDocument<UserDoc>(userDocRef)
2929
const firebaseConsoleUrl = computed(() =>
3030
getFirebaseConsoleUrl(
3131
firebaseApp.options.projectId as string,
32-
usersColName,
33-
userDoc.value?.id,
32+
[usersColName, props.uid],
3433
),
3534
)
3635
</script>

src/runtime/components/admin/users/AdminUsersList.vue

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,7 @@ const formatData = (item: (typeof users.data.value)[number]) => {
3333
const firebaseConsoleUrl = computed(() =>
3434
getFirebaseConsoleUrl(
3535
firebaseApp.options.projectId as string,
36-
usersColName,
37-
item.id,
36+
[usersColName, item.id],
3837
),
3938
)
4039

src/runtime/utils/firebase.ts

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -26,18 +26,20 @@ export function isSuperAdmin(
2626
return false
2727
}
2828

29+
/**
30+
* Generates a Firebase Console URL for a given project and path.
31+
*
32+
* @param projectId The Firebase project ID.
33+
* @param path An array of strings representing the path within Firestore (e.g., ['collection', 'docId', 'subcollection']).
34+
* @returns The full URL to the Firebase Console for the specified path.
35+
*/
2936
export function getFirebaseConsoleUrl(
3037
projectId: string,
31-
collectionName: string,
32-
documentId?: string,
38+
path: string[],
3339
) {
34-
let firebaseConsoleUrl = 'https://console.firebase.google.com'
35-
firebaseConsoleUrl += `/project/${projectId}/firestore/databases/-default-/data/~2F${collectionName}`
36-
37-
if (documentId) {
38-
firebaseConsoleUrl += `~2F${documentId}`
39-
}
40-
40+
const firebaseConsoleUrl = `https://console.firebase.google.com/project/${projectId}/firestore/databases/-default-/data/${
41+
path.length > 0 ? `~2F${path.join('~2F')}` : ''
42+
}`
4143
return firebaseConsoleUrl
4244
}
4345

0 commit comments

Comments
 (0)