A project member can be a GUEST. In a private project a guest only sees the tickets they take part in (opened, assigned or followed): every other ticket answers 404, also in my work, realtime changes, blockers and linked tickets, and project-wide views (activity, statistics, dashboard, releases, sprints, epics, trash) answer 403. Guests open tickets without assigning or planning them, and comment, attach, follow and vote on their own; they change nothing else. In a public project they see what anyone does. The web gives them only Tablero, Lista and Miembros and loads none of the project-wide data. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
14 lines
396 B
TypeScript
14 lines
396 B
TypeScript
import { Query } from '@nestjs/cqrs';
|
|
|
|
export class CanViewProjectQuery extends Query<boolean> {
|
|
constructor(
|
|
/** Null: anonymous (public projects only). */
|
|
public readonly viewerId: string | null,
|
|
public readonly projectId: string,
|
|
/** The whole project (activity, releases…), not only a guest's tickets. */
|
|
public readonly wholeProject = false,
|
|
) {
|
|
super();
|
|
}
|
|
}
|