import { BaseResource } from '@gitbeaker/requester-utils'; import { RequestHelper, endpoint } from '../infrastructure'; import type { GitlabAPIResponse, ShowExpanded } from '../infrastructure'; export interface GoProxyModuleVersionSchema extends Record { Version: string; Time: string; } export class GoProxy extends BaseResource { all( projectId: string | number, moduleName: string, options?: ShowExpanded, ): Promise> { return RequestHelper.get()( this, endpoint`projects/${projectId}/packages/go/${moduleName}/@v/list`, options, ); } showVersionMetadata( projectId: string | number, moduleName: string, moduleVersion: string, options?: ShowExpanded, ): Promise> { return RequestHelper.get()( this, endpoint`projects/${projectId}/packages/go/${moduleName}/@v/${moduleVersion}.info`, options, ); } downloadModuleFile( projectId: string | number, moduleName: string, moduleVersion: string, options?: ShowExpanded, ): Promise> { return RequestHelper.get()( this, endpoint`projects/${projectId}/packages/go/${moduleName}/@v/${moduleVersion}.mod`, options, ); } downloadModuleSource( projectId: string | number, moduleName: string, moduleVersion: string, options?: ShowExpanded, ): Promise> { return RequestHelper.get()( this, endpoint`projects/${projectId}/packages/go/${moduleName}/@v/${moduleVersion}.zip`, options, ); } }