2024-03-07 09:32:16 +03:00
|
|
|
import { readStringSession, StringSessionData } from '@mtcute/core/utils.js'
|
|
|
|
|
|
|
|
import { DC_MAPPING_PROD, DC_MAPPING_TEST } from '../dcs.js'
|
|
|
|
import { parseMtkrutoSession } from './parse.js'
|
|
|
|
import { serializeMtkrutoSession } from './serialize.js'
|
|
|
|
import { MtkrutoSession } from './types.js'
|
|
|
|
|
|
|
|
export function convertFromMtkrutoSession(session: MtkrutoSession | string): StringSessionData {
|
|
|
|
if (typeof session === 'string') {
|
|
|
|
session = parseMtkrutoSession(session)
|
|
|
|
}
|
|
|
|
|
|
|
|
return {
|
|
|
|
version: 3,
|
|
|
|
testMode: session.isTest,
|
|
|
|
primaryDcs: (session.isTest ? DC_MAPPING_TEST : DC_MAPPING_PROD)[session.dcId],
|
|
|
|
authKey: session.authKey,
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
export function convertToMtkrutoSession(session: StringSessionData | string): string {
|
|
|
|
if (typeof session === 'string') {
|
2024-04-14 18:04:53 +03:00
|
|
|
session = readStringSession(session)
|
2024-03-07 09:32:16 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
return serializeMtkrutoSession({
|
|
|
|
dcId: session.primaryDcs.main.id,
|
|
|
|
isTest: session.testMode,
|
|
|
|
authKey: session.authKey,
|
|
|
|
})
|
|
|
|
}
|