161
func ToPersistenceUniversalPredicate(
162
_ *predicates.UniversalImpl[tasks.Task],
164
>
return &persistencespb.Predicate{
165
>
PredicateType: enumsspb.PREDICATE_TYPE_UNIVERSAL,
166
>
Attributes: &persistencespb.Predicate_UniversalPredicateAttributes{},
167
>
}
168
>
}
169
170
func FromPersistenceUniversalPredicate(
171
_ *persistencespb.UniversalPredicateAttributes,
173
>
return predicates.Universal[tasks.Task]()
174
>
}
175
176
func ToPersistenceEmptyPredicate(
177
_ *predicates.EmptyImpl[tasks.Task],
179
>
return &persistencespb.Predicate{
180
>
PredicateType: enumsspb.PREDICATE_TYPE_EMPTY,
181
>
Attributes: &persistencespb.Predicate_EmptyPredicateAttributes{},
182
>
}
183
>
}
184
185
func FromPersistenceEmptyPredicate(
186
_ *persistencespb.EmptyPredicateAttributes,
188
>
return predicates.Empty[tasks.Task]()
189
>
}
190
191
func ToPersistenceAndPredicate(
192
andPredicate *predicates.AndImpl[tasks.Task],
194
>
persistencePredicates := make([]*persistencespb.Predicate, 0, len(andPredicate.Predicates))
195
>
for _, p := range andPredicate.Predicates {
196
>
persistencePredicates = append(persistencePredicates, ToPersistencePredicate(p))
197
>
}
198
199
>
return &persistencespb.Predicate{
convert.go
200
>
PredicateType: enumsspb.PREDICATE_TYPE_AND,
201
>
Attributes: &persistencespb.Predicate_AndPredicateAttributes{
202
>
AndPredicateAttributes: &persistencespb.AndPredicateAttributes{
203
>
Predicates: persistencePredicates,
204
>
},
205
>
},
206
>
}
207
}
208
209
func FromPersistenceAndPredicate(
210
attributes *persistencespb.AndPredicateAttributes,
212
>
taskPredicates := make([]predicates.Predicate[tasks.Task], 0, len(attributes.Predicates))
213
>
for _, p := range attributes.Predicates {
214
>
taskPredicates = append(taskPredicates, FromPersistencePredicate(p))
215
>
}
216
217
>
return predicates.And(taskPredicates...)
convert.go
218
}
219
220
func ToPersistenceOrPredicate(
221
orPredicate *predicates.OrImpl[tasks.Task],
223
>
persistencePredicates := make([]*persistencespb.Predicate, 0, len(orPredicate.Predicates))
224
>
for _, p := range orPredicate.Predicates {
225
>
persistencePredicates = append(persistencePredicates, ToPersistencePredicate(p))
226
>
}
227
228
>
return &persistencespb.Predicate{
convert.go
229
>
PredicateType: enumsspb.PREDICATE_TYPE_OR,
230
>
Attributes: &persistencespb.Predicate_OrPredicateAttributes{
231
>
OrPredicateAttributes: &persistencespb.OrPredicateAttributes{
232
>
Predicates: persistencePredicates,
233
>
},
234
>
},
235
>
}
236
}
237
238
func FromPersistenceOrPredicate(
239
attributes *persistencespb.OrPredicateAttributes,
241
>
taskPredicates := make([]predicates.Predicate[tasks.Task], 0, len(attributes.Predicates))
242
>
for _, p := range attributes.Predicates {
243
>
taskPredicates = append(taskPredicates, FromPersistencePredicate(p))
244
>
}
245
246
>
return predicates.Or(taskPredicates...)
convert.go
247
}
248
249
func ToPersistenceNotPredicate(
250
notPredicate *predicates.NotImpl[tasks.Task],
252
>
return &persistencespb.Predicate{
253
>
PredicateType: enumsspb.PREDICATE_TYPE_NOT,
254
>
Attributes: &persistencespb.Predicate_NotPredicateAttributes{
255
>
NotPredicateAttributes: &persistencespb.NotPredicateAttributes{
256
>
Predicate: ToPersistencePredicate(notPredicate.Predicate),
257
>
},
258
>
},
259
>
}
260
>
}
261
262
func FromPersistenceNotPredicate(
263
attributes *persistencespb.NotPredicateAttributes,
265
>
return predicates.Not(FromPersistencePredicate(attributes.Predicate))
266
>
}
267
268
func ToPersistenceNamespaceIDPredicate(
269
namespaceIDPredicate *tasks.NamespacePredicate,
271
>
return &persistencespb.Predicate{
272
>
PredicateType: enumsspb.PREDICATE_TYPE_NAMESPACE_ID,
273
>
Attributes: &persistencespb.Predicate_NamespaceIdPredicateAttributes{
274
>
NamespaceIdPredicateAttributes: &persistencespb.NamespaceIdPredicateAttributes{
275
>
NamespaceIds: expmaps.Keys(namespaceIDPredicate.NamespaceIDs),
276
>
},
277
>
},
278
>
}
279
>
}
280
281
func FromPersistenceNamespaceIDPredicate(
282
attributes *persistencespb.NamespaceIdPredicateAttributes,
284
>
return tasks.NewNamespacePredicate(attributes.NamespaceIds)
285
>
}
286
287
func ToPersistenceTaskTypePredicate(
288
taskTypePredicate *tasks.TypePredicate,
290
>
return &persistencespb.Predicate{
291
>
PredicateType: enumsspb.PREDICATE_TYPE_TASK_TYPE,
292
>
Attributes: &persistencespb.Predicate_TaskTypePredicateAttributes{
293
>
TaskTypePredicateAttributes: &persistencespb.TaskTypePredicateAttributes{
294
>
TaskTypes: expmaps.Keys(taskTypePredicate.Types),
295
>
},
296
>
},
297
>
}
298
>
}
299
300
func FromPersistenceTaskTypePredicate(
301
attributes *persistencespb.TaskTypePredicateAttributes,
303
>
return tasks.NewTypePredicate(attributes.TaskTypes)
304
>
}
305
306
func ToPersistenceDestinationPredicate(