| 193 | }; |
| 194 | |
| 195 | export interface Implementation { |
| 196 | authComponent: () => void; |
| 197 | restoreUser: (user: User) => Promise<User>; |
| 198 | |
| 199 | authenticate: (credentials: Credentials) => Promise<User>; |
| 200 | logout: () => Promise<void> | void | null; |
| 201 | getToken: () => Promise<string | null>; |
| 202 | |
| 203 | getEntry: (path: string) => Promise<ImplementationEntry>; |
| 204 | entriesByFolder: ( |
| 205 | folder: string, |
| 206 | extension: string, |
| 207 | depth: number, |
| 208 | ) => Promise<ImplementationEntry[]>; |
| 209 | entriesByFiles: (files: ImplementationFile[]) => Promise<ImplementationEntry[]>; |
| 210 | |
| 211 | getMediaDisplayURL?: (displayURL: DisplayURL) => Promise<string>; |
| 212 | getMedia: (folder?: string) => Promise<ImplementationMediaFile[]>; |
| 213 | getMediaFile: (path: string) => Promise<ImplementationMediaFile>; |
| 214 | |
| 215 | persistEntry: (entry: Entry, opts: PersistOptions) => Promise<void>; |
| 216 | persistMedia: (file: AssetProxy, opts: PersistOptions) => Promise<ImplementationMediaFile>; |
| 217 | deleteFiles: (paths: string[], commitMessage: string) => Promise<void>; |
| 218 | |
| 219 | getNotes?: (collection: string, slug: string) => Promise<Note[]>; |
| 220 | addNote?: ( |
| 221 | collection: string, |
| 222 | slug: string, |
| 223 | note: Omit<Note, 'id'>, |
| 224 | entryTitle?: string, |
| 225 | ) => Promise<Note>; |
| 226 | updateNote?: ( |
| 227 | collection: string, |
| 228 | slug: string, |
| 229 | noteId: string, |
| 230 | updates: Partial<Note>, |
| 231 | ) => Promise<Note>; |
| 232 | deleteNote?: (collection: string, slug: string, noteId: string) => Promise<void>; |
| 233 | toggleNoteResolution?: (collection: string, slug: string, noteId: string) => Promise<Note>; |
| 234 | syncNotes?: (collection: string, slug: string, localNotes: Note[]) => Promise<Note[]>; |
| 235 | reopenIssueForUnpublishedEntry?: (collection: string, slug: string) => Promise<void>; |
| 236 | |
| 237 | getPRMetadata?: ( |
| 238 | collection: string, |
| 239 | slug: string, |
| 240 | ) => Promise<{ |
| 241 | id: string; |
| 242 | url: string; |
| 243 | author: string; |
| 244 | createdAt: string; |
| 245 | } | null>; |
| 246 | |
| 247 | unpublishedEntries: () => Promise<string[]>; |
| 248 | unpublishedEntry: (args: { |
| 249 | id?: string; |
| 250 | collection?: string; |
| 251 | slug?: string; |
| 252 | }) => Promise<UnpublishedEntry>; |
nothing calls this directly
no outgoing calls
no test coverage detected