1.0.4 • Published 5 years ago

insper-base v1.0.4

Weekly downloads
14
License
-
Repository
-
Last release
5 years ago

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 { }