@@ -9,21 +9,22 @@ import (
9
9
"sigs.k8s.io/controller-runtime/pkg/client"
10
10
11
11
"github.com/nginxinc/nginx-gateway-fabric/internal/framework/kinds"
12
+ ngftypes "github.com/nginxinc/nginx-gateway-fabric/internal/framework/types"
12
13
"github.com/nginxinc/nginx-gateway-fabric/internal/mode/static/policies"
13
14
"github.com/nginxinc/nginx-gateway-fabric/internal/mode/static/state/graph"
14
15
)
15
16
16
17
// Updater updates the cluster state.
17
18
type Updater interface {
18
19
Upsert (obj client.Object )
19
- Delete (objType client. Object , nsname types.NamespacedName )
20
+ Delete (objType ngftypes. ObjectType , nsname types.NamespacedName )
20
21
}
21
22
22
23
// objectStore is a store of client.Object
23
24
type objectStore interface {
24
- get (objType client. Object , nsname types.NamespacedName ) client.Object
25
+ get (objType ngftypes. ObjectType , nsname types.NamespacedName ) client.Object
25
26
upsert (obj client.Object )
26
- delete (objType client. Object , nsname types.NamespacedName )
27
+ delete (objType ngftypes. ObjectType , nsname types.NamespacedName )
27
28
}
28
29
29
30
// ngfPolicyObjectStore is a store of policies.Policy.
@@ -44,7 +45,7 @@ func newNGFPolicyObjectStore(
44
45
}
45
46
}
46
47
47
- func (p * ngfPolicyObjectStore ) get (objType client. Object , nsname types.NamespacedName ) client.Object {
48
+ func (p * ngfPolicyObjectStore ) get (objType ngftypes. ObjectType , nsname types.NamespacedName ) client.Object {
48
49
key := graph.PolicyKey {
49
50
NsName : nsname ,
50
51
GVK : p .extractGVKFunc (objType ),
@@ -67,7 +68,7 @@ func (p *ngfPolicyObjectStore) upsert(obj client.Object) {
67
68
p .policies [key ] = pol
68
69
}
69
70
70
- func (p * ngfPolicyObjectStore ) delete (objType client. Object , nsname types.NamespacedName ) {
71
+ func (p * ngfPolicyObjectStore ) delete (objType ngftypes. ObjectType , nsname types.NamespacedName ) {
71
72
key := graph.PolicyKey {
72
73
NsName : nsname ,
73
74
GVK : p .extractGVKFunc (objType ),
@@ -88,7 +89,7 @@ func newObjectStoreMapAdapter[T client.Object](objects map[types.NamespacedName]
88
89
}
89
90
}
90
91
91
- func (m * objectStoreMapAdapter [T ]) get (_ client. Object , nsname types.NamespacedName ) client.Object {
92
+ func (m * objectStoreMapAdapter [T ]) get (_ ngftypes. ObjectType , nsname types.NamespacedName ) client.Object {
92
93
obj , exist := m .objects [nsname ]
93
94
if ! exist {
94
95
return nil
@@ -105,7 +106,7 @@ func (m *objectStoreMapAdapter[T]) upsert(obj client.Object) {
105
106
m .objects [client .ObjectKeyFromObject (obj )] = t
106
107
}
107
108
108
- func (m * objectStoreMapAdapter [T ]) delete (_ client. Object , nsname types.NamespacedName ) {
109
+ func (m * objectStoreMapAdapter [T ]) delete (_ ngftypes. ObjectType , nsname types.NamespacedName ) {
109
110
delete (m .objects , nsname )
110
111
}
111
112
@@ -150,15 +151,15 @@ func (m *multiObjectStore) mustFindStoreForObj(obj client.Object) objectStore {
150
151
return store
151
152
}
152
153
153
- func (m * multiObjectStore ) get (objType client. Object , nsname types.NamespacedName ) client.Object {
154
+ func (m * multiObjectStore ) get (objType ngftypes. ObjectType , nsname types.NamespacedName ) client.Object {
154
155
return m .mustFindStoreForObj (objType ).get (objType , nsname )
155
156
}
156
157
157
158
func (m * multiObjectStore ) upsert (obj client.Object ) {
158
159
m .mustFindStoreForObj (obj ).upsert (obj )
159
160
}
160
161
161
- func (m * multiObjectStore ) delete (objType client. Object , nsname types.NamespacedName ) {
162
+ func (m * multiObjectStore ) delete (objType ngftypes. ObjectType , nsname types.NamespacedName ) {
162
163
m .mustFindStoreForObj (objType ).delete (objType , nsname )
163
164
}
164
165
@@ -257,7 +258,7 @@ func (s *changeTrackingUpdater) Upsert(obj client.Object) {
257
258
s .setChangeType (obj , changingUpsert )
258
259
}
259
260
260
- func (s * changeTrackingUpdater ) delete (objType client. Object , nsname types.NamespacedName ) (changed bool ) {
261
+ func (s * changeTrackingUpdater ) delete (objType ngftypes. ObjectType , nsname types.NamespacedName ) (changed bool ) {
261
262
objTypeGVK := s .extractGVK (objType )
262
263
263
264
if s .store .persists (objTypeGVK ) {
@@ -276,7 +277,7 @@ func (s *changeTrackingUpdater) delete(objType client.Object, nsname types.Names
276
277
return stateChanged .delete (objType , nsname )
277
278
}
278
279
279
- func (s * changeTrackingUpdater ) Delete (objType client. Object , nsname types.NamespacedName ) {
280
+ func (s * changeTrackingUpdater ) Delete (objType ngftypes. ObjectType , nsname types.NamespacedName ) {
280
281
s .assertSupportedGVK (s .extractGVK (objType ))
281
282
282
283
changingDelete := s .delete (objType , nsname )
0 commit comments