feat(shared): deep links for OAuth grant and install token export JSON (v0.8.698)

Expose parseOpenOAuthGrantJsonQuery and parseOpenOAuthInstallTokenJsonQuery on
guild-channel navigation for dedicated Phase 722 export modals.

Co-authored-by: Cursor <[email protected]>
This commit is contained in:
Raven Scott
2026-06-03 08:43:15 -04:00
co-authored by Cursor
parent f297d9b6ca
commit 08f93d1db7
+40 -2
View File
@@ -167,6 +167,8 @@ function parsePearcordDeepLink (url) {
const openEffectivePermissionJson = parseOpenEffectivePermissionJsonQuery(m[3] || '')
const openInviteLinkJson = parseOpenInviteLinkJsonQuery(m[3] || '')
const openRoleOverrideJson = parseOpenRoleOverrideJsonQuery(m[3] || '')
const openOAuthGrantJson = parseOpenOAuthGrantJsonQuery(m[3] || '')
const openOAuthInstallTokenJson = parseOpenOAuthInstallTokenJsonQuery(m[3] || '')
return {
kind: 'guild-channel',
guildId: m[1],
@@ -219,7 +221,9 @@ function parsePearcordDeepLink (url) {
openVanityUrlJson,
openEffectivePermissionJson,
openInviteLinkJson,
openRoleOverrideJson
openRoleOverrideJson,
openOAuthGrantJson,
openOAuthInstallTokenJson
}
}
m = GUILD_ONLY.exec(s)
@@ -847,6 +851,38 @@ function parseOpenRoleOverrideJsonQuery (search) {
return false
}
function parseOpenOAuthGrantJsonQuery (search) {
const q = String(search || '').replace(/^\?/, '')
for (const part of q.split('&')) {
const [k, v] = part.split('=')
if (
k === 'oauth-grant-json' ||
k === 'oauth-grant-export-json' ||
k === 'oauthGrantJson' ||
k === 'oauth-json'
) {
return !v || v === '1' || v === 'true'
}
}
return false
}
function parseOpenOAuthInstallTokenJsonQuery (search) {
const q = String(search || '').replace(/^\?/, '')
for (const part of q.split('&')) {
const [k, v] = part.split('=')
if (
k === 'oauth-install-token-json' ||
k === 'oauth-install-token-export-json' ||
k === 'oauthInstallTokenJson' ||
k === 'oauth-install-json'
) {
return !v || v === '1' || v === 'true'
}
}
return false
}
function parseOpenActivityJsonQuery (search) {
const q = filterDeepLinkQuery('guild-channel', String(search || '').replace(/^\?/, ''))
for (const part of q.split('&')) {
@@ -1082,5 +1118,7 @@ module.exports = {
parseOpenVanityUrlJsonQuery,
parseOpenEffectivePermissionJsonQuery,
parseOpenInviteLinkJsonQuery,
parseOpenRoleOverrideJsonQuery
parseOpenRoleOverrideJsonQuery,
parseOpenOAuthGrantJsonQuery,
parseOpenOAuthInstallTokenJsonQuery
}