diff --git a/packages/acl/src/vfs/fs/VFS.ts b/packages/acl/src/vfs/fs/VFS.ts index 085d6032..bc74eda7 100644 --- a/packages/acl/src/vfs/fs/VFS.ts +++ b/packages/acl/src/vfs/fs/VFS.ts @@ -115,6 +115,36 @@ export enum NODE_FIELDS { SHOW_MEDIA_INFO = 1637 } +export interface VfsBind { + id: string; + source: { + mount: string; + subpath?: string; + }; + target: { + mount: string; + path: string; + }; + readonly?: boolean; + acl?: 'source' | 'inherit'; +} + +export class BindManager { + private binds: VfsBind[]; + + constructor(binds: VfsBind[]) { + this.binds = binds; + } + + getAll(): VfsBind[] { + return this.binds; + } + + findByHostMount(mountName: string): VfsBind[] { + return this.binds.filter(b => b.target.mount === mountName); + } +} + export class MountManager { private mounts: IMount[];