Files
patatapack2-distribution/src/structure/BaseFileStructure.ts
2023-08-13 19:15:35 -04:00

33 lines
923 B
TypeScript

import { mkdirs } from 'fs-extra/esm'
import { join, resolve } from 'path'
import { FileStructure } from './FileStructure.js'
import { Logger } from 'winston'
import { LoggerUtil } from '../util/LoggerUtil.js'
export abstract class BaseFileStructure implements FileStructure {
protected logger: Logger
protected containerDirectory: string
constructor(
protected absoluteRoot: string,
protected relativeRoot: string,
protected structRoot: string
) {
this.relativeRoot = join(relativeRoot, structRoot)
this.containerDirectory = resolve(absoluteRoot, structRoot)
this.logger = LoggerUtil.getLogger(this.getLoggerName())
}
public async init(): Promise<void> {
await mkdirs(this.containerDirectory)
}
public getContainerDirectory(): string {
return this.containerDirectory
}
public abstract getLoggerName(): string
}