@muddykat-tech/buttercup-server-client
Version:
Basic client for Buttercup database server
49 lines (42 loc) • 1.51 kB
text/typescript
import { isUndefined } from "util";
import { getDirectoryContents } from "./requests/getDirectoryContents.js";
import { getFileContents } from "./requests/getFileContents.js";
import { putFileContents } from "./requests/putFileContents.js";
import { FileIdentifier, FileItem, PathIdentifier } from "./types.js";
export class ButtercupServerClient {
uuid: string;
url: string;
constructor(path: PathIdentifier, token: string) {
if (isUndefined(token)) {
throw new Error("Token is undefined");
} else {
console.log("Token: ", token);
}
this.uuid = token; // Token is UID
this.url = path.identifier.toString();
}
async getDirectoryContent(pathIdentifier?: PathIdentifier):
Promise<Array<FileItem>> {
return getDirectoryContents({
databaseURL: this.url,
databaseUUID: this.uuid,
pathIdentifier
});
}
async getFileContents(pathIdentifier?: PathIdentifier): Promise<string> {
return getFileContents({
databaseURL: this.url,
databaseUUID: this.uuid,
pathIdentifier
});
}
async putFileContents(fileIdentifier: string, encryptedData: string): Promise<string> {
console.log("Buttercupclient client.ts check");
return putFileContents({
databaseURL: this.url,
databaseUUID: this.uuid,
encryptedData,
fileIdentifier
});
}
}