@ckstack/ck-lib-ras
Version:
ckstack ras/redis library
65 lines (64 loc) • 3.13 kB
TypeScript
import * as redis from 'redis';
import { CkType, CkValue } from '@ckstack/ck-lib';
declare class CkRas {
private static tidGen;
static validateEventScript(es: CkType.IRasEventScript): boolean;
static genTid(): string;
static getAppId(es: CkType.IRasEventScript): string;
static getTid(es: CkType.IRasEventScript): string;
static getCtime(es: CkType.IRasEventScript): string;
static getEventType(es: CkType.IRasEventScript): string;
/**
* @public
* @desc 유저 데이터를 리턴 한다.
* @return {Object|*} 유저 데이터를 리턴 한다.
* 스크립트 호출하는 로직에서 대부분 object 로 넘기기 때문에 object 취급하면 되지만,
* 스트링을 넘기면 스트링으로 취급 해야 한다.
*/
static getUserData(es: CkType.IRasEventScript): {
data: {
topic: string;
message: any;
};
user_tag: {
app_id: string;
ssid: string;
ip: string;
soc_id: string;
member_srl: string;
};
};
static makeNoAction(debug?: boolean): string;
static makeErrorAction(err: string): string;
static makeActionToMQTT(es: CkType.IRasEventScript, app_id: string, topic: string, event_type: string, user_data: {
mqtt_data: any;
}): string;
static exit(code?: number): void;
static pushFCMQueue(appId: string, fcmTokens: Array<string>, userData: CkType.IRasFCMData, redisNum?: number, reqIpAndLhdAndHttpInfo?: string, lang?: CkValue.SUPPORT_LANG | undefined): Promise<any>;
static redisSendCMD(client: redis.RedisClient, cmd: string, params: Array<any>, reqIpAndLhdAndHttpInfo?: string, lang?: CkValue.SUPPORT_LANG | undefined): Promise<unknown>;
/**
* @public
* @desc fcm 메시지를 발송 한다.
* @param {Object} client redis client
* @param {String} appId 스크립트 아이디
* @param {Array} fcmRids fcm rid 목록
* @param {Object} userData 메시지 데이터
* @param {String | undefined} reqIpAndLhdAndHttpInfo
* @param {String} lang
* @return {Promise} 메시지 발송(redis rpush) 결과를 resolve 한다. 실패하면 에러를 reject 한다.
*/
static sendFCM(client: redis.RedisClient, appId: string, fcmRids: Array<string>, userData: any, reqIpAndLhdAndHttpInfo?: string, lang?: CkValue.SUPPORT_LANG | undefined): Promise<unknown>;
/**
* @public
* @desc apns 메시지를 발송 한다.
* @param {Object} client redis client
* @param {String} appId 스크립트 아이디
* @param {Array} apnsRids apns rid 목록
* @param {Object} userData 메시지 데이터
* @param {String | undefined} reqIpAndLhdAndHttpInfo
* @param {String} lang
* @return {Promise} 메시지 발송(redis rpush) 결과를 resolve 한다. 실패하면 에러를 reject 한다.
*/
static sendAPNS(client: redis.RedisClient, appId: string, apnsRids: Array<string>, userData: any, reqIpAndLhdAndHttpInfo?: string, lang?: CkValue.SUPPORT_LANG | undefined): Promise<unknown>;
}
export default CkRas;