func()

in controllers/script/chain/create_script.go [26:52]


func (c *CreateScript) ServeRequest(ctx context.Context, script *nexusApi.NexusScript) error {
	log := ctrl.LoggerFrom(ctx).WithValues("script_name", script.Spec.Name)
	log.Info("Start creating script")

	_, getScriptErr := c.nexusScriptApiClient.Get(script.Spec.Name)
	if getScriptErr != nil {
		log.Info("Script doesn't exist, creating new one")

		if err := c.nexusScriptApiClient.Create(specToScript(&script.Spec)); err != nil {
			return fmt.Errorf("failed to create script: %w", err)
		}

		log.Info("Script has been created")
	}

	if getScriptErr == nil {
		log.Info("Updating script")

		if err := c.nexusScriptApiClient.Update(specToScript(&script.Spec)); err != nil {
			return fmt.Errorf("failed to update script: %w", err)
		}

		log.Info("Script has been updated")
	}

	return nil
}