(project, registry, repo)
| 315 | |
| 316 | |
| 317 | def extract_objects_for_apply_delete(project, registry, repo): |
| 318 | # TODO(achals): This code path should be refactored to handle added & kept entities separately. |
| 319 | ( |
| 320 | _, |
| 321 | objs_to_delete, |
| 322 | objs_to_update, |
| 323 | objs_to_add, |
| 324 | ) = extract_objects_for_keep_delete_update_add(registry, project, repo) |
| 325 | |
| 326 | all_to_apply: List[ |
| 327 | Union[ |
| 328 | Entity, |
| 329 | FeatureView, |
| 330 | OnDemandFeatureView, |
| 331 | StreamFeatureView, |
| 332 | FeatureService, |
| 333 | ] |
| 334 | ] = [] |
| 335 | for object_type in FEAST_OBJECT_TYPES: |
| 336 | to_apply = set(objs_to_add[object_type]).union(objs_to_update[object_type]) |
| 337 | all_to_apply.extend(to_apply) |
| 338 | |
| 339 | all_to_delete: List[ |
| 340 | Union[ |
| 341 | Entity, |
| 342 | FeatureView, |
| 343 | OnDemandFeatureView, |
| 344 | StreamFeatureView, |
| 345 | FeatureService, |
| 346 | ] |
| 347 | ] = [] |
| 348 | for object_type in FEAST_OBJECT_TYPES: |
| 349 | all_to_delete.extend(objs_to_delete[object_type]) |
| 350 | |
| 351 | return ( |
| 352 | all_to_apply, |
| 353 | all_to_delete, |
| 354 | set(objs_to_add[FeastObjectType.FEATURE_VIEW]).union( |
| 355 | set(objs_to_update[FeastObjectType.FEATURE_VIEW]) |
| 356 | ), |
| 357 | objs_to_delete[FeastObjectType.FEATURE_VIEW], |
| 358 | ) |
| 359 | |
| 360 | |
| 361 | def apply_total_with_repo_instance( |
no test coverage detected