update backend interfaces
This commit is contained in:
parent
cea8d80ea2
commit
b3c9bb48c1
@ -31,7 +31,7 @@ export default async () => {
|
||||
* Interface for all backend types. Contains only two methods for opening and closing a session with the backend.
|
||||
* Users will recieve tokens from all backends when first authenticating and will delete tokens when logging out.
|
||||
*/
|
||||
export class BACKEND {
|
||||
class BACKEND {
|
||||
/**
|
||||
* Opens a session with the backend and creates session tokens if needed
|
||||
* @param {Object} credentials object containing username and password fields
|
||||
@ -59,24 +59,10 @@ export class BACKEND {
|
||||
}
|
||||
|
||||
/**
|
||||
* Interface for proxmox api backends.
|
||||
* Interface for backend types that store/interact with user & group data.
|
||||
* Not all backends need to implement all interface methods.
|
||||
*/
|
||||
export class PVE_BACKEND extends BACKEND {}
|
||||
|
||||
/**
|
||||
* Interface for user database backends.
|
||||
*/
|
||||
export class DB_BACKEND extends BACKEND {
|
||||
addUser (username, config = null) {}
|
||||
getUser (username) {}
|
||||
setUser (username, config) {}
|
||||
deluser (username) {}
|
||||
}
|
||||
|
||||
/**
|
||||
* Interface for user auth backends.
|
||||
*/
|
||||
export class AUTH_BACKEND extends BACKEND {
|
||||
class USER_BACKEND extends BACKEND {
|
||||
addUser (username, attributes, params = null) {}
|
||||
getUser (username, params = null) {}
|
||||
setUser (username, attributes, params = null) {}
|
||||
@ -90,3 +76,18 @@ export class AUTH_BACKEND extends BACKEND {
|
||||
addUserToGroup (username, groupname, params = null) {}
|
||||
delUserFromGroup (username, groupname, params = null) {}
|
||||
}
|
||||
|
||||
/**
|
||||
* Interface for proxmox api backends.
|
||||
*/
|
||||
export class PVE_BACKEND extends BACKEND {}
|
||||
|
||||
/**
|
||||
* Interface for user database backends.
|
||||
*/
|
||||
export class DB_BACKEND extends USER_BACKEND {}
|
||||
|
||||
/**
|
||||
* Interface for user auth backends.
|
||||
*/
|
||||
export class AUTH_BACKEND extends USER_BACKEND {}
|
||||
|
@ -35,13 +35,13 @@ export default class LocalDB extends DB_BACKEND {
|
||||
writeFileSync(this.#path, JSON.stringify(this.#data));
|
||||
}
|
||||
|
||||
addUser (username, config = null) {
|
||||
config = config || this.#defaultuser;
|
||||
this.#data.users[username] = config;
|
||||
addUser (username, attributes, params = null) {
|
||||
attributes = attributes || this.#defaultuser;
|
||||
this.#data.users[username] = attributes;
|
||||
this.#save();
|
||||
}
|
||||
|
||||
getUser (username) {
|
||||
getUser (username, params = null) {
|
||||
if (this.#data.users[username]) {
|
||||
return this.#data.users[username];
|
||||
}
|
||||
@ -50,9 +50,9 @@ export default class LocalDB extends DB_BACKEND {
|
||||
}
|
||||
}
|
||||
|
||||
setUser (username, config) {
|
||||
setUser (username, attributes, params = null) {
|
||||
if (this.#data.users[username]) {
|
||||
this.#data.users[username] = config;
|
||||
this.#data.users[username] = attributes;
|
||||
this.#save();
|
||||
return true;
|
||||
}
|
||||
@ -61,7 +61,7 @@ export default class LocalDB extends DB_BACKEND {
|
||||
}
|
||||
}
|
||||
|
||||
delUser (username) {
|
||||
delUser (username, params = null) {
|
||||
if (this.#data.users[username]) {
|
||||
delete this.#data.users[username];
|
||||
this.#save();
|
||||
|
Loading…
Reference in New Issue
Block a user