...
1 package utils
2
3 import (
4 "errors"
5
6 "edge-infra.dev/pkg/edge/api/graph/model"
7 )
8
9 var ErrRegistryURLCannotBeEmpty = errors.New("registry URL cannot be empty")
10
11 func CreateArtifactRegistryModel(registryEdgeID, bannerEdgeID, url string, description *string) *model.ArtifactRegistry {
12 return &model.ArtifactRegistry{
13 RegistryEdgeID: registryEdgeID,
14 BannerEdgeID: bannerEdgeID,
15 Description: description,
16 URL: url,
17 }
18 }
19
20 func ValidateArtifactRegistryCreateInput(createArtifactRegistry *model.ArtifactRegistryCreateInput) error {
21 if createArtifactRegistry.URL == "" {
22 return ErrRegistryURLCannotBeEmpty
23 }
24 return nil
25 }
26
27 func UpdateArtifactRegistry(currentArtifactRegistry *model.ArtifactRegistry, updateArtifactRegistry *model.ArtifactRegistryUpdateInput) *model.ArtifactRegistry {
28 currentArtifactRegistry.Description = updateArtifactRegistry.Description
29 currentArtifactRegistry.URL = updateArtifactRegistry.URL
30 return currentArtifactRegistry
31 }
32
33 func ValidateArtifactRegistryUpdateInput(updateArtifactRegistry *model.ArtifactRegistryUpdateInput) error {
34 if updateArtifactRegistry.URL == "" {
35 return ErrRegistryURLCannotBeEmpty
36 }
37 return nil
38 }
39
40 func ArtifactRegistryNeedsUpdating(currentArtifactRegistry *model.ArtifactRegistry, updateArtifactRegistry *model.ArtifactRegistryUpdateInput) bool {
41 if currentArtifactRegistry.URL != updateArtifactRegistry.URL {
42 return true
43 }
44
45 if currentArtifactRegistry.Description != nil && updateArtifactRegistry.Description != nil {
46 return *currentArtifactRegistry.Description != *updateArtifactRegistry.Description
47 }
48
49 return currentArtifactRegistry.Description == updateArtifactRegistry.Description
50 }
51
52 func CreateClusterArtifactRegistryModel(clusterRegistryEdgeID, clusterEdgeID, registryEdgeID string) *model.ClusterArtifactRegistry {
53 return &model.ClusterArtifactRegistry{
54 ClusterRegistryEdgeID: clusterRegistryEdgeID,
55 ClusterEdgeID: clusterEdgeID,
56 RegistryEdgeID: registryEdgeID,
57 }
58 }
59
View as plain text