Skip to content

Commit 20d9840

Browse files
CopilotArlodotexe
andcommitted
Address PR review feedback: fix TFM, move docs, remove dependent library mentions
Co-authored-by: Arlodotexe <9384894+Arlodotexe@users.noreply.github.com>
1 parent f7c4555 commit 20d9840

3 files changed

Lines changed: 23 additions & 29 deletions

File tree

Lines changed: 21 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Interface Graph Inventory for WindowsAppCommunity.Sdk
22

3-
This document provides a comprehensive inventory of the interface hierarchy for the three main entities in the WindowsAppCommunity.Sdk: **Publisher**, **Project**, and **User**. This mapping is intended to help with blog generator development by clearly defining the type relationships and data access patterns.
3+
This document provides a comprehensive inventory of the interface hierarchy for the three main entities in the WindowsAppCommunity.Sdk: **Publisher**, **Project**, and **User**. This mapping helps developers understand the type relationships and data access patterns.
44

55
## Core Entity Interfaces
66

@@ -197,7 +197,7 @@ public interface IReadOnlyConnection
197197
}
198198
```
199199

200-
## Data Access Patterns for Blog Generator
200+
## Data Access Patterns
201201

202202
### For User Profiles
203203
1. **Basic Info**: `IReadOnlyEntity` → name, description, extendedDescription
@@ -233,34 +233,28 @@ public interface IReadOnlyConnection
233233

234234
```
235235
IHasId (base interface with Id property)
236+
236237
├── IReadOnlyEntity
237238
│ ├── IReadOnlyConnectionsCollection
238239
│ ├── IReadOnlyLinksCollection
239240
│ └── IReadOnlyImagesCollection
241+
240242
├── IReadOnlyAccentColor
243+
241244
├── IReadOnlyFeaturesCollection
242-
├── IReadOnlyUserCollection<T>
243-
│ └── IReadOnlyUserRoleCollection
244-
├── IReadOnlyProjectCollection<T>
245-
│ └── IReadOnlyProjectRoleCollection
246-
├── IReadOnlyPublisherCollection<T>
247-
│ └── IReadOnlyPublisherRoleCollection
248-
├── IReadOnlyUser
249-
│ └── IReadOnlyUserRole
250-
├── IReadOnlyProject<T>
251-
│ └── IReadOnlyProjectRole
252-
└── IReadOnlyPublisher<T>
253-
└── IReadOnlyPublisherRole
254-
```
255-
256-
## Recommendations for Blog Generator Implementation
257-
258-
1. **Start with Core Entities**: Implement converters for `IReadOnlyUser`, `IReadOnlyPublisher`, and `IReadOnlyProject` first
259-
2. **Implement Supporting Collections**: Handle each collection interface as a separate template component
260-
3. **Handle Async Data**: Many collections use `IAsyncEnumerable<T>` - ensure proper async handling in templates
261-
4. **Link Resolution**: Pre-resolve relationships (like publisher for projects) to avoid async calls in templates
262-
5. **Role Handling**: Create specialized templates for role-based views vs direct entity views
263-
6. **Image Processing**: Handle `IFile` objects from `IReadOnlyImagesCollection` for proper image rendering
264-
7. **Connection Values**: Cache `IReadOnlyConnection.GetValueAsync()` results before template rendering
265-
266-
This interface inventory provides the foundation for systematically implementing blog generation for each entity type while maintaining clear separation of concerns.
245+
246+
├── Collection Interfaces:
247+
│ ├── IReadOnlyUserCollection<T>
248+
│ │ └── IReadOnlyUserRoleCollection
249+
│ ├── IReadOnlyProjectCollection<T>
250+
│ │ └── IReadOnlyProjectRoleCollection
251+
│ └── IReadOnlyPublisherCollection<T>
252+
│ └── IReadOnlyPublisherRoleCollection
253+
254+
└── Main Entity Interfaces:
255+
├── IReadOnlyUser : IReadOnlyEntity, IReadOnlyPublisherRoleCollection, IReadOnlyProjectRoleCollection
256+
├── IReadOnlyProject<T> : IReadOnlyEntity, IReadOnlyImagesCollection, IReadOnlyUserRoleCollection, IReadOnlyAccentColor, IReadOnlyFeaturesCollection
257+
└── IReadOnlyPublisher<T> : IReadOnlyEntity, IReadOnlyAccentColor, IReadOnlyUserRoleCollection, IReadOnlyProjectCollection
258+
```
259+
260+
This interface inventory provides a comprehensive reference for understanding the type hierarchy and relationships within the WindowsAppCommunity.Sdk.

src/WindowsAppCommunity.Sdk.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22
<PropertyGroup>
3-
<TargetFrameworks>netstandard2.0;net8.0;</TargetFrameworks>
3+
<TargetFrameworks>netstandard2.0;net9.0;</TargetFrameworks>
44
<Nullable>enable</Nullable>
55
<LangVersion>12.0</LangVersion>
66
<WarningsAsErrors>nullable</WarningsAsErrors>

tests/WindowsAppCommunity.Sdk.Tests.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
4-
<TargetFramework>net8.0</TargetFramework>
4+
<TargetFramework>net9.0</TargetFramework>
55
<ImplicitUsings>enable</ImplicitUsings>
66
<Nullable>enable</Nullable>
77

0 commit comments

Comments
 (0)