Refactor AppModels according to refined API spec #5
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Related to #4
Refactor AppModels to align with the refined API specification.
IReadOnlyEntity
interface with common properties and events.IModifiableEntity
interface with common methods for updating properties.IReadOnlyUser
to inherit fromIReadOnlyEntity
, removeMarkdownAboutMe
andIcon
properties, addExtendedDescription
property, and add methods for retrieving publishers and projects along with their roles.IModifiableUser
to inherit fromIModifiableEntity
, removeUpdateMarkdownAboutMeAsync
andUpdateIconAsync
methods, and add methods for adding/removing publishers and projects along with their roles.IReadOnlyPublisher
to inherit fromIReadOnlyEntity
, removeOwner
,ContactEmail
, andIcon
properties, addExtendedDescription
andForgetMe
properties, add methods for retrieving users along with their roles, and add properties for Connections and Links.IModifiablePublisher
to inherit fromIModifiableEntity
, removeUpdateOwnerAsync
andUpdateIconAsync
methods, add methods for adding/removing users along with their roles, and add methods for adding/removing connections and links.IReadOnlyProject
to inherit fromIReadOnlyEntity
, removeHeroImage
,CreatedAt
, andIcon
properties, addExtendedDescription
property, and replaceCid
andDagCid
withIReadOnlyConnection
.IModifiableProject
to inherit fromIModifiableEntity
, removeUpdateHeroImageAsync
andUpdateIconAsync
methods, add methods for adding/removing connections, and replaceCid
andDagCid
withIReadOnlyConnection
.IReadOnlyConnection
interface with propertiesKey
andValue
, and event handlers for ValueChanged.IModifiableConnection
interface with methods for updatingKey
andValue
.For more details, open the Copilot Workspace session.