@ngn-net/giftcard-shared
Version:
Shared library for gifts score microservices
61 lines (60 loc) • 1.63 kB
TypeScript
import { RPCResponse, UserDto } from "../interfaces";
interface RabbitAddress<Keys extends Record<string, {
dto?: any;
message?: any;
}>> {
exchange: string;
type: "topic" | "direct" | "fanout";
routingkeys: {
[K in keyof Keys]: {
key: string;
dto?: Keys[K]["dto"];
message?: Keys[K]["message"];
};
};
}
type AuthRoutingKeys = {
default: {};
syncUsers: {
dto: {
timestamp?: number;
};
message: RPCResponse<UserDto[]>;
};
getToken: {};
revokeToken: {};
revokeUser: {};
checkCredentials: {};
getTwofa: {};
};
export declare const AuthenticationRabbitAPI: RabbitAddress<AuthRoutingKeys>;
export interface GetEwanoIdDto {
userId: string;
}
export interface EwanoGetIdResponse {
token: string;
userId: string;
telnum: string;
}
export interface IRevokeToken {
jti: string;
}
export interface IRevokeUser {
userid: string;
ttl: number;
}
export declare class UserService {
private readonly rabbit;
getUserProfile(userId: string): Promise<RPCResponse<EwanoGetIdResponse>>;
syncUsers(timestamp: number): Promise<RPCResponse<UserDto[]>>;
revokeToken(jti: string): Promise<void>;
revokeUser(userid: string, ttl: number): Promise<void>;
check2faCredentials(userid: string, passwd?: string, token?: string): Promise<RPCResponse<{
valid: boolean;
}>>;
getUserTwofa(userid: string): Promise<RPCResponse<{
isActive: boolean;
}>>;
}
export declare const UserRabbitModule: import("@nestjs/common").DynamicModule;
export {};