UNPKG

@ng-supabase/core

Version:

ng-supabase is a component library and helper utilities for integrating Supabase in your angular application.

28 lines 4.82 kB
// Angular. import { inject } from '@angular/core'; import { Router, } from '@angular/router'; import { RouteService } from '../route.service'; import { SupabaseConfig } from '../supabase-config'; import { LogService } from '../logging/log.service'; import { SupabaseService } from '../supabase.service'; export const IsSignedIn = async (route, state) => { const log = inject(LogService); const supabase = inject(SupabaseService); const router = inject(Router); const config = inject(SupabaseConfig); const routeService = inject(RouteService); await supabase.clientReady; const signedIn = supabase.isSignedIn; if (!signedIn) { const queryParams = {}; if (config.redirectParamName) { const redirect = routeService.constructAbsoluteUrl(state.url); queryParams[config.redirectParamName] = redirect; } log.info(`User cannot access route '${state.url}', redirecting to sign in page`); return router.createUrlTree([config.routes.signIn], { queryParams }); } log.debug(`Activating route '${state.url}' for 'IsSignedIn' guard`); return supabase.isSignedIn; }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtc2lnbmVkLWluLmd1YXJkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvYXV0aC1ndWFyZC9pcy1zaWduZWQtaW4uZ3VhcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsV0FBVztBQUNYLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUNMLE1BQU0sR0FJUCxNQUFNLGlCQUFpQixDQUFDO0FBSXpCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDcEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3BELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV0RCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQWtCLEtBQUssRUFDNUMsS0FBNkIsRUFDN0IsS0FBMEIsRUFDMUIsRUFBRTtJQUNGLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUMvQixNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDekMsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzlCLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN0QyxNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7SUFFMUMsTUFBTSxRQUFRLENBQUMsV0FBVyxDQUFDO0lBQzNCLE1BQU0sUUFBUSxHQUFHLFFBQVEsQ0FBQyxVQUFVLENBQUM7SUFFckMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2QsTUFBTSxXQUFXLEdBQWEsRUFBRSxDQUFDO1FBRWpDLElBQUksTUFBTSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDN0IsTUFBTSxRQUFRLEdBQUcsWUFBWSxDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUM5RCxXQUFXLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsUUFBUSxDQUFDO1FBQ25ELENBQUM7UUFFRCxHQUFHLENBQUMsSUFBSSxDQUNOLDZCQUE2QixLQUFLLENBQUMsR0FBRyxnQ0FBZ0MsQ0FDdkUsQ0FBQztRQUVGLE9BQU8sTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFFRCxHQUFHLENBQUMsS0FBSyxDQUFDLHFCQUFxQixLQUFLLENBQUMsR0FBRywwQkFBMEIsQ0FBQyxDQUFDO0lBQ3BFLE9BQU8sUUFBUSxDQUFDLFVBQVUsQ0FBQztBQUM3QixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBbmd1bGFyLlxuaW1wb3J0IHsgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBSb3V0ZXIsXG4gIENhbkFjdGl2YXRlRm4sXG4gIFJvdXRlclN0YXRlU25hcHNob3QsXG4gIEFjdGl2YXRlZFJvdXRlU25hcHNob3QsXG59IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbi8vIExvY2FsLlxuaW1wb3J0IHsgS2V5VmFsdWUgfSBmcm9tICcuLi9rZXktdmFsdWUnO1xuaW1wb3J0IHsgUm91dGVTZXJ2aWNlIH0gZnJvbSAnLi4vcm91dGUuc2VydmljZSc7XG5pbXBvcnQgeyBTdXBhYmFzZUNvbmZpZyB9IGZyb20gJy4uL3N1cGFiYXNlLWNvbmZpZyc7XG5pbXBvcnQgeyBMb2dTZXJ2aWNlIH0gZnJvbSAnLi4vbG9nZ2luZy9sb2cuc2VydmljZSc7XG5pbXBvcnQgeyBTdXBhYmFzZVNlcnZpY2UgfSBmcm9tICcuLi9zdXBhYmFzZS5zZXJ2aWNlJztcblxuZXhwb3J0IGNvbnN0IElzU2lnbmVkSW46IENhbkFjdGl2YXRlRm4gPSBhc3luYyAoXG4gIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LFxuICBzdGF0ZTogUm91dGVyU3RhdGVTbmFwc2hvdFxuKSA9PiB7XG4gIGNvbnN0IGxvZyA9IGluamVjdChMb2dTZXJ2aWNlKTtcbiAgY29uc3Qgc3VwYWJhc2UgPSBpbmplY3QoU3VwYWJhc2VTZXJ2aWNlKTtcbiAgY29uc3Qgcm91dGVyID0gaW5qZWN0KFJvdXRlcik7XG4gIGNvbnN0IGNvbmZpZyA9IGluamVjdChTdXBhYmFzZUNvbmZpZyk7XG4gIGNvbnN0IHJvdXRlU2VydmljZSA9IGluamVjdChSb3V0ZVNlcnZpY2UpO1xuXG4gIGF3YWl0IHN1cGFiYXNlLmNsaWVudFJlYWR5O1xuICBjb25zdCBzaWduZWRJbiA9IHN1cGFiYXNlLmlzU2lnbmVkSW47XG5cbiAgaWYgKCFzaWduZWRJbikge1xuICAgIGNvbnN0IHF1ZXJ5UGFyYW1zOiBLZXlWYWx1ZSA9IHt9O1xuXG4gICAgaWYgKGNvbmZpZy5yZWRpcmVjdFBhcmFtTmFtZSkge1xuICAgICAgY29uc3QgcmVkaXJlY3QgPSByb3V0ZVNlcnZpY2UuY29uc3RydWN0QWJzb2x1dGVVcmwoc3RhdGUudXJsKTtcbiAgICAgIHF1ZXJ5UGFyYW1zW2NvbmZpZy5yZWRpcmVjdFBhcmFtTmFtZV0gPSByZWRpcmVjdDtcbiAgICB9XG5cbiAgICBsb2cuaW5mbyhcbiAgICAgIGBVc2VyIGNhbm5vdCBhY2Nlc3Mgcm91dGUgJyR7c3RhdGUudXJsfScsIHJlZGlyZWN0aW5nIHRvIHNpZ24gaW4gcGFnZWBcbiAgICApO1xuXG4gICAgcmV0dXJuIHJvdXRlci5jcmVhdGVVcmxUcmVlKFtjb25maWcucm91dGVzLnNpZ25Jbl0sIHsgcXVlcnlQYXJhbXMgfSk7XG4gIH1cblxuICBsb2cuZGVidWcoYEFjdGl2YXRpbmcgcm91dGUgJyR7c3RhdGUudXJsfScgZm9yICdJc1NpZ25lZEluJyBndWFyZGApO1xuICByZXR1cm4gc3VwYWJhc2UuaXNTaWduZWRJbjtcbn07XG4iXX0=