1.0.4 • Published 5 years ago
insper-base v1.0.4
Insper Base
Biblioteca para servir de base no desenvolvimento Angular com TypeScript.
Instalando:
npm install insper-base
Importando:
import { ... } from 'insper-base'
Helpers:
- ParseHelper
- StorageHelper
import { ParseHelper, StorageHelper } from 'insper-base'
ParseHelper
toString(value: string): string
toNumber(value: string): Number
toAtob(value: string): string
toBtoa(value: string): string
toJSON(value: string): any
toStringify(value: any): string
toBase64(file: File): Promise<any>
Exemplo de uso:
constructor(inject: Injector) {
this.parse = new ParseHelper();
}
StorageHelper (sessionStorage ou localStorage)
constructor(cacheLocation: string = 'sessionStorage')
getItem(key: string): string
setItem(key: string, value: any): void
removeItem(key: string): void
Obs. Os métodos do StorageHelper, já fazem o tratamento para gravar e recuperar os valores baseando-se no btoa e atob. Dessa forma podemos ter uma maior segurança nos dados salvos no browser.
Exemplo de uso:
constructor(inject: Injector) {
this.storage = new StorageHelper();
}
Models:
- User
- Group
- Permission
- TokenConfig
- TokenResponseModel
- GatewayConfig
import { User, Group, Permission, TokenConfig, TokenResponseModel, GatewayConfig } from 'insper-base'
User
displayName: string;
email: string;
alias: string;
avatar: any;
Group
id: string;
displayName: string;
description: string;
Permission
application: string;
permission: string;
TokenConfig
headers?: HttpHeaders;
body?: string;
gatewayConfig: GatewayConfig;
GatewayConfig
urlHost: string;
clientSecret: string;
clientId: string;
TokenResponseModel
access_token: string;
refresh_token: string;
token_type: string;
expires_in: number;
Services
- UserService
- TokenService
- ColorService
import { UserService, TokenService, ColorService } from 'insper-base'
UserService
setUser(user: User): void
setProfile(profile: string): void
setGroups(groups: Array<Group>): void
setPermissions(permisions: Array<Permission>): void
getUser(): User
getProfile(): string
getGroups(): Array<Group>
getPermissions(): Array<Permission>
removeUserSession(): void
Exemplo de uso:
constructor(inject: Injector) {
this.userService = inject.get(UserService);
}
TokenService
init(config: TokenConfig): void
createToken(): Observable<any>
removeToken(): void
renewToken(): void
refreshToken(): Observable<any>
setToken(token: TokenResponseModel, expiresAt: number = null): void
Exemplo de uso:
constructor(inject: Injector) {
this.tokenService = inject.get(TokenService);
this.tokenConfig = new TokenConfig();
this.tokenConfig.gatewayConfig = new GatewayConfig();
this.tokenConfig.gatewayConfig.clientId = 'clientId';
this.tokenConfig.gatewayConfig.clientSecret = 'clientSecret';
this.tokenConfig.gatewayConfig.urlHost = 'urlHost';
this.tokenService.init(this.tokenConfig);
}
ColorService
getColorRandomly(): string
Exemplo de uso:
constructor(inject: Injector) {
this.colorService = inject.get(ColorService);
var color = this.colorService.getColorRandomly();
}
Components:
- AppComponentBase (Podemos herdar esse componente para servir de base)
import { AppComponentBase } from 'insper-base'
AppComponentBase
constructor(inject: Injector)
getUser(): User
storageGetItem(key: string): string
storageSetItem(key: string, value: string): void
storageRemoveItem(key: string): void
toJSON(value: string): any
toNumber(value: string): Number
toStringify(value: any): string
toString(value: any): string
toBase64(file: File): Promise<any>
getColorRandomly(): string
Exemplo de uso:
export class AppComponent extends AppComponentBase { }