Skip to content

angee.proposals.schema

GraphQL resources and authored verbs for sealed proposal rounds.

ProposalRoundType

python
@strawberry_django.type(Round)
class ProposalRoundType(AuthoredRefMixin, AngeeNode)

GraphQL projection of one directly granted solicitation Round.

facilitator

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

Return the facilitator's public id.

opened_by

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

Return the opening actor's public id.

closed_by

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

Return the closing actor's public id.

ProposalTopicType

python
@strawberry_django.type(Topic)
class ProposalTopicType(AuthoredRefMixin, AngeeNode)

GraphQL projection of one stable comparison topic.

ProposalType

python
@strawberry_django.type(Proposal)
class ProposalType(AuthoredRefMixin, AngeeNode)

GraphQL projection of a field-gated structured response.

responder

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

Return the responder's public id.

submitted_by

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

Return the submission actor's public id.

decided_by

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

Return the decision actor's public id.

ConsoleProposalType

python
@strawberry_django.type(Proposal)
class ConsoleProposalType(AuthoredRefMixin, AngeeNode)

Console proposal projection with a label-bearing responder relation.

submitted_by

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

Return the submission actor's public id.

decided_by

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

Return the decision actor's public id.

ProposalAnswerType

python
@strawberry_django.type(Answer)
class ProposalAnswerType(AuthoredRefMixin, AngeeNode)

GraphQL projection of one topic-aligned answer.

ProposalReviewType

python
@strawberry_django.type(Review)
class ProposalReviewType(AuthoredRefMixin, AngeeNode)

GraphQL projection of one evaluator assessment.

reviewer

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

Return the reviewer's public id.

ProposalActionMutation

python
@strawberry.type
class ProposalActionMutation()

Row-authorized lifecycle, identity, track, and capture verbs.

open_proposal_round

python
@strawberry.mutation
@action_guard("Open round failed.")
def open_proposal_round(info: strawberry.Info,
                        round: PublicID) -> ActionResult

Open one collecting Round under its declared disclosure policy.

close_proposal_round

python
@strawberry.mutation
@action_guard("Close round failed.")
def close_proposal_round(info: strawberry.Info, round: PublicID,
                         outcome: RoundOutcome, accepted: list[PublicID],
                         partial: list[PublicID]) -> ActionResult

Close one Round with disjoint accepted and partial selections.

cancel_proposal_round

python
@strawberry.mutation
@action_guard("Cancel round failed.")
def cancel_proposal_round(info: strawberry.Info,
                          round: PublicID) -> ActionResult

Cancel a collecting or opened Round.

transfer_proposal_round_facilitation

python
@strawberry.mutation
@action_guard("Transfer facilitation failed.")
def transfer_proposal_round_facilitation(
        info: strawberry.Info, round: PublicID,
        facilitator: PublicID) -> ActionResult

Transfer facilitation and reconcile private-track grants.

submit_proposal

python
@strawberry.mutation
@action_guard("Submit proposal failed.")
def submit_proposal(info: strawberry.Info, proposal: PublicID) -> ActionResult

Submit one draft and revoke its responder editor tuple.

withdraw_proposal

python
@strawberry.mutation
@action_guard("Withdraw proposal failed.")
def withdraw_proposal(info: strawberry.Info,
                      proposal: PublicID) -> ActionResult

Withdraw one submitted Proposal as responder or facilitator.

identify_proposal_party

python
@strawberry.mutation
@action_guard("Identify proposal party failed.")
def identify_proposal_party(info: strawberry.Info, proposal: PublicID,
                            party: PublicID) -> ActionResult

Set one Proposal's party once through its row-locked verb.

create_proposal_track

python
@strawberry.mutation
@action_guard("Create proposal track failed.")
def create_proposal_track(info: strawberry.Info,
                          proposal: PublicID) -> ActionResult

Create the Proposal's one system-owned private Project track.

publish_proposal_track

python
@strawberry.mutation
@action_guard("Publish proposal track failed.")
def publish_proposal_track(info: strawberry.Info,
                           proposal: PublicID) -> ActionResult

Publish a validated private track to the Round's responders.

capture_proposal_from_message

python
@strawberry.mutation
@action_guard("Capture proposal failed.")
def capture_proposal_from_message(
        info: strawberry.Info,
        round: PublicID,
        message: PublicID,
        party: PublicID | None = None) -> ActionResult

Capture and submit one structured reply in a single transaction.

Released under the AGPL-3.0 License.