Libs for Fortalicia-cloud
import { Profile, USER_PROFILE } from 'ttalos';
...
@UseGuards(AuthGuard)
@Profile(USER_PROFILE.THOMYRIS, USER_PROFILE.AGENCY, USER_PROFILE.PARTNER)
- Create NestJs decorator
import { CurrentSessionDecorator, UserSession } from 'ttalos';
import { createParamDecorator, ExecutionContext } from '@nestjs/common';
import { TYPES } from '../../../config/injection/type';
import { Configuration } from '../../../config/env/configuration';
import { container } from '../../../config/injection/inversify.config';
export const CurrentSession = createParamDecorator(
async (data: unknown, executionContext: ExecutionContext): Promise<UserSession> => {
const currentSessionDecorator:CurrentSessionDecorator = new CurrentSessionDecorator(container.get<Configuration>(TYPES.config));
return currentSessionDecorator.execute(data, executionContext);
}
);
- Use
async hello(@CurrentSession() session: UserSession): Promise<Boolean> {
return 'hello';
}
import { AuthGuardProfil } from 'ttalos';
import { Reflector } from '@nestjs/core';
import { CanActivate, ExecutionContext, Inject, Injectable } from '@nestjs/common';
import { TYPES } from '../../../../config/injection/type';
import { IsValidUsecase } from '../../../../usecase/auth/isValid.usecase';
@Injectable()
export class AuthGuard implements CanActivate {
constructor(
@Inject(TYPES.IsValidUsecase) private isValidUsecase: IsValidUsecase,
private reflector: Reflector
) {}
async canActivate(executionContext: ExecutionContext): Promise<boolean> {
const authGuardProfil:AuthGuardProfil = new AuthGuardProfil(this.isValidUsecase, this.reflector);
return authGuardProfil.execute(executionContext);
}
}
- Use
@UseGuards(AuthGuard)
@Profile(USER_PROFILE.THOMYRIS, USER_PROFILE.AGENCY, USER_PROFILE.PARTNER)
async hello(@CurrentSession() session: UserSession): Promise<Boolean> {
return 'hello';
}
import { Adresse } from 'ttalos';
...
@Field(() => Adresse)
import { City } from 'ttalos';
...
@Field(() => City)
import { City } from 'ttalos';
...
@Field(() => City)
import { Code } from 'ttalos';
...
@Field(() => Code)
import { CustomId } from 'ttalos';
...
@Field(() => CustomId)
import { Description } from 'ttalos';
...
@Field(() => Description)
import { Mail } from 'ttalos';
...
@Field(() => Mail)
import { Name } from 'ttalos';
...
@Field(() => Name)
import { ObjectName } from 'ttalos';
...
@Field(() => ObjectName)
import { Password } from 'ttalos';
...
@Field(() => Password)
import { SerialNumber } from 'ttalos';
...
@Field(() => SerialNumber)
import { Token } from 'ttalos';
...
@Field(() => Token)
import { IsValidRepositoryModel, IsValidRepositoryDto } from 'ttalos';
...
isValid(dto: IsValidRepositoryDto): Promise<IsValidRepositoryModel>;
import { IsValidUsecaseModel, IsValidUsecaseDto } from 'ttalos';
...
async execute(input: IsValidUsecaseDto): Promise<IsValidUsecaseModel> {
...
}
import { UserSession } from 'ttalos';
...
async (data: unknown, executionContext: ExecutionContext): Promise<UserSession> => {
...
}
import { UserSessionUsecaseDto } from 'ttalos';
...
async execute(session: UserSessionUsecaseDto, input: ...): Promise<...> {
...
}
import { VersionUsecaseModel } from 'ttalos';
...
async execute(): Promise<VersionUsecaseModel> {
...
}
import { NestLogger, Logger } from 'ttalos';
import { name } from '../package.json';
async function bootstrap() {
Logger.defaultMeta.module = name;
Logger.info('Environnement selected: ' + process.env.NODE_ENV);
...
const app = await NestFactory.create(AppModule,{
logger: new NestLogger(),
});
...
Logger.info('Server started on: ' + config.app.port);
}
import { ListMongoMapper } from 'ttalos';
...
const test = ListMongoMapper.fromBaseOptionToMongoFindOption(...);
...
import { ListSqlMapper } from 'ttalos';
...
const test = ListSqlMapper.fromBaseOptionToSqlFindOption(...);
...
import { SessionDecoratorMapper } from 'ttalos';
...
const test = SessionDecoratorMapper.sessionDtoFromJwt(...);
...
import {
OptionBaseDto,
OptionRepositoryDto,
OptionUsecaseDto,
OptionResolverDto,
OptionFilterOperator,
OptionSorterOperator,
} from 'ttalos';
const test = OptionFilterOperator.REGEX;
async list(@Args('input') dto?: OptionResolverDto): Promise<String[]> {
return null;
}
npm publish --access public