import { CurrentMap } from "../types"; import { DataId } from "../types-common/common-types"; import { OdbaAPIFunc } from "./api-initializer"; import { OdbaGetImageUrlParam, OdbaGetLinkableContentsResult, OdbaGetUncachedDataParam, OdbaGetUncachedDataResult, OdbaLinkDataParam, OdbaRegistDataParam, OdbaRemoveDataParam, OdbaUnlinkDataParam, OdbaUpdateDataParam } from "./dba-api-interface"; export type UpdateContentLinkCacheParam = { currentMap: CurrentMap; contentId: DataId; parent: { itemId: DataId; } | { contentId: DataId; }; }; export default abstract class OdbaInterface { abstract registData: (param: OdbaRegistDataParam) => Promise; abstract updateData: (param: OdbaUpdateDataParam) => Promise; abstract removeData: (param: OdbaRemoveDataParam) => Promise; abstract getUncachedData: OdbaAPIFunc; abstract linkData: (param: OdbaLinkDataParam) => Promise; abstract unlinkData: (param: OdbaUnlinkDataParam) => Promise; abstract getImageUrl: (param: OdbaGetImageUrlParam) => Promise; abstract getLinkableContents: (currentMap: CurrentMap) => Promise; }