feat: add webdav support

This commit is contained in:
Yidadaa
2023-09-13 02:51:02 +08:00
parent 89bc98d26b
commit 6f83fbd212
16 changed files with 751 additions and 104 deletions

View File

@@ -0,0 +1,39 @@
import { SyncStore } from "@/app/store/sync";
export type UpstashConfig = SyncStore["upstash"];
export type UpStashClient = ReturnType<typeof createUpstashClient>;
export function createUpstashClient(config: UpstashConfig) {
return {
async check() {
return true;
},
async get() {
throw Error("[Sync] not implemented");
},
async set() {
throw Error("[Sync] not implemented");
},
headers() {
return {
Authorization: `Basic ${config.apiKey}`,
};
},
path(path: string) {
let url = config.endpoint;
if (!url.endsWith("/")) {
url += "/";
}
if (path.startsWith("/")) {
path = path.slice(1);
}
return url + path;
},
};
}