Files
actions/src/tools/gitreleasemanager/models.ts
2023-03-11 12:23:21 +01:00

80 lines
1.8 KiB
TypeScript

export enum CommonFields {
repository = 'repository',
owner = 'owner',
token = 'token',
targetDirectory = 'targetDirectory'
}
export enum CreateFields {
milestone = 'milestone',
name = 'name',
inputFileName = 'inputFileName',
isPreRelease = 'isPreRelease',
commit = 'commit',
assets = 'assets'
}
export enum DiscardFields {
milestone = 'milestone'
}
export enum CloseFields {
milestone = 'milestone'
}
export enum OpenFields {
milestone = 'milestone'
}
export enum PublishFields {
tagName = 'tagName'
}
export enum AddAssetFields {
tagName = 'tagName',
assets = 'assets'
}
export interface GitReleaseManagerSettings {
[CommonFields.repository]: string
[CommonFields.owner]: string
[CommonFields.token]: string
[CommonFields.targetDirectory]: string
}
export interface GitReleaseManagerCreateSettings
extends GitReleaseManagerSettings {
[CreateFields.milestone]: string
[CreateFields.name]: string
[CreateFields.inputFileName]: string
[CreateFields.isPreRelease]: boolean
[CreateFields.commit]: string
[CreateFields.assets]?: string[]
}
export interface GitReleaseManagerDiscardSettings
extends GitReleaseManagerSettings {
[DiscardFields.milestone]: string
}
export interface GitReleaseManagerCloseSettings
extends GitReleaseManagerSettings {
[CloseFields.milestone]: string
}
export interface GitReleaseManagerOpenSettings
extends GitReleaseManagerSettings {
[OpenFields.milestone]: string
}
export interface GitReleaseManagerPublishSettings
extends GitReleaseManagerSettings {
[PublishFields.tagName]: string
}
export interface GitReleaseManagerAddAssetSettings
extends GitReleaseManagerSettings {
[AddAssetFields.tagName]: string
[AddAssetFields.assets]: string[]
}