import { InjectionToken } from '@angular/core'; import { DestinationType } from '../models'; /** * API Routing Configuration * ============================================================================= */ export interface RouteConfig { account: { authenticate: string; memberships: string; username: string; }; organisation: { settings: string; }; team: { activities: { index: string; show(id: number): string; }; attendances: { index: string; show(id: number): string; update(id: number): string; destroy(id: number): string; }; brands: { image(id: number): string; }; categories: { index: string; show(id: number): string; update(id: number): string; destroy(id: number): string; }; duties: { index: string; show(id: number): string; update(id: number): string; destroy(id: number): string; }; equipment: { index: string; show(id: number): string; barcode(barcode: string): string; move(id: number, destinationType: DestinationType, destinationId: number): string; ref(ref: string): string; update(id: number): string; image(id: number): string; }; groups: { index: string; show(id: number): string; }; inspections: { index: string; show(id: number): string; update(id: number): string; }; kinds: { index: string; show(id: number): string; update(id: number): string; destroy(id: number): string; }; locations: { index: string; show(id: number): string; destroy(id: number): string; }; members: { index: string; labels: string; emergency(id: number | 'me'): string; groups(id: number | 'me'): string; image(id: number | 'me'): string; show(id: number | 'me'): string; update(id: number | 'me'): string; }; models: { image(id: number): string; }; notes: { index: string; show(id: number): string; update(id: number): string; destroy(id: number): string; }; repairs: { index: string; show(id: number): string; update(id: number): string; }; results: { index: string; show(id: number): string; update(id: number): string; }; roles: { index: string; show(id: number): string; }; suppliers: { image(id: number): string; }; image: string; search: string; settings: string; show: string; }; } export declare const routes: RouteConfig; export declare const API_ROUTES: InjectionToken; /** * API Authenticated Routes and Authorization * ============================================================================= * The D4H V2 API is protected by one of three kinds of token, one for account * resources, one for team resources and one for organisation resources. * * The easiest approach to authentication is to just declare a route match and * kind of token it requires. * * @example * * const memberships: AuthenticatedRoute = { * match: /^\/account\/memberships/, * token: TokenType.Account * }; * * const members: AuthenticatedRoute = { * match: /^\/team\/members/, * token: TokenType.Team * }; */ export declare enum TokenType { Account = "account", Organisation = "organisation", Team = "team" } export interface AuthenticatedRoute { match: RegExp; token: TokenType; } export declare const API_AUTHENTICATED_ROUTES: InjectionToken; export declare const authenticatedRoutes: Array;