Move struct out of model folder.
This commit is contained in:
33
src/structure/repo/VersionRepo.struct.ts
Normal file
33
src/structure/repo/VersionRepo.struct.ts
Normal file
@@ -0,0 +1,33 @@
|
||||
import { join } from 'path'
|
||||
import { resolve as resolveURL } from 'url'
|
||||
import { BaseFileStructure } from '../BaseFileStructure'
|
||||
import { MinecraftVersion } from '../../util/MinecraftVersion'
|
||||
|
||||
export class VersionRepoStructure extends BaseFileStructure {
|
||||
|
||||
constructor(
|
||||
absoluteRoot: string,
|
||||
relativeRoot: string
|
||||
) {
|
||||
super(absoluteRoot, relativeRoot, 'versions')
|
||||
}
|
||||
|
||||
public getLoggerName(): string {
|
||||
return 'VersionRepoStructure'
|
||||
}
|
||||
|
||||
public getFileName(minecraftVersion: MinecraftVersion, forgeVersion: string): string {
|
||||
return `${minecraftVersion}-forge-${forgeVersion}`
|
||||
}
|
||||
|
||||
public getVersionManifest(minecraftVersion: MinecraftVersion, forgeVersion: string): string {
|
||||
const fileName = this.getFileName(minecraftVersion, forgeVersion)
|
||||
return join(this.containerDirectory, fileName, `${fileName}.json`)
|
||||
}
|
||||
|
||||
public getVersionManifestURL(url: string, minecraftVersion: MinecraftVersion, forgeVersion: string): string {
|
||||
const fileName = this.getFileName(minecraftVersion, forgeVersion)
|
||||
return resolveURL(url, join(this.relativeRoot, fileName, `${fileName}.json`))
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user