@forlabs/api-bridge
Advanced tools
Comparing version 13.0.10 to 13.1.0
import { Entity } from '@decahedron/entity'; | ||
export declare type EntityId = number | string; | ||
export declare const buildOne: <Entity_1 extends AbstractEntity>(typeOrTypeArray: EntityConstructorInterface<Entity_1> | Record<string, EntityConstructorInterface<Entity_1>>, sourceData: object) => any; | ||
export declare abstract class AbstractEntity extends Entity { | ||
export declare const buildOne: <Entity_1 extends EntityInterface>(typeOrTypeArray: EntityConstructorInterface<Entity_1> | Record<string, EntityConstructorInterface<Entity_1>>, sourceData: object) => any; | ||
export interface EntityInterface extends Entity { | ||
id: EntityId | null; | ||
} | ||
export declare type EntityInterfaceStatic = { | ||
new (): EntityInterface; | ||
getIdFromUri(entityUri: string): string; | ||
getEntityName(): string; | ||
getBaseUri(): string; | ||
getUriById(id: number | string): string; | ||
}; | ||
export declare class AbstractEntity extends Entity { | ||
id: EntityId | null; | ||
static getIdFromUri(entityUri: string): string; | ||
@@ -12,15 +22,15 @@ /** Abstract */ | ||
/** | ||
* Parse a generic object into an entity object. | ||
* Convert JSON data to an Entity instance. | ||
*/ | ||
protected static jsonParse2<GenericEntity extends AbstractEntity>(sourceObject: GenericEntity, jsonObject: Record<string, unknown>): GenericEntity; | ||
fromJson(jsonData: Record<string, unknown>): EntityInterface; | ||
/** | ||
* Parse a generic object into an entity object. | ||
*/ | ||
protected static normalizeJsonData<GenericEntity extends AbstractEntity>(parsedObject: GenericEntity): GenericEntity; | ||
protected static jsonParse2<GenericEntity extends EntityInterface>(sourceObject: GenericEntity, jsonObject: Record<string, unknown>): GenericEntity; | ||
/** | ||
* Convert JSON data to an Entity instance. | ||
* Parse a generic object into an entity object. | ||
*/ | ||
fromJson(jsonData: Record<string, unknown>): AbstractEntity; | ||
protected static normalizeJsonData<GenericEntity extends EntityInterface>(parsedObject: GenericEntity): GenericEntity; | ||
} | ||
export interface EntityConstructorInterface<GenericEntity extends AbstractEntity> { | ||
export interface EntityConstructorInterface<GenericEntity extends EntityInterface> { | ||
new (...args: any[]): GenericEntity; | ||
@@ -27,0 +37,0 @@ getIdFromUri(entityUri: string): string; |
import { Type } from '@angular/core'; | ||
import { AbstractEntity, EntityConstructorInterface } from './abstract-entity.model'; | ||
export declare type TypeArrayArgument = Record<string, EntityConstructorInterface<AbstractEntity>>; | ||
import { EntityInterface, EntityConstructorInterface } from './abstract-entity.model'; | ||
export declare type TypeArrayArgument = Record<string, EntityConstructorInterface<EntityInterface>>; | ||
export declare class TypeArrayMetadata { | ||
@@ -5,0 +5,0 @@ target: Type<any>; |
import { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http'; | ||
import { Observable } from 'rxjs'; | ||
import { AbstractEntity, EntityConstructorInterface, PartiallySerialized } from '../abstract-entity/abstract-entity.model'; | ||
import { AbstractUser } from '../abstract-entity/abstract-user.model'; | ||
import { EntityInterface, EntityConstructorInterface, PartiallySerialized } from '../abstract-entity/abstract-entity.model'; | ||
import { InjectionToken } from '@angular/core'; | ||
import { UserInterface } from '../abstract-entity/user.model'; | ||
export declare class InterceptorHttpParams extends HttpParams { | ||
@@ -34,7 +34,7 @@ interceptorConfig: { | ||
export interface ApiClientInterface { | ||
getEntityCollection<T extends AbstractEntity>(entityConstructor: EntityConstructorInterface<T>, relativeUri?: string): Observable<T[]>; | ||
getEntity<T extends AbstractEntity>(entityConstructor: EntityConstructorInterface<T>, id: string | number, relativeUri?: string): any; | ||
putEntity<T extends AbstractEntity>(entityConstructor: EntityConstructorInterface<T>, data: unknown, id?: string | number, relativeUri?: string): Observable<T>; | ||
postEntity<T extends AbstractEntity>(entityConstructor: EntityConstructorInterface<T>, data: unknown, id: string | number, relativeUri?: string): Observable<T>; | ||
deleteEntity<T extends AbstractEntity>(entityConstructor: EntityConstructorInterface<T>, id: string | number, relativeUri?: string): Observable<T>; | ||
getEntityCollection<T extends EntityInterface>(entityConstructor: EntityConstructorInterface<T>, relativeUri?: string): Observable<T[]>; | ||
getEntity<T extends EntityInterface>(entityConstructor: EntityConstructorInterface<T>, id: string | number, relativeUri?: string): any; | ||
putEntity<T extends EntityInterface>(entityConstructor: EntityConstructorInterface<T>, data: unknown, id?: string | number, relativeUri?: string): Observable<T>; | ||
postEntity<T extends EntityInterface>(entityConstructor: EntityConstructorInterface<T>, data: unknown, id: string | number, relativeUri?: string): Observable<T>; | ||
deleteEntity<T extends EntityInterface>(entityConstructor: EntityConstructorInterface<T>, id: string | number, relativeUri?: string): Observable<T>; | ||
get<T>(relativeUri: string, options?: HttpClientOptions): Observable<T>; | ||
@@ -45,3 +45,3 @@ post<T>(relativeUri: string, body: any | null, options?: HttpClientOptions): Observable<T>; | ||
patch<T>(relativeUri: string, body: Record<string, unknown> | null, options?: HttpClientOptions, patchedFields?: string[]): Observable<T>; | ||
getCurrentUser(): Observable<AbstractUser>; | ||
getCurrentUser(): Observable<UserInterface>; | ||
} | ||
@@ -53,9 +53,9 @@ export declare abstract class AbstractApiClient { | ||
private static checkOptions; | ||
getEntityCollection<T extends AbstractEntity>(entityConstructor: EntityConstructorInterface<T>, relativeUri?: string): Observable<T[]>; | ||
getParentEntityCollection<T extends AbstractEntity>(entityConstructor: EntityConstructorInterface<T>, childEntityConstructors: Record<string, EntityConstructorInterface<T>>, relativeUri?: string): Observable<T[]>; | ||
getEntity<T extends AbstractEntity>(entityConstructor: EntityConstructorInterface<T>, id: string | number, relativeUri?: string): Observable<T>; | ||
getParentEntity<T extends AbstractEntity>(entityConstructor: EntityConstructorInterface<T>, childEntityConstructors: Record<string, EntityConstructorInterface<T>>, id: string | number, relativeUri?: string): Observable<T>; | ||
putEntity<T extends AbstractEntity>(entityConstructor: EntityConstructorInterface<T>, data: PartiallySerialized<T>, id?: string | number, relativeUri?: string): Observable<T>; | ||
postEntity<T extends AbstractEntity>(entityConstructor: EntityConstructorInterface<T>, data: PartiallySerialized<T>, relativeUri?: string): Observable<T>; | ||
deleteEntity<T extends AbstractEntity>(entityConstructor: EntityConstructorInterface<T>, id: string | number, relativeUri?: string): Observable<T>; | ||
getEntityCollection<T extends EntityInterface>(entityConstructor: EntityConstructorInterface<T>, relativeUri?: string): Observable<T[]>; | ||
getParentEntityCollection<T extends EntityInterface>(entityConstructor: EntityConstructorInterface<T>, childEntityConstructors: Record<string, EntityConstructorInterface<T>>, relativeUri?: string): Observable<T[]>; | ||
getEntity<T extends EntityInterface>(entityConstructor: EntityConstructorInterface<T>, id: string | number, relativeUri?: string): Observable<T>; | ||
getParentEntity<T extends EntityInterface>(entityConstructor: EntityConstructorInterface<T>, childEntityConstructors: Record<string, EntityConstructorInterface<T>>, id: string | number, relativeUri?: string): Observable<T>; | ||
putEntity<T extends EntityInterface>(entityConstructor: EntityConstructorInterface<T>, data: PartiallySerialized<T>, id?: string | number, relativeUri?: string): Observable<T>; | ||
postEntity<T extends EntityInterface>(entityConstructor: EntityConstructorInterface<T>, data: PartiallySerialized<T>, relativeUri?: string): Observable<T>; | ||
deleteEntity<T extends EntityInterface>(entityConstructor: EntityConstructorInterface<T>, id: string | number, relativeUri?: string): Observable<T>; | ||
get<T>(relativeUri: string, options?: HttpClientOptions): Observable<T>; | ||
@@ -67,5 +67,5 @@ post<T>(relativeUri: string, body: any | null, options?: HttpClientOptions): Observable<T>; | ||
abstract getApiUrl(): string; | ||
abstract getCurrentUser(): Observable<AbstractUser>; | ||
abstract getCurrentUser(): Observable<UserInterface>; | ||
} | ||
export declare const API_CLIENT: InjectionToken<ApiClientInterface>; | ||
export {}; |
import { BehaviorSubject, Observable } from 'rxjs'; | ||
import { AbstractUser } from '../abstract-entity/abstract-user.model'; | ||
import { UserInterface } from '../abstract-entity/user.model'; | ||
import { ApiClientInterface } from '../api-client/abstract.api.client'; | ||
@@ -7,3 +7,3 @@ import { AbstractEntitydataService } from '../data-services/abstract.entitydata.service'; | ||
import { InjectionToken, Injector } from '@angular/core'; | ||
export interface CurrentUserServiceInterface<GenericUser extends AbstractUser> { | ||
export interface CurrentUserServiceInterface<GenericUser extends UserInterface = UserInterface> { | ||
loadCurrentUser(forceRefresh: boolean): Observable<GenericUser | null>; | ||
@@ -15,7 +15,7 @@ getCurrentUser(): Observable<GenericUser | null>; | ||
logout(): Observable<void>; | ||
getRoles(): Observable<string[]>; | ||
isGranted(role: string): Observable<boolean>; | ||
getCurrentUserRoles$(): Observable<string[]>; | ||
isGranted$(role: string): Observable<boolean>; | ||
onInvalidCredential(message: Record<string, any>): Observable<void>; | ||
} | ||
export declare abstract class AbstractCurrentUserService<GenericUser extends AbstractUser> extends AbstractEntitydataService<GenericUser> { | ||
export declare abstract class AbstractCurrentUserService<GenericUser extends UserInterface> extends AbstractEntitydataService<GenericUser> implements CurrentUserServiceInterface<GenericUser> { | ||
protected tokenService: TokenService; | ||
@@ -28,3 +28,3 @@ protected injector: Injector; | ||
protected apiClient: ApiClientInterface; | ||
constructor(tokenService: TokenService, injector: Injector); | ||
protected constructor(tokenService: TokenService, injector: Injector); | ||
abstract onInvalidCredential(error: Record<string, any>): Observable<void>; | ||
@@ -40,6 +40,5 @@ loadCurrentUser(forceRefresh?: boolean): Observable<GenericUser | null>; | ||
logout(): Observable<void>; | ||
patch(guest: GenericUser, patchedFields?: string[]): void; | ||
getRolesCurrentUser(): Observable<string[]>; | ||
isGranted(role: string): Observable<boolean>; | ||
getCurrentUserRoles$(): Observable<string[]>; | ||
isGranted$(role: string): Observable<boolean>; | ||
} | ||
export declare const CURRENT_USER_SERVICE: InjectionToken<CurrentUserServiceInterface<AbstractUser>>; | ||
export declare const CURRENT_USER_SERVICE: InjectionToken<CurrentUserServiceInterface<UserInterface>>; |
import { Observable } from 'rxjs'; | ||
import { AbstractEntity } from '../abstract-entity/abstract-entity.model'; | ||
import { EntityInterface } from '../abstract-entity/abstract-entity.model'; | ||
import { AbstractDataService } from './abstract.data.service'; | ||
export declare abstract class AbstractEntitydataService<GenericEntity extends AbstractEntity> extends AbstractDataService<GenericEntity> { | ||
export declare abstract class AbstractEntitydataService<GenericEntity extends EntityInterface = any> extends AbstractDataService<GenericEntity> { | ||
loadAll(params?: string | null, forceRefresh?: boolean): Observable<GenericEntity[]>; | ||
@@ -6,0 +6,0 @@ load(id: number | string, forceRefresh?: boolean): Observable<GenericEntity>; |
import { HttpErrorResponse, HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http'; | ||
import { Injector } from '@angular/core'; | ||
import { Observable, Subject } from 'rxjs'; | ||
import { Injector } from '@angular/core'; | ||
import { CurrentUserServiceInterface } from '../current-user/abstract-current-user.service'; | ||
import { AbstractUser } from '../abstract-entity/abstract-user.model'; | ||
import { ErrorEventsService } from '../error-events/error-events.service'; | ||
@@ -14,3 +13,3 @@ import { HeadersService } from './headers.service'; | ||
protected refreshSubject: Subject<boolean>; | ||
protected get currentUserService(): CurrentUserServiceInterface<AbstractUser>; | ||
protected get currentUserService(): CurrentUserServiceInterface; | ||
private _currentUserService; | ||
@@ -17,0 +16,0 @@ constructor(injector: Injector, errorEventsService: ErrorEventsService, headersService: HeadersService); |
{ | ||
"name": "@forlabs/api-bridge", | ||
"version": "13.0.10", | ||
"version": "13.1.0", | ||
"license": "MIT", | ||
@@ -5,0 +5,0 @@ "peerDependencies": { |
export * from './lib/abstract-entity/abstract-entity.model'; | ||
export * from './lib/abstract-entity/abstract-user.model'; | ||
export * from './lib/abstract-entity/normalizer.decorator'; | ||
export * from './lib/abstract-entity/user.model'; | ||
export * from './lib/current-user/abstract-current-user.service'; | ||
@@ -5,0 +5,0 @@ export * from './lib/current-user/token.service'; |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
42
407530
2889