refactor: native feature management (#2350)

This commit is contained in:
Mo
2023-07-12 12:56:08 -05:00
committed by GitHub
parent 49f7581cd8
commit 078ef3772c
223 changed files with 3996 additions and 3438 deletions

View File

@@ -0,0 +1,6 @@
/* istanbul ignore file */
export enum ApiServiceEvent {
MetaReceived = 'MetaReceived',
SessionRefreshed = 'SessionRefreshed',
}

View File

@@ -0,0 +1,5 @@
import { Either } from '@standardnotes/common'
import { SessionRefreshedData } from './SessionRefreshedData'
import { MetaReceivedData } from './MetaReceivedData'
export type ApiServiceEventData = Either<MetaReceivedData, SessionRefreshedData>

View File

@@ -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 {}

View File

@@ -0,0 +1,6 @@
import { Role } from '@standardnotes/security'
export type MetaReceivedData = {
userUuid: string
userRoles: Role[]
}

View File

@@ -0,0 +1,5 @@
import { Session } from '@standardnotes/domain-core'
export type SessionRefreshedData = {
session: Session
}