Pular para o conteúdo principal

TeamPostDto

@raizfc/contracts


@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).