Skip to content

Issue / Locatability / Nested Locatables#439

Merged
cihandeniz merged 29 commits intomouseless:epic/locatabilityfrom
cihandeniz:issue/locatability/nested-locatables
Feb 15, 2026
Merged

Issue / Locatability / Nested Locatables#439
cihandeniz merged 29 commits intomouseless:epic/locatabilityfrom
cihandeniz:issue/locatability/nested-locatables

Conversation

@cihandeniz
Copy link
Copy Markdown
Member

@cihandeniz cihandeniz commented Jan 23, 2026

Introduce a way to accept a locatable object in a nested records.

Tasks

  • Add data class, property model and the code template reverted
  • Init data classes reverted
  • Revert dto generation
  • Implement a prototype json serialization
  • Generalize prototype
    • Implement EntityJsonConverter that converts id to entity and vice
      versa
    • Implement an configurable contract resolver to set property converters
    • Generate and register EntityJsonConverter implementations
    • Generate code that sets foreign key converters and use it in auto map
      orm feature
  • Configure serialization of entities to render Id and Label properties
    for their parent entities
    • Child > Parent: child is full, parent is ref
    • Child > NonEntity > Parent: all are full
    • Revise DesignatedString...UxFeature, it should be LabelCodingStyle +
      LabelsAreFrozenUxFeature
  • Configure converter of entity properties to locate using Id properties
    • any entity is converted using IQueryContext
  • Merge from epic/locatability
  • Migrate to the new locator system and support rich transients as well
  • Create proxies for locatables and then initialize them using await
    within an action filter and set the actual values to the dto if possible
  • Remove entityId configuration for action body parameters
  • Add support for locatable enumerable
  • Add emerging test cases
    • locating single rich transient
    • locating multiple rich transients
    • serializing rich transient under a locatable
    • serializing rich transient under a non-locatable
    • entity with another id property name, e.g., Uid
  • Add swagger tests
    • unused schemas are excluded
    • non-public properties are ignored
    • check if non-id property is readonly
    • check ref types (e.g. enum) remains readonly
  • Add new serialization features to docs

Additional Tasks

  • Fix non-public property serializing in request and responses
  • Remove non-public properties from swagger
  • Remove unused schemas in swagger
  • Fix AutoMapFeature namespace to AutoMapOrmFeature
  • Move reference list into code templates to simplify code template usage
  • Refactor nfrs to use simplified deserialization
    response.Content.Deserialize()
  • Render Text for locatables using label (or id) property

@cihandeniz cihandeniz self-assigned this Jan 23, 2026
@cihandeniz cihandeniz force-pushed the issue/locatability/nested-locatables branch from 0996c49 to adcd8b6 Compare January 26, 2026 15:11
@cihandeniz cihandeniz mentioned this pull request Jan 30, 2026
8 tasks
Comment thread core/src/Baked/Orm/EntityJsonConverter.cs Outdated
Comment thread core/src/Baked/CodingStyle/Locatable/JsonConverterTemplate.cs Outdated
Comment thread core/src/Baked/Orm/AutoMap/AutoMapOrmFeature.cs Outdated
Comment thread core/src/Baked/CodingStyle/Locatable/IContractResolverConfigurer.cs Outdated
Comment thread core/src/Baked/Runtime/RuntimeExtensions.cs Outdated
Comment thread core/src/Baked/Runtime/ServiceCollectionConfiguration.cs Outdated
Comment thread core/test/Baked.Test.Specs/CodingStyle/SerializingOnlyIdAndLabelsForParents.cs Outdated
Comment thread docs/recipes/data-source.md
Comment thread docs/recipes/monolith.md
@cihandeniz cihandeniz requested a review from dncsvr February 14, 2026 15:06
@cihandeniz cihandeniz marked this pull request as ready for review February 14, 2026 15:06
Comment thread core/src/Baked/CodingStyle/Locatable/LocatableTemplate.cs
Comment thread core/src/Baked/CodingStyle/Locatable/LocatableTemplate.cs Outdated
- add text component to locatable properties
- add hidden to data table column to hide easily
- hide parent properties on the parent page
- fix minor playground localization issues
@cihandeniz cihandeniz requested a review from dncsvr February 15, 2026 08:37
Comment thread core/src/Baked/CodingStyle/Locatable/LocatableCodingStyleFeature.cs
@cihandeniz cihandeniz merged commit 4b44336 into mouseless:epic/locatability Feb 15, 2026
7 checks passed
@cihandeniz cihandeniz deleted the issue/locatability/nested-locatables branch February 15, 2026 19:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants