angee.proposals.schema
GraphQL resources and authored verbs for sealed proposal rounds.
ProposalRoundType
@strawberry_django.type(Round)
class ProposalRoundType(AuthoredRefMixin, AngeeNode)GraphQL projection of one directly granted solicitation Round.
facilitator
@strawberry_django.field(only=["facilitator_id"])
def facilitator() -> strawberry.ID | NoneReturn the facilitator's public id.
opened_by
@strawberry_django.field(only=["opened_by_id"])
def opened_by() -> strawberry.ID | NoneReturn the opening actor's public id.
closed_by
@strawberry_django.field(only=["closed_by_id"])
def closed_by() -> strawberry.ID | NoneReturn the closing actor's public id.
ProposalTopicType
@strawberry_django.type(Topic)
class ProposalTopicType(AuthoredRefMixin, AngeeNode)GraphQL projection of one stable comparison topic.
ProposalType
@strawberry_django.type(Proposal)
class ProposalType(AuthoredRefMixin, AngeeNode)GraphQL projection of a field-gated structured response.
responder
@strawberry_django.field(only=["responder_id"])
def responder() -> strawberry.ID | NoneReturn the responder's public id.
submitted_by
@strawberry_django.field(only=["submitted_by_id"])
def submitted_by() -> strawberry.ID | NoneReturn the submission actor's public id.
decided_by
@strawberry_django.field(only=["decided_by_id"])
def decided_by() -> strawberry.ID | NoneReturn the decision actor's public id.
ConsoleProposalType
@strawberry_django.type(Proposal)
class ConsoleProposalType(AuthoredRefMixin, AngeeNode)Console proposal projection with a label-bearing responder relation.
submitted_by
@strawberry_django.field(only=["submitted_by_id"])
def submitted_by() -> strawberry.ID | NoneReturn the submission actor's public id.
decided_by
@strawberry_django.field(only=["decided_by_id"])
def decided_by() -> strawberry.ID | NoneReturn the decision actor's public id.
ProposalAnswerType
@strawberry_django.type(Answer)
class ProposalAnswerType(AuthoredRefMixin, AngeeNode)GraphQL projection of one topic-aligned answer.
ProposalReviewType
@strawberry_django.type(Review)
class ProposalReviewType(AuthoredRefMixin, AngeeNode)GraphQL projection of one evaluator assessment.
reviewer
@strawberry_django.field(only=["reviewer_id"])
def reviewer() -> strawberry.ID | NoneReturn the reviewer's public id.
ProposalActionMutation
@strawberry.type
class ProposalActionMutation()Row-authorized lifecycle, identity, track, and capture verbs.
open_proposal_round
@strawberry.mutation
@action_guard("Open round failed.")
def open_proposal_round(info: strawberry.Info,
round: PublicID) -> ActionResultOpen one collecting Round under its declared disclosure policy.
close_proposal_round
@strawberry.mutation
@action_guard("Close round failed.")
def close_proposal_round(info: strawberry.Info, round: PublicID,
outcome: RoundOutcome, accepted: list[PublicID],
partial: list[PublicID]) -> ActionResultClose one Round with disjoint accepted and partial selections.
cancel_proposal_round
@strawberry.mutation
@action_guard("Cancel round failed.")
def cancel_proposal_round(info: strawberry.Info,
round: PublicID) -> ActionResultCancel a collecting or opened Round.
transfer_proposal_round_facilitation
@strawberry.mutation
@action_guard("Transfer facilitation failed.")
def transfer_proposal_round_facilitation(
info: strawberry.Info, round: PublicID,
facilitator: PublicID) -> ActionResultTransfer facilitation and reconcile private-track grants.
submit_proposal
@strawberry.mutation
@action_guard("Submit proposal failed.")
def submit_proposal(info: strawberry.Info, proposal: PublicID) -> ActionResultSubmit one draft and revoke its responder editor tuple.
withdraw_proposal
@strawberry.mutation
@action_guard("Withdraw proposal failed.")
def withdraw_proposal(info: strawberry.Info,
proposal: PublicID) -> ActionResultWithdraw one submitted Proposal as responder or facilitator.
identify_proposal_party
@strawberry.mutation
@action_guard("Identify proposal party failed.")
def identify_proposal_party(info: strawberry.Info, proposal: PublicID,
party: PublicID) -> ActionResultSet one Proposal's party once through its row-locked verb.
create_proposal_track
@strawberry.mutation
@action_guard("Create proposal track failed.")
def create_proposal_track(info: strawberry.Info,
proposal: PublicID) -> ActionResultCreate the Proposal's one system-owned private Project track.
publish_proposal_track
@strawberry.mutation
@action_guard("Publish proposal track failed.")
def publish_proposal_track(info: strawberry.Info,
proposal: PublicID) -> ActionResultPublish a validated private track to the Round's responders.
capture_proposal_from_message
@strawberry.mutation
@action_guard("Capture proposal failed.")
def capture_proposal_from_message(
info: strawberry.Info,
round: PublicID,
message: PublicID,
party: PublicID | None = None) -> ActionResultCapture and submit one structured reply in a single transaction.