@oberoncms/core
Version:
OberonCMS is a cloud deployable CMS written in typescript based on the Puck visual editor
72 lines • 5.44 kB
TypeScript
import { type OberonPlugin, type OberonPluginAdapter, type PluginVersion, type OberonHandler, type OberonAdapter } from "../lib/dtd";
type InititalisedPlugins = {
adapter: OberonPluginAdapter;
handlers: Record<string, (adapter: OberonAdapter) => OberonHandler>;
versions: PluginVersion[];
};
export declare const baseAccumulator: InititalisedPlugins;
export declare function initPlugins(plugins?: OberonPlugin[]): {
adapter: {
prebuild: () => Promise<void>;
addPage: (page: import("..").OberonPage) => Promise<void>;
addImage: (data: import("zod").TypeOf<typeof import("..").ImageSchema>) => Promise<void>;
addUser: (data: import("zod").TypeOf<typeof import("..").AddUserSchema>) => Promise<import("..").OberonUser>;
deletePage: (key: import("..").OberonPageMeta["key"]) => Promise<void>;
deleteImage: (key: import("..").OberonImage["key"]) => Promise<void>;
deleteUser: ((id: import("..").OberonUser["id"]) => Promise<void>) & ((userId: string) => Promise<void> | import("@auth/core/types").Awaitable<import("@auth/core/adapters").AdapterUser | null | undefined>) & ((id: import("..").OberonUser["id"]) => Promise<void>);
changeRole: (data: import("zod").TypeOf<typeof import("..").ChangeRoleSchema>) => Promise<void>;
getAllImages: () => Promise<import("..").OberonImage[]>;
getAllPages: () => Promise<import("..").OberonPageMeta[]>;
getAllUsers: () => Promise<import("..").OberonUser[]>;
getPageData: (key: import("..").OberonPageMeta["key"]) => Promise<import("@measured/puck").Data | null>;
getSite: () => Promise<import("..").OberonSite | undefined>;
updatePageData: (data: import("..").OberonPage) => Promise<void>;
updateSite: (data: import("zod").TypeOf<typeof import("..").SiteSchema>) => Promise<void>;
createSession: (session: {
sessionToken: string;
userId: string;
expires: Date;
}) => import("@auth/core/types").Awaitable<import("@auth/core/adapters").AdapterSession>;
createUser: ((user: import("@auth/core/adapters").AdapterUser) => import("@auth/core/types").Awaitable<import("@auth/core/adapters").AdapterUser>) & ((user: Omit<import("@auth/core/adapters").AdapterUser & {
role: import("..").OberonRole;
}, "id">) => import("@auth/core/types").Awaitable<import("@auth/core/adapters").AdapterUser & {
role: import("..").OberonRole;
}>);
createVerificationToken: (verificationToken: import("@auth/core/adapters").VerificationToken) => import("@auth/core/types").Awaitable<import("@auth/core/adapters").VerificationToken | null | undefined>;
deleteSession: (sessionToken: string) => Promise<void> | import("@auth/core/types").Awaitable<import("@auth/core/adapters").AdapterSession | null | undefined>;
getSessionAndUser: (sessionToken: string) => import("@auth/core/types").Awaitable<{
session: import("@auth/core/adapters").AdapterSession;
user: import("@auth/core/adapters").AdapterUser;
} | null>;
getUser: (id: string) => import("@auth/core/types").Awaitable<import("@auth/core/adapters").AdapterUser | null>;
getUserByAccount: (providerAccountId: Pick<import("@auth/core/adapters").AdapterAccount, "provider" | "providerAccountId">) => import("@auth/core/types").Awaitable<import("@auth/core/adapters").AdapterUser | null>;
getUserByEmail: (email: string) => import("@auth/core/types").Awaitable<import("@auth/core/adapters").AdapterUser | null>;
linkAccount: (account: import("@auth/core/adapters").AdapterAccount) => Promise<void> | import("@auth/core/types").Awaitable<import("@auth/core/adapters").AdapterAccount | null | undefined>;
unlinkAccount: (providerAccountId: Pick<import("@auth/core/adapters").AdapterAccount, "provider" | "providerAccountId">) => Promise<void> | import("@auth/core/types").Awaitable<import("@auth/core/adapters").AdapterAccount | undefined>;
updateSession: (session: Partial<import("@auth/core/adapters").AdapterSession> & Pick<import("@auth/core/adapters").AdapterSession, "sessionToken">) => import("@auth/core/types").Awaitable<import("@auth/core/adapters").AdapterSession | null | undefined>;
updateUser: (user: Partial<import("@auth/core/adapters").AdapterUser> & Pick<import("@auth/core/adapters").AdapterUser, "id">) => import("@auth/core/types").Awaitable<import("@auth/core/adapters").AdapterUser>;
useVerificationToken: (params: {
identifier: string;
token: string;
}) => import("@auth/core/types").Awaitable<import("@auth/core/adapters").VerificationToken | null>;
getCurrentUser: () => Promise<import("..").OberonUser | null>;
hasPermission: (props: {
user?: import("..").OberonUser | null;
action: import("..").AdapterActionGroup;
permission: import("..").AdapterPermission;
}) => boolean;
signIn: (data: {
email: string;
}) => Promise<void>;
signOut: () => Promise<void>;
sendVerificationRequest: (props: {
email: string;
token: string;
url: string;
}) => Promise<void>;
};
handlers: Record<string, (adapter: OberonAdapter) => OberonHandler>;
versions: PluginVersion[];
};
export {};
//# sourceMappingURL=init-plugins.d.ts.map