@@ -197,64 +197,120 @@ public interface IReadOnlyConnection
197197}
198198```
199199
200- ## Data Access Patterns
201-
202- ### For User Profiles
203- 1 . ** Basic Info** : ` IReadOnlyEntity ` → name, description, extendedDescription
204- 2 . ** Visual Elements** : ` IReadOnlyImagesCollection ` → profile images
205- 3 . ** External Links** : ` IReadOnlyLinksCollection ` → social/external profiles
206- 4 . ** App Connections** : ` IReadOnlyConnectionsCollection ` → connected applications
207- 5 . ** Project Involvement** : ` IReadOnlyProjectRoleCollection ` → projects and roles
208- 6 . ** Publisher Involvement** : ` IReadOnlyPublisherRoleCollection ` → publishers and roles
209-
210- ### For Publisher Profiles
211- 1 . ** Basic Info** : ` IReadOnlyEntity ` → name, description, extendedDescription
212- 2 . ** Branding** : ` IReadOnlyAccentColor ` → brand color
213- 3 . ** Visual Elements** : ` IReadOnlyImagesCollection ` → logos, banners
214- 4 . ** External Links** : ` IReadOnlyLinksCollection ` → websites, social media
215- 5 . ** App Connections** : ` IReadOnlyConnectionsCollection ` → connected applications
216- 6 . ** Team Members** : ` IReadOnlyUserRoleCollection ` → users and their roles
217- 7 . ** Published Projects** : ` IReadOnlyProjectCollection ` → all projects under publisher
218- 8 . ** Publisher Hierarchy** : ` ParentPublishers ` , ` ChildPublishers ` → organizational structure
219-
220- ### For Project Profiles
221- 1 . ** Basic Info** : ` IReadOnlyEntity ` → name, description, extendedDescription
222- 2 . ** Categorization** : ` Category ` → app store category
223- 3 . ** Branding** : ` IReadOnlyAccentColor ` → project theme color
224- 4 . ** Visual Elements** : ` IReadOnlyImagesCollection ` → screenshots, icons
225- 5 . ** External Links** : ` IReadOnlyLinksCollection ` → project website, documentation
226- 6 . ** App Connections** : ` IReadOnlyConnectionsCollection ` → integrations
227- 7 . ** Features** : ` IReadOnlyFeaturesCollection ` → feature list
228- 8 . ** Team Members** : ` IReadOnlyUserRoleCollection ` → contributors and roles
229- 9 . ** Dependencies** : ` Dependencies ` → other projects this depends on
230- 10 . ** Publisher** : ` GetPublisherAsync() ` → owning publisher
231-
232- ## Interface Dependency Graph
233-
234- ```
235- IHasId (base interface with Id property)
200+ ## Complete Interface Dependency Graphs
201+
202+ ### IReadOnlyUser Interface Hierarchy
203+
204+ ```
205+ IHasId (OwlCore.ComponentModel)
236206│
237207├── IReadOnlyEntity
238- │ ├── IReadOnlyConnectionsCollection
239- │ ├── IReadOnlyLinksCollection
240- │ └── IReadOnlyImagesCollection
208+ │ ├── IReadOnlyConnectionsCollection : IHasId
209+ │ ├── IReadOnlyLinksCollection : IHasId
210+ │ └── IReadOnlyImagesCollection : IHasId
241211│
242- ├── IReadOnlyAccentColor
212+ ├── IReadOnlyPublisherRoleCollection : IReadOnlyPublisherCollection<IReadOnlyPublisherRole>
213+ │ └── IReadOnlyPublisherCollection<IReadOnlyPublisherRole> : IHasId
214+ │ └── IReadOnlyPublisherRole : IReadOnlyPublisher
215+ │ └── IReadOnlyPublisher : IReadOnlyPublisher<IReadOnlyPublisherRoleCollection>
216+ │ └── IReadOnlyPublisher<TPublisherCollection> : IReadOnlyEntity, IReadOnlyAccentColor, IReadOnlyUserRoleCollection, IReadOnlyProjectCollection, IHasId
217+ │ ├── IReadOnlyEntity (see above)
218+ │ ├── IReadOnlyAccentColor : IHasId
219+ │ ├── IReadOnlyUserRoleCollection : IReadOnlyUserCollection<IReadOnlyUserRole>
220+ │ │ └── IReadOnlyUserCollection<IReadOnlyUserRole> : IHasId
221+ │ │ └── IReadOnlyUserRole : IReadOnlyUser
222+ │ └── IReadOnlyProjectCollection : IReadOnlyProjectCollection<IReadOnlyProject>
223+ │ └── IReadOnlyProjectCollection<IReadOnlyProject> : IHasId
243224│
244- ├── IReadOnlyFeaturesCollection
225+ └── IReadOnlyProjectRoleCollection : IReadOnlyProjectCollection<IReadOnlyProjectRole>
226+ └── IReadOnlyProjectCollection<IReadOnlyProjectRole> : IHasId
227+ └── IReadOnlyProjectRole : IReadOnlyProject
228+ └── IReadOnlyProject : IReadOnlyProject<IReadOnlyProjectCollection>
229+ └── IReadOnlyProject<TDependencyCollection> : IReadOnlyEntity, IReadOnlyImagesCollection, IReadOnlyUserRoleCollection, IReadOnlyAccentColor, IReadOnlyFeaturesCollection, IHasId
230+ ├── IReadOnlyEntity (see above)
231+ ├── IReadOnlyImagesCollection : IHasId (see above)
232+ ├── IReadOnlyUserRoleCollection (see above)
233+ ├── IReadOnlyAccentColor : IHasId (see above)
234+ └── IReadOnlyFeaturesCollection : IHasId
235+
236+ Final IReadOnlyUser inheritance:
237+ IReadOnlyUser : IReadOnlyEntity, IReadOnlyPublisherRoleCollection, IReadOnlyProjectRoleCollection, IHasId
238+ ```
239+
240+ ### IReadOnlyProject Interface Hierarchy
241+
242+ ```
243+ IHasId (OwlCore.ComponentModel)
245244│
246- ├── Collection Interfaces:
247- │ ├── IReadOnlyUserCollection<T>
248- │ │ └── IReadOnlyUserRoleCollection
249- │ ├── IReadOnlyProjectCollection<T>
250- │ │ └── IReadOnlyProjectRoleCollection
251- │ └── IReadOnlyPublisherCollection<T>
252- │ └── IReadOnlyPublisherRoleCollection
245+ ├── IReadOnlyEntity
246+ │ ├── IReadOnlyConnectionsCollection : IHasId
247+ │ ├── IReadOnlyLinksCollection : IHasId
248+ │ └── IReadOnlyImagesCollection : IHasId
249+ │
250+ ├── IReadOnlyImagesCollection : IHasId (additional images beyond IReadOnlyEntity)
251+ │
252+ ├── IReadOnlyUserRoleCollection : IReadOnlyUserCollection<IReadOnlyUserRole>
253+ │ └── IReadOnlyUserCollection<IReadOnlyUserRole> : IHasId
254+ │ └── IReadOnlyUserRole : IReadOnlyUser
255+ │ └── IReadOnlyUser : IReadOnlyEntity, IReadOnlyPublisherRoleCollection, IReadOnlyProjectRoleCollection, IHasId
256+ │ ├── IReadOnlyEntity (see above)
257+ │ ├── IReadOnlyPublisherRoleCollection : IReadOnlyPublisherCollection<IReadOnlyPublisherRole>
258+ │ │ └── IReadOnlyPublisherCollection<IReadOnlyPublisherRole> : IHasId
259+ │ └── IReadOnlyProjectRoleCollection : IReadOnlyProjectCollection<IReadOnlyProjectRole>
260+ │ └── IReadOnlyProjectCollection<IReadOnlyProjectRole> : IHasId
261+ │
262+ ├── IReadOnlyAccentColor : IHasId
253263│
254- └── Main Entity Interfaces:
255- ├── IReadOnlyUser : IReadOnlyEntity, IReadOnlyPublisherRoleCollection, IReadOnlyProjectRoleCollection
256- ├── IReadOnlyProject<T> : IReadOnlyEntity, IReadOnlyImagesCollection, IReadOnlyUserRoleCollection, IReadOnlyAccentColor, IReadOnlyFeaturesCollection
257- └── IReadOnlyPublisher<T> : IReadOnlyEntity, IReadOnlyAccentColor, IReadOnlyUserRoleCollection, IReadOnlyProjectCollection
264+ ├── IReadOnlyFeaturesCollection : IHasId
265+ │
266+ └── Dependencies (TDependencyCollection : IReadOnlyProjectCollection<IReadOnlyProject>)
267+ └── IReadOnlyProjectCollection<IReadOnlyProject> : IHasId
268+
269+ Final IReadOnlyProject inheritance:
270+ IReadOnlyProject : IReadOnlyProject<IReadOnlyProjectCollection>
271+ IReadOnlyProject<TDependencyCollection> : IReadOnlyEntity, IReadOnlyImagesCollection, IReadOnlyUserRoleCollection, IReadOnlyAccentColor, IReadOnlyFeaturesCollection, IHasId
272+ ```
273+
274+ ### IReadOnlyPublisher Interface Hierarchy
275+
276+ ```
277+ IHasId (OwlCore.ComponentModel)
278+ │
279+ ├── IReadOnlyEntity
280+ │ ├── IReadOnlyConnectionsCollection : IHasId
281+ │ ├── IReadOnlyLinksCollection : IHasId
282+ │ └── IReadOnlyImagesCollection : IHasId
283+ │
284+ ├── IReadOnlyAccentColor : IHasId
285+ │
286+ ├── IReadOnlyUserRoleCollection : IReadOnlyUserCollection<IReadOnlyUserRole>
287+ │ └── IReadOnlyUserCollection<IReadOnlyUserRole> : IHasId
288+ │ └── IReadOnlyUserRole : IReadOnlyUser
289+ │ └── IReadOnlyUser : IReadOnlyEntity, IReadOnlyPublisherRoleCollection, IReadOnlyProjectRoleCollection, IHasId
290+ │ ├── IReadOnlyEntity (see above)
291+ │ ├── IReadOnlyPublisherRoleCollection : IReadOnlyPublisherCollection<IReadOnlyPublisherRole>
292+ │ │ └── IReadOnlyPublisherCollection<IReadOnlyPublisherRole> : IHasId
293+ │ └── IReadOnlyProjectRoleCollection : IReadOnlyProjectCollection<IReadOnlyProjectRole>
294+ │ └── IReadOnlyProjectCollection<IReadOnlyProjectRole> : IHasId
295+ │
296+ ├── IReadOnlyProjectCollection : IReadOnlyProjectCollection<IReadOnlyProject>
297+ │ └── IReadOnlyProjectCollection<IReadOnlyProject> : IHasId
298+ │ └── IReadOnlyProject : IReadOnlyProject<IReadOnlyProjectCollection>
299+ │ └── IReadOnlyProject<TDependencyCollection> : IReadOnlyEntity, IReadOnlyImagesCollection, IReadOnlyUserRoleCollection, IReadOnlyAccentColor, IReadOnlyFeaturesCollection, IHasId
300+ │ ├── IReadOnlyEntity (see above)
301+ │ ├── IReadOnlyImagesCollection : IHasId (see above)
302+ │ ├── IReadOnlyUserRoleCollection (see above)
303+ │ ├── IReadOnlyAccentColor : IHasId (see above)
304+ │ └── IReadOnlyFeaturesCollection : IHasId
305+ │
306+ └── Publisher Hierarchy Collections (TPublisherCollection : IReadOnlyPublisherRoleCollection)
307+ └── IReadOnlyPublisherRoleCollection : IReadOnlyPublisherCollection<IReadOnlyPublisherRole>
308+ └── IReadOnlyPublisherCollection<IReadOnlyPublisherRole> : IHasId
309+ └── IReadOnlyPublisherRole : IReadOnlyPublisher
310+
311+ Final IReadOnlyPublisher inheritance:
312+ IReadOnlyPublisher : IReadOnlyPublisher<IReadOnlyPublisherRoleCollection>
313+ IReadOnlyPublisher<TPublisherCollection> : IReadOnlyEntity, IReadOnlyAccentColor, IReadOnlyUserRoleCollection, IReadOnlyProjectCollection, IHasId
258314```
259315
260316This interface inventory provides a comprehensive reference for understanding the type hierarchy and relationships within the WindowsAppCommunity.Sdk.
0 commit comments