SYMBOL INDEX (88 symbols across 27 files) FILE: app.d.ts type UserSession (line 2) | interface UserSession { FILE: app/router.options.ts function findHashPosition (line 3) | function findHashPosition(hash): { el: any, behavior: ScrollBehavior, to... method scrollBehavior (line 19) | scrollBehavior(to, from, savedPosition) { FILE: composables/auth.ts function useAuthenticatedUser (line 4) | function useAuthenticatedUser() { function createSessionReloader (line 15) | function createSessionReloader() { function createLogoutHandler (line 23) | function createLogoutHandler() { FILE: composables/fetch.ts function fetchSite (line 5) | async function fetchSite(site: GoogleSearchConsoleSite, isMock?: boolean) { function fetchSites (line 49) | async function fetchSites() { FILE: composables/formatting.ts function useHumanFriendlyNumber (line 7) | function useHumanFriendlyNumber(number: MaybeRef) { function useFriendlySiteUrl (line 19) | function useFriendlySiteUrl(url: MaybeRef) { function useTimeAgo (line 31) | function useTimeAgo(date: MaybeRef, absAgo?: boolean): string { function useTimeHoursAgo (line 48) | function useTimeHoursAgo(date: MaybeRef) { FILE: composables/loader.ts function callFnSyncToggleRef (line 3) | async function callFnSyncToggleRef (Promise | any))>( function callFnDelayedResolve (line 14) | async function callFnDelayedResolve (Promise | any... FILE: server/api/github/repo.get.ts type GitHubRepo (line 4) | interface GitHubRepo { FILE: server/api/sites/[siteUrl].get.ts method shouldInvalidateCache (line 16) | shouldInvalidateCache(_, force?: boolean) { method getKey (line 19) | getKey({ user }: NitroAuthData, siteUrl: string) { FILE: server/composables/auth.ts function getHashSecure (line 6) | function getHashSecure(input: any) { function getAuthenticatedData (line 12) | async function getAuthenticatedData(event: H3Event): Promise = T | T[] type RobotsGroupInput (line 9) | type RobotsGroupInput = GoogleInput | YandexInput type GoogleInput (line 11) | interface GoogleInput { type YandexInput (line 18) | interface YandexInput extends GoogleInput { type RobotsGroupResolved (line 22) | interface RobotsGroupResolved { function parseRobotsTxt (line 45) | function parseRobotsTxt(s: string): ParsedRobotsTxt { function asArray (line 117) | function asArray(v: any) { function indexableFromGroup (line 121) | function indexableFromGroup(groups: RobotsGroupInput[], path: string) { function generateRobotsTxt (line 140) | function generateRobotsTxt({ groups, sitemaps }: { groups: RobotsGroupRe... FILE: server/utils/crypto.ts function encryptToken (line 4) | function encryptToken(token: string, secretKey: string): string { function decryptToken (line 21) | function decryptToken(encryptedToken: string, secretKey: string): string { FILE: server/utils/date.ts function datePST (line 2) | function datePST() { FILE: server/utils/formatting.ts function normalizeSiteUrl (line 3) | function normalizeSiteUrl(siteUrl: string) { function percentDifference (line 7) | function percentDifference(a?: number, b?: number) { FILE: server/utils/oauthPool.ts function createOAuthPool (line 11) | function createOAuthPool() { FILE: server/utils/quota.ts function getUserQuotaUsage (line 4) | async function getUserQuotaUsage(userId: string, key: keyof UserQuota) { function incrementUserQuota (line 9) | async function incrementUserQuota(userId: string, key: keyof UserQuota) { function getUserQuota (line 16) | async function getUserQuota(userId: string) { FILE: server/utils/session.ts function mergeUserSessionData (line 7) | async function mergeUserSessionData(event: H3Event, data: Partial(userId:... function userSiteAppStorage (line 28) | function userSiteAppStorage(use... function updateUser (line 40) | async function updateUser(userId: string, value: Partial) { function getUser (line 46) | function getUser(userId: string) { function getUserSite (line 50) | async function getUserSite(userId: string, siteUrl: string) { function updateUserSite (line 73) | async function updateUserSite(userId: string, siteUrl: string, payload: ... function clearUserStorage (line 78) | async function clearUserStorage(userId: string) { function updateUserToken (line 84) | async function updateUserToken(userId: string, key: 'indexing' | 'login'... function getUserToken (line 90) | async function getUserToken(userId: string, key: 'indexing' | 'login') { function deleteUserToken (line 97) | function deleteUserToken(userId: string, key: 'indexing' | 'login') { function incrementMetric (line 101) | async function incrementMetric(key: string) { function getMetric (line 108) | async function getMetric(key: string) { FILE: types/auth.ts type NitroAuthData (line 4) | interface NitroAuthData { type UserOAuthToken (line 9) | type UserOAuthToken = RequiredNonNullable type TokenPayload (line 11) | interface TokenPayload { type OAuthPoolPayload (line 17) | interface OAuthPoolPayload { type OAuthPoolToken (line 22) | interface OAuthPoolToken { type UserQuota (line 29) | interface UserQuota { type User (line 33) | interface User { type UserSession (line 47) | interface UserSession { FILE: types/data.ts type IndexedUrl (line 5) | interface IndexedUrl extends RequiredNonNullable = Exclude type RequiredNonNullable (line 3) | type RequiredNonNullable = Required>