TeamPostDto
@raizfc/contracts / TeamPostDto
Type Alias: TeamPostDto
TeamPostDto =
Readonly<{archivedAt?:ISODateString;authorId:ID;createdAt:ISODateString;id:ID;link?:PostLinkDto;media?:ImageAsset;publicRoute:PublicRoute;publishedAt?:ISODateString;status:TeamPostStatus;teamId:ID;text:string;title:string;type:OfficialPostContentType;updatedAt:ISODateString;version:number; }>
Defined in: team/team-posts.dto.ts:22
Management-side entity behind the Posts Module (SPEC-UX-TEAM-MGMT-001: "Drafts, published,
suggestions, preview e share card") and behind PublicTeamResponse.feed/PublicTeamPostDto
(packages/contracts/src/team.ts) once published. Deliberately scoped to a single team's own
public-page feed, not the future cross-entity home feed (FeedPostDto/SPEC-DOMAIN-FEED-001,
IS-MVP-11.x) — that domain aggregates many entity/source types and is out of this pack's
artifact boundary (packages/contracts/src/team/** only). Platform-generated "suggestions" are
likewise deferred: they require match/ranking event data that IS-MVP-06.x/12.x have not built
yet (registered as a deferral in the EP-MVP-04.5 handoff, same pattern as the EP-MVP-04.4
handoff deferring invite-response). Never deleted, only status-transitioned
(draft → published → archived), mirroring TeamCategoryDto's "never deleted" rule.
type (IS-MVP-11.2 "Allowed post types") is fixed at creation — never editable via
UpdatePostRequest — so a post's template never changes shape mid-life; media/link stay
mutually exclusive per validateOfficialPostContent (packages/contracts/src/assets.ts).