34 lines
1.0 KiB
Go
34 lines
1.0 KiB
Go
package app
|
|
|
|
import (
|
|
"gitea.maximumdirect.net/eric/distributor/internal/notify"
|
|
"gitea.maximumdirect.net/eric/distributor/internal/publish"
|
|
)
|
|
|
|
func shouldNotify(action publish.Action) bool {
|
|
return action == publish.ActionPublishNew || action == publish.ActionReplaceOlder || action == publish.ActionReplaceTakeover || action == publish.ActionForceReplace
|
|
}
|
|
|
|
func notifyEvent(plan publish.Plan) notify.Event {
|
|
outputs := make([]notify.Output, 0, len(plan.Outputs))
|
|
for _, output := range plan.Outputs {
|
|
stateOutput := output.StateOutputFile()
|
|
outputs = append(outputs, notify.Output{
|
|
Path: stateOutput.Path,
|
|
Kind: stateOutput.Kind,
|
|
SourcePath: stateOutput.SourcePath,
|
|
Transform: stateOutput.Transform,
|
|
SHA256: stateOutput.SHA256,
|
|
Size: stateOutput.Size,
|
|
})
|
|
}
|
|
return notify.Event{
|
|
PipelineID: plan.PipelineID,
|
|
DestinationID: plan.DestinationID,
|
|
BundleID: plan.BundleID,
|
|
BundlePath: plan.BundlePath,
|
|
Action: string(plan.Action),
|
|
Outputs: outputs,
|
|
}
|
|
}
|