Skip to content

angee.portfolio.schema

GraphQL resources and authored actions for portfolio strategy.

ProductType

python
@strawberry_django.type(Product)
class ProductType(AuthoredRefMixin, AngeeNode)

GraphQL projection of a phasal Product.

owner

python
@strawberry_django.field(only=["owner_id"])
def owner() -> strawberry.ID | None

Return the owner's public id without exposing auth/user.

ConsoleProductType

python
@strawberry_django.type(Product)
class ConsoleProductType(AuthoredRefMixin, AngeeNode)

Console Product projection with a label-bearing owner relation.

InitiativeType

python
@strawberry_django.type(Initiative)
class InitiativeType(AuthoredRefMixin, AngeeNode)

GraphQL projection of one strategic tree node.

owner

python
@strawberry_django.field(only=["owner_id"])
def owner() -> strawberry.ID | None

Return the owner's public id without exposing auth/user.

ConsoleInitiativeType

python
@strawberry_django.type(Initiative)
class ConsoleInitiativeType(AuthoredRefMixin, AngeeNode)

Console Initiative projection with a label-bearing owner relation.

InitiativeProjectType

python
@strawberry_django.type(InitiativeProject)
class InitiativeProjectType(AuthoredRefMixin, AngeeNode)

GraphQL projection of an ordered Initiative-to-Project placement.

PortfolioUpdateType

python
@strawberry_django.type(Update)
class PortfolioUpdateType(AuthoredRefMixin, AngeeNode)

GraphQL projection of one Project/Initiative health assertion.

target_model

python
@strawberry.field
def target_model() -> str

Return the target's Django model label.

target_id

python
@strawberry.field
def target_id() -> strawberry.ID

Return the target's stable public id.

ReleaseType

python
@strawberry_django.type(Release)
class ReleaseType(AuthoredRefMixin, AngeeNode)

GraphQL projection of a Product release artifact.

ProjectPortfolioExtension

python
@strawberry_django.type(Project, name="ProjectType", extend=True)
class ProjectPortfolioExtension()

Contribute portfolio placement and health onto ProjectType.

ConsoleProjectPortfolioExtension

python
@strawberry_django.type(Project, name="ConsoleProjectType", extend=True)
class ConsoleProjectPortfolioExtension()

Contribute portfolio placement and health onto ConsoleProjectType.

The console schema projects Project through its own label-bearing node (ConsoleProjectType); name-targeted extensions do not carry over from ProjectType, so the same donor fields are contributed here console-only.

TaskPortfolioExtension

python
@strawberry_django.type(Task, name="TaskType", extend=True)
class TaskPortfolioExtension()

Contribute fixed-in release attribution onto TaskType.

ConsoleTaskPortfolioExtension

python
@strawberry_django.type(Task, name="ConsoleTaskType", extend=True)
class ConsoleTaskPortfolioExtension()

Contribute fixed-in release attribution onto ConsoleTaskType.

PortfolioActionMutation

python
@strawberry.type
class PortfolioActionMutation()

Row-authorized maturation and health-report actions.

promote_project_to_product

python
@strawberry.mutation
@action_guard("Promote project to product failed.")
def promote_project_to_product(info: strawberry.Info,
                               id: PublicID) -> ActionResult

Promote one writable Project while retaining its provenance.

report_project_update

python
@strawberry.mutation
@action_guard("Report project update failed.")
def report_project_update(info: strawberry.Info, id: PublicID,
                          health: UpdateHealthChoice,
                          body: str) -> ActionResult

Create one required-health report on a writable Project.

report_initiative_update

python
@strawberry.mutation
@action_guard("Report initiative update failed.")
def report_initiative_update(info: strawberry.Info, id: PublicID,
                             health: UpdateHealthChoice,
                             body: str) -> ActionResult

Create one required-health report on a writable Initiative.

Released under the AGPL-3.0 License.