Skip to content

Commit bc55de1

Browse files
committed
fix conflicts after refactoring
1 parent 94f6d8a commit bc55de1

1 file changed

Lines changed: 11 additions & 40 deletions

File tree

src/PowerPlatform/Dataverse/data/_odata.py

Lines changed: 11 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
import unicodedata
1414
import time
1515
import json
16+
import re
1617
import warnings
1718
from datetime import datetime, timezone
1819

@@ -2164,47 +2165,17 @@ def _build_lookup_field_models(
21642165
cascade_delete: str = CASCADE_BEHAVIOR_REMOVE_LINK,
21652166
language_code: int = 1033,
21662167
) -> tuple:
2167-
"""Build a (lookup, relationship) pair for a lookup field creation.
2168-
2169-
Returns ``(LookupAttributeMetadata, OneToManyRelationshipMetadata)``.
2170-
Used by both the batch resolver and ``TableOperations.create_lookup_field``
2171-
to avoid duplicating the metadata assembly logic.
2172-
2173-
Note: ``referencing_table`` and ``referenced_table`` are lowercased
2174-
automatically because Dataverse stores entity logical names in
2175-
lowercase. ``lookup_field_name`` is kept as-is (it is a SchemaName).
2176-
"""
2177-
# Dataverse logical names are always lowercase. Callers may pass
2178-
# SchemaName-cased values (e.g. "new_SQLTeam"); normalise here so
2179-
# the relationship metadata uses valid logical names.
2180-
referencing_lower = referencing_table.lower()
2181-
referenced_lower = referenced_table.lower()
2182-
2183-
lookup = LookupAttributeMetadata(
2184-
schema_name=lookup_field_name,
2185-
display_name=Label(
2186-
localized_labels=[
2187-
LocalizedLabel(
2188-
label=display_name or referenced_table,
2189-
language_code=language_code,
2190-
)
2191-
]
2192-
),
2193-
required_level="ApplicationRequired" if required else "None",
2194-
)
2195-
if description:
2196-
lookup.description = Label(
2197-
localized_labels=[LocalizedLabel(label=description, language_code=language_code)]
2198-
)
2199-
rel_name = f"{referenced_lower}_{referencing_lower}_{lookup_field_name}"
2200-
relationship = OneToManyRelationshipMetadata(
2201-
schema_name=rel_name,
2202-
referenced_entity=referenced_lower,
2203-
referencing_entity=referencing_lower,
2204-
referenced_attribute=f"{referenced_lower}id",
2205-
cascade_configuration=CascadeConfiguration(delete=cascade_delete),
2168+
"""Delegate to the base implementation (kept here for subclass discoverability)."""
2169+
return _ODataBase._build_lookup_field_models(
2170+
referencing_table,
2171+
lookup_field_name,
2172+
referenced_table,
2173+
display_name=display_name,
2174+
description=description,
2175+
required=required,
2176+
cascade_delete=cascade_delete,
2177+
language_code=language_code,
22062178
)
2207-
return lookup, relationship
22082179

22092180
def _build_create_relationship(
22102181
self,

0 commit comments

Comments
 (0)