Add interface for hjarntorget and skkolplattformen

This commit is contained in:
Emil Lindqvist 2021-10-11 09:57:22 +02:00
parent 85ffe3e40d
commit 52c4c03665
4 changed files with 7 additions and 5 deletions

View File

@ -21,7 +21,7 @@ describe('api', () => {
fetch = jest.fn().mockResolvedValue(response)
response.text.mockResolvedValue('<html></html>')
CookieManager.clearAll()
api = init(fetch, CookieManager)
api = init(fetch, CookieManager) as ApiSkolplattformen
})
describe('#login', () => {
it('exposes token', async () => {

View File

@ -4,6 +4,7 @@ import { decode } from 'he'
import * as html from 'node-html-parser'
import { Language } from '@skolplattformen/curriculum/dist/translations'
import { URLSearchParams } from './URLSearchParams'
import { Api } from '../../api/lib/api'
import { LoginStatusChecker } from '../../api/lib/loginStatus'
import {
AuthTicket,
@ -48,7 +49,7 @@ interface SSOSystems {
[name: string]: boolean | undefined
}
export class ApiSkolplattformen extends EventEmitter {
export class ApiSkolplattformen extends EventEmitter implements Api {
private fetch: Fetcher
private personalNumber?: string

View File

@ -1,4 +1,5 @@
import { ApiSkolplattformen } from './api'
import { Api } from '../../api/lib/api'
import { FetcherOptions } from '../../api/lib/fetcher'
import { Fetch } from '../../api/lib/types'
import {
@ -8,7 +9,7 @@ import {
wrapToughCookie,
} from '../../api/lib/cookies'
export { ApiSkolplattformen as Api, FetcherOptions }
export { Api, FetcherOptions }
export * from '../../api/lib/types'
export { LoginStatusChecker } from '../../api/lib/loginStatus'
@ -16,7 +17,7 @@ const init = (
fetch: Fetch,
cookieManagerImpl: RNCookieManager | ToughCookieJar,
options?: FetcherOptions
): ApiSkolplattformen => {
): Api => {
// prettier-ignore
const cookieManager = ((cookieManagerImpl as RNCookieManager).get)
? wrapReactNativeCookieManager(cookieManagerImpl as RNCookieManager)

View File

@ -11,7 +11,7 @@ import {
Skola24Child,
EtjanstChild,
TimetableEntry,
ScheduleItem
ScheduleItem,
} from './types'
export interface Api {