1.0.4 • Published 6 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): stringtoNumber(value: string): NumbertoAtob(value: string): stringtoBtoa(value: string): stringtoJSON(value: string): anytoStringify(value: any): stringtoBase64(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): stringsetItem(key: string, value: any): voidremoveItem(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): voidsetProfile(profile: string): voidsetGroups(groups: Array<Group>): voidsetPermissions(permisions: Array<Permission>): voidgetUser(): UsergetProfile(): stringgetGroups(): Array<Group>getPermissions(): Array<Permission>removeUserSession(): void
Exemplo de uso:
constructor(inject: Injector) {
this.userService = inject.get(UserService);
}TokenService
init(config: TokenConfig): voidcreateToken(): Observable<any>removeToken(): voidrenewToken(): voidrefreshToken(): 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(): UserstorageGetItem(key: string): stringstorageSetItem(key: string, value: string): voidstorageRemoveItem(key: string): voidtoJSON(value: string): anytoNumber(value: string): NumbertoStringify(value: any): stringtoString(value: any): stringtoBase64(file: File): Promise<any>getColorRandomly(): string
Exemplo de uso:
export class AppComponent extends AppComponentBase { }