Rename skolplattfomen api
This commit is contained in:
parent
a9603422c8
commit
aeeab7feb6
|
@ -1,5 +1,5 @@
|
|||
import init from './'
|
||||
import { Api } from './api'
|
||||
import { ApiSkolplattformen } from './api'
|
||||
import { Fetch, Headers, Response } from '../../api/lib/types'
|
||||
import CookieManager from '@react-native-cookies/cookies'
|
||||
|
||||
|
@ -7,7 +7,7 @@ describe('api', () => {
|
|||
let fetch: jest.Mocked<Fetch>
|
||||
let response: jest.Mocked<Response>
|
||||
let headers: jest.Mocked<Headers>
|
||||
let api: Api
|
||||
let api: ApiSkolplattformen
|
||||
beforeEach(() => {
|
||||
headers = { get: jest.fn() }
|
||||
response = {
|
||||
|
|
|
@ -49,7 +49,7 @@ interface SSOSystems {
|
|||
[name: string]: boolean | undefined
|
||||
}
|
||||
|
||||
export class Api extends EventEmitter {
|
||||
export class ApiSkolplattformen extends EventEmitter {
|
||||
private fetch: Fetcher
|
||||
|
||||
private personalNumber?: string
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
import { Api } from './api'
|
||||
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,6 @@ import {
|
|||
wrapToughCookie,
|
||||
} from '../../api/lib/cookies'
|
||||
|
||||
export { Api, FetcherOptions }
|
||||
export * from '../../api/lib/types'
|
||||
export { LoginStatusChecker } from '../../api/lib/loginStatus'
|
||||
|
||||
|
@ -21,7 +21,7 @@ const init = (
|
|||
const cookieManager = ((cookieManagerImpl as RNCookieManager).get)
|
||||
? wrapReactNativeCookieManager(cookieManagerImpl as RNCookieManager)
|
||||
: wrapToughCookie(cookieManagerImpl as ToughCookieJar)
|
||||
return new Api(fetchImpl, cookieManager, options)
|
||||
return new ApiSkolplattformen(fetchImpl, cookieManager, options)
|
||||
}
|
||||
|
||||
export default init
|
||||
|
|
|
@ -0,0 +1,33 @@
|
|||
import { Language } from '@skolplattformen/curriculum/dist/translations'
|
||||
import { DateTime } from 'luxon'
|
||||
import { LoginStatusChecker } from './loginStatus'
|
||||
import {
|
||||
CalendarItem,
|
||||
Classmate,
|
||||
MenuItem,
|
||||
NewsItem,
|
||||
Notification,
|
||||
User,
|
||||
Skola24Child,
|
||||
EtjanstChild,
|
||||
TimetableEntry,
|
||||
ScheduleItem
|
||||
} from './types'
|
||||
|
||||
export interface Api {
|
||||
getPersonalNumber(): string | undefined
|
||||
login(personalNumber?: string): Promise<LoginStatusChecker>
|
||||
setSessionCookie(sessionCookie: string): Promise<void>
|
||||
getUser(): Promise<User>
|
||||
getChildren(): Promise<EtjanstChild[]>
|
||||
getCalendar(child: EtjanstChild): Promise<CalendarItem[]>
|
||||
getClassmates(child: EtjanstChild): Promise<Classmate[]>
|
||||
getNews(child: EtjanstChild): Promise<NewsItem[]>
|
||||
getNewsDetails(child: EtjanstChild, item: NewsItem): Promise<any>
|
||||
getMenu(child: EtjanstChild): Promise<MenuItem[]>
|
||||
getNotifications(child: EtjanstChild): Promise<Notification[]>
|
||||
getSchedule(child: EtjanstChild, from: DateTime, to: DateTime): Promise<ScheduleItem[]>
|
||||
getSkola24Children(): Promise<Skola24Child[]>
|
||||
getTimetable(child: Skola24Child, week: number, year: number, lang: Language): Promise<TimetableEntry[]>
|
||||
logout(): Promise<void>
|
||||
}
|
Loading…
Reference in New Issue