Source code for ace.centralize.models.requirement

"""
    Requirement models for Centralize

    Models for requirement info and entity links.

    Based on the Requirement GraphQL schema (CreateRequirementInfoInput,
    UpdateRequirementInfoInput) and the Lead schema (EntityLinkCreateParamsInput).
"""
from datetime import date
from typing import List, Optional

from ace.centralize.models.base import ModelBase


# ============================================= REQUIREMENT INFO =======================================================

[docs] class CreateRequirementInfoInput(ModelBase): """Maps to CreateRequirementInfoInput in GraphQL schema."""
[docs] def __init__( self, entity_id: int, entity_type_id: str, priority_id: int, requirement_id: int, status_id: int, applies_to_party_id: Optional[int] = None, cancelled_date: Optional[date] = None, completed_date: Optional[date] = None, due_date: Optional[date] = None, fulfilled_date: Optional[date] = None, fulfiller_party_id: Optional[int] = None, hold_date: Optional[date] = None, internal_reference_number: Optional[str] = None, received_date: Optional[date] = None, requested_date: Optional[date] = None, requester_party_id: Optional[int] = None, requirement_description: Optional[str] = None, source_party_id: Optional[int] = None, source_reference_number: Optional[str] = None, status_change_date: Optional[date] = None, status_reason_description: Optional[str] = None, sub_status_change_date: Optional[date] = None, sub_status_id: Optional[int] = None, ): self.entityId = entity_id self.entityTypeId = entity_type_id self.priorityId = priority_id self.requirementId = requirement_id self.statusId = status_id if applies_to_party_id is not None: self.appliesToPartyId = applies_to_party_id if cancelled_date is not None: self.cancelledDate = cancelled_date if completed_date is not None: self.completedDate = completed_date if due_date is not None: self.dueDate = due_date if fulfilled_date is not None: self.fulfilledDate = fulfilled_date if fulfiller_party_id is not None: self.fulfillerPartyId = fulfiller_party_id if hold_date is not None: self.holdDate = hold_date if internal_reference_number is not None: self.internalReferenceNumber = internal_reference_number if received_date is not None: self.receivedDate = received_date if requested_date is not None: self.requestedDate = requested_date if requester_party_id is not None: self.requesterPartyId = requester_party_id if requirement_description is not None: self.requirementDescription = requirement_description if source_party_id is not None: self.sourcePartyId = source_party_id if source_reference_number is not None: self.sourceReferenceNumber = source_reference_number if status_change_date is not None: self.statusChangeDate = status_change_date if status_reason_description is not None: self.statusReasonDescription = status_reason_description if sub_status_change_date is not None: self.subStatusChangeDate = sub_status_change_date if sub_status_id is not None: self.subStatusId = sub_status_id
# Backward-compatible alias CreateRequirementInfoObject = CreateRequirementInfoInput
[docs] class UpdateRequirementInfoInput(ModelBase): """Maps to UpdateRequirementInfoInput in GraphQL schema."""
[docs] def __init__( self, requirement_info_id: int, entity_id: int, entity_type_id: str, applies_to_party_id: Optional[int] = None, cancelled_date: Optional[date] = None, completed_date: Optional[date] = None, due_date: Optional[date] = None, fulfilled_date: Optional[date] = None, fulfiller_party_id: Optional[int] = None, hold_date: Optional[date] = None, internal_reference_number: Optional[str] = None, priority_id: Optional[int] = None, received_date: Optional[date] = None, requested_date: Optional[date] = None, requester_party_id: Optional[int] = None, requirement_description: Optional[str] = None, requirement_id: Optional[int] = None, source_party_id: Optional[int] = None, source_reference_number: Optional[str] = None, status_change_date: Optional[date] = None, status_id: Optional[int] = None, status_reason_description: Optional[str] = None, sub_status_change_date: Optional[date] = None, sub_status_id: Optional[int] = None, ): self.requirementInfoId = requirement_info_id self.entityId = entity_id self.entityTypeId = entity_type_id if applies_to_party_id is not None: self.appliesToPartyId = applies_to_party_id if cancelled_date is not None: self.cancelledDate = cancelled_date if completed_date is not None: self.completedDate = completed_date if due_date is not None: self.dueDate = due_date if fulfilled_date is not None: self.fulfilledDate = fulfilled_date if fulfiller_party_id is not None: self.fulfillerPartyId = fulfiller_party_id if hold_date is not None: self.holdDate = hold_date if internal_reference_number is not None: self.internalReferenceNumber = internal_reference_number if priority_id is not None: self.priorityId = priority_id if received_date is not None: self.receivedDate = received_date if requested_date is not None: self.requestedDate = requested_date if requester_party_id is not None: self.requesterPartyId = requester_party_id if requirement_description is not None: self.requirementDescription = requirement_description if requirement_id is not None: self.requirementId = requirement_id if source_party_id is not None: self.sourcePartyId = source_party_id if source_reference_number is not None: self.sourceReferenceNumber = source_reference_number if status_change_date is not None: self.statusChangeDate = status_change_date if status_id is not None: self.statusId = status_id if status_reason_description is not None: self.statusReasonDescription = status_reason_description if sub_status_change_date is not None: self.subStatusChangeDate = sub_status_change_date if sub_status_id is not None: self.subStatusId = sub_status_id
# Backward-compatible alias UpdateRequirementInfoObject = UpdateRequirementInfoInput