refactor: native feature management (#2350)
This commit is contained in:
6
packages/services/src/Domain/Api/ApiServiceEvent.ts
Normal file
6
packages/services/src/Domain/Api/ApiServiceEvent.ts
Normal file
@@ -0,0 +1,6 @@
|
||||
/* istanbul ignore file */
|
||||
|
||||
export enum ApiServiceEvent {
|
||||
MetaReceived = 'MetaReceived',
|
||||
SessionRefreshed = 'SessionRefreshed',
|
||||
}
|
||||
5
packages/services/src/Domain/Api/ApiServiceEventData.ts
Normal file
5
packages/services/src/Domain/Api/ApiServiceEventData.ts
Normal file
@@ -0,0 +1,5 @@
|
||||
import { Either } from '@standardnotes/common'
|
||||
import { SessionRefreshedData } from './SessionRefreshedData'
|
||||
import { MetaReceivedData } from './MetaReceivedData'
|
||||
|
||||
export type ApiServiceEventData = Either<MetaReceivedData, SessionRefreshedData>
|
||||
@@ -1,26 +1,17 @@
|
||||
import { Either } from '@standardnotes/common'
|
||||
import { FilesApiInterface } from '@standardnotes/files'
|
||||
import { Session } from '@standardnotes/domain-core'
|
||||
import { Role } from '@standardnotes/security'
|
||||
|
||||
import { AbstractService } from '../Service/AbstractService'
|
||||
import { ApiServiceEvent } from './ApiServiceEvent'
|
||||
import { ApiServiceEventData } from './ApiServiceEventData'
|
||||
import { SNFeatureRepo } from '@standardnotes/models'
|
||||
import { ClientDisplayableError, HttpResponse } from '@standardnotes/responses'
|
||||
import { AnyFeatureDescription } from '@standardnotes/features'
|
||||
|
||||
/* istanbul ignore file */
|
||||
export interface ApiServiceInterface extends AbstractService<ApiServiceEvent, ApiServiceEventData>, FilesApiInterface {
|
||||
isThirdPartyHostUsed(): boolean
|
||||
|
||||
export enum ApiServiceEvent {
|
||||
MetaReceived = 'MetaReceived',
|
||||
SessionRefreshed = 'SessionRefreshed',
|
||||
downloadOfflineFeaturesFromRepo(
|
||||
repo: SNFeatureRepo,
|
||||
): Promise<{ features: AnyFeatureDescription[]; roles: string[] } | ClientDisplayableError>
|
||||
|
||||
downloadFeatureUrl(url: string): Promise<HttpResponse>
|
||||
}
|
||||
|
||||
export type MetaReceivedData = {
|
||||
userUuid: string
|
||||
userRoles: Role[]
|
||||
}
|
||||
|
||||
export type SessionRefreshedData = {
|
||||
session: Session
|
||||
}
|
||||
|
||||
export type ApiServiceEventData = Either<MetaReceivedData, SessionRefreshedData>
|
||||
|
||||
export interface ApiServiceInterface extends AbstractService<ApiServiceEvent, ApiServiceEventData>, FilesApiInterface {}
|
||||
|
||||
6
packages/services/src/Domain/Api/MetaReceivedData.ts
Normal file
6
packages/services/src/Domain/Api/MetaReceivedData.ts
Normal file
@@ -0,0 +1,6 @@
|
||||
import { Role } from '@standardnotes/security'
|
||||
|
||||
export type MetaReceivedData = {
|
||||
userUuid: string
|
||||
userRoles: Role[]
|
||||
}
|
||||
5
packages/services/src/Domain/Api/SessionRefreshedData.ts
Normal file
5
packages/services/src/Domain/Api/SessionRefreshedData.ts
Normal file
@@ -0,0 +1,5 @@
|
||||
import { Session } from '@standardnotes/domain-core'
|
||||
|
||||
export type SessionRefreshedData = {
|
||||
session: Session
|
||||
}
|
||||
Reference in New Issue
Block a user