init
This commit is contained in:
29
src/access/access.session.ts
Normal file
29
src/access/access.session.ts
Normal file
@@ -0,0 +1,29 @@
|
||||
import type { Statement } from './access.schemas.ts';
|
||||
import { validate } from './access.utils.ts';
|
||||
|
||||
type SessionOptions = {
|
||||
statements: Statement[];
|
||||
};
|
||||
|
||||
type ValidateOptions = {
|
||||
action: string;
|
||||
resource: string;
|
||||
};
|
||||
|
||||
class Session {
|
||||
#options: SessionOptions;
|
||||
|
||||
constructor(options: SessionOptions) {
|
||||
this.#options = options;
|
||||
}
|
||||
|
||||
public validate = (options: ValidateOptions) => {
|
||||
const { statements } = this.#options;
|
||||
return validate({
|
||||
...options,
|
||||
statements,
|
||||
});
|
||||
};
|
||||
}
|
||||
|
||||
export { Session };
|
||||
Reference in New Issue
Block a user