PcoPeopleWorkflowCard class Null safety

This class represents a PCO People WorkflowCard Object

Instantiation

  • Create a new instance using the PcoPeopleWorkflowCard() constructor
  • Instantiate from existing JSON data using the PcoPeopleWorkflowCard.fromJson() constructor.
  • Load an instance from the API using one of the static methods defined on this class.

Usage

  • Fields exposed by the API are readable through getter methods.
  • Fields writable by the API are exposed through setter methods.
  • Original json data is exposed through the read-only attributes map.
  • Additional data is available through the read-only links and relationships maps.
  • Available relationships / includes are exposed through typed getters.

Description

A Card

Attributes (and permissions)

  • id (ro) -> PCO: id
  • snoozeUntil (ro) -> PCO: snooze_until
  • isOverdue (ro) -> PCO: overdue
  • stage (ro) -> PCO: stage
  • calculatedDueAtInDaysAgo (ro) -> PCO: calculated_due_at_in_days_ago
  • isStickyAssignment (rw) -> PCO: sticky_assignment
  • createdAt (ro) -> PCO: created_at
  • updatedAt (ro) -> PCO: updated_at
  • completedAt (ro) -> PCO: completed_at
  • flaggedForNotificationAt (ro) -> PCO: flagged_for_notification_at
  • removedAt (ro) -> PCO: removed_at
  • movedToStepAt (ro) -> PCO: moved_to_step_at
  • assigneeId (wo) -> PCO: assignee_id
  • personId (wo) -> PCO: person_id

Edges and Actions

Outbound Edges:

Inbound Edges:

Actions:

Raw Data Object Example

{
  "type": "WorkflowCard",
  "id": "1",
  "attributes": {
    "snooze_until": "2000-01-01T12:00:00Z",
    "overdue": true,
    "stage": "string",
    "calculated_due_at_in_days_ago": 1,
    "sticky_assignment": true,
    "created_at": "2000-01-01T12:00:00Z",
    "updated_at": "2000-01-01T12:00:00Z",
    "completed_at": "2000-01-01T12:00:00Z",
    "flagged_for_notification_at": "2000-01-01T12:00:00Z",
    "removed_at": "2000-01-01T12:00:00Z",
    "moved_to_step_at": "2000-01-01T12:00:00Z"
  },
  "relationships": {
    "assignee": {
      "data": {
        "type": "Assignee",
        "id": "1"
      }
    },
    "person": {
      "data": {
        "type": "Person",
        "id": "1"
      }
    },
    "workflow": {
      "data": {
        "type": "Workflow",
        "id": "1"
      }
    },
    "current_step": {
      "data": {
        "type": "WorkflowStep",
        "id": "1"
      }
    }
  }
}
Inheritance

Constructors

PcoPeopleWorkflowCard({required String workflowId, String? id, DateTime? snoozeUntil, bool? isOverdue, String? stage, int? calculatedDueAtInDaysAgo, bool? isStickyAssignment, DateTime? createdAt, DateTime? updatedAt, DateTime? completedAt, DateTime? flaggedForNotificationAt, DateTime? removedAt, DateTime? movedToStepAt, String? assigneeId, String? personId, Map<String, List<PcoResource>>? withRelationships, List<PcoResource>? withIncluded})
Create a new PcoPeopleWorkflowCard object using this endpoint: https://api.planningcenteronline.com/people/v2/workflows/$workflowId/cards
factory
PcoPeopleWorkflowCard.empty()
Create an empty instance of this class. This is only useful when an endpoint requires related or included data.
PcoPeopleWorkflowCard.fromJson(Map<String, dynamic> data, {List<Map<String, dynamic>>? withIncluded})

Properties

api PlanningCenter
planning center resources must be tied to an api
read-onlyinherited
apiEndpoint String
read-onlyinherited
apiPath String
PcoResources include their own path as a link object but this might be null if we haven't created/fetched the object yet Child classes should redefine this getter to allow for manual path overrides
read-onlyoverride
apiVersion String
child classes can override these getters which will allow methods in this class to see static variables from child classes
read-onlyoverride
assigneeId String
pass null to remove key from attributes
read / write
attributes ReadOnlyMapView<String, dynamic>
contains the underlying attributes returned by the api and allows a user to access arbitrary data in the attributes by actual api name
read-onlyinherited
calculatedDueAtInDaysAgo int
read-only
canCreate bool
read-onlyoverride
canDestroy bool
read-onlyoverride
canUpdate bool
read-onlyoverride
completedAt DateTime
read-only
createAllowed List<String>
read-onlyoverride
createdAt DateTime
read-onlyinherited
createPathTemplate String
read-onlyoverride
defaultPathTemplate String
read-onlyoverride
fetched bool
indicate whether an item is full or partial
read / writeinherited
flaggedForNotificationAt DateTime
read-only
hashCode int
The hash code for this object.
read-onlyinherited
id String?
read-onlyinherited
included List<PcoResource>
contains included items parsed into objects
read-onlyinherited
includedPerson PcoPeoplePerson?
read-only
includedWorkflow PcoPeopleWorkflow?
read-only
isOverdue bool
read-only
isStickyAssignment bool
pass null to remove key from attributes
read / write
contains the links data returned by the api if present
read-onlyinherited
movedToStepAt DateTime
read-only
needsSave bool
read-onlyinherited
pcoApplication String
latefinalinherited
personId String
pass null to remove key from attributes
read / write
relationships ReadOnlyMapView<String, List<PcoResource>>
contains relationships parsed into objects even though the api sends relationship objects as Maps or Lists we always put them into lists for consistency
read-onlyinherited
removedAt DateTime
read-only
resourceType String
all planning center resources must have a type
latefinalinherited
runtimeType Type
A representation of the runtime type of the object.
read-onlyinherited
slug String
read-onlyinherited
snoozeUntil DateTime
read-only
stage String
read-only
updateAllowed List<String>
read-onlyoverride
updatedAt DateTime
read-onlyinherited

Methods

coerceDouble(dynamic a) double
inherited
coerceInt(dynamic a) int
inherited
delete() Future<PlanningCenterApiResponse<PlanningCenterApiData>>
inherited
filteredAttributes(List<String> allowedKeys) Map<String, dynamic>
inherited
fromJson(Map<String, dynamic> data, {List<Map<String, dynamic>>? withIncluded}) → dynamic
Takes a full JSON:API Response Object (the contents of a "data" field) will clear and update id, apiPath, attributes and _relationships
inherited
getActivities({PcoPeopleWorkflowCardActivityQuery? query}) Future<PcoCollection<PcoPeopleWorkflowCardActivity>>
Will get a collection of PcoPeopleWorkflowCardActivity objects (expecting many) using a path like this: https://api.planningcenteronline.com/people/v2/people/1/workflow_cards/1/activities
getAssignee({PcoPeoplePersonQuery? query}) Future<PcoCollection<PcoPeoplePerson>>
Will get a collection of PcoPeoplePerson objects (expecting one) using a path like this: https://api.planningcenteronline.com/people/v2/people/1/workflow_cards/1/assignee
getCurrentStep({PcoPeopleWorkflowStepQuery? query}) Future<PcoCollection<PcoPeopleWorkflowStep>>
Will get a collection of PcoPeopleWorkflowStep objects (expecting one) using a path like this: https://api.planningcenteronline.com/people/v2/people/1/workflow_cards/1/current_step
getNotes({PcoPeopleWorkflowCardNoteQuery? query}) Future<PcoCollection<PcoPeopleWorkflowCardNote>>
Will get a collection of PcoPeopleWorkflowCardNote objects (expecting many) using a path like this: https://api.planningcenteronline.com/people/v2/people/1/workflow_cards/1/notes
getPerson({PcoPeoplePersonQuery? query}) Future<PcoCollection<PcoPeoplePerson>>
Will get a collection of PcoPeoplePerson objects (expecting one) using a path like this: https://api.planningcenteronline.com/people/v2/people/1/workflow_cards/1/person
getWorkflow({PcoPeopleWorkflowQuery? query}) Future<PcoCollection<PcoPeopleWorkflow>>
Will get a collection of PcoPeopleWorkflow objects (expecting one) using a path like this: https://api.planningcenteronline.com/people/v2/people/1/workflow_cards/1/workflow
goBack(Object data) Future<PlanningCenterApiResponse<PlanningCenterApiData>>
ACTION: go_back
handleIncludes(List<Map<String, dynamic>> included) → void
This function populates the relationships with typed resource objects based on the data in the included map of the json.
inherited
handleItem(Map<String, dynamic> data) PcoResource?
inherited
handleRelationships(Map<String, dynamic> items, [List<Map<String, dynamic>> included = const []]) Map<String, List<PcoResource>>
inherited
includedAssignee<T extends PcoResource>() List<T>
The code generator could not automatically determine the resource type of this relationship. For type safe code, you should specify it in the type argument when calling.
includedCurrentStep<T extends PcoResource>() List<T>
The code generator could not automatically determine the resource type of this relationship. For type safe code, you should specify it in the type argument when calling.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a non-existent method or property is accessed.
inherited
promote(Object data) Future<PlanningCenterApiResponse<PlanningCenterApiData>>
ACTION: promote
remove(Object data) Future<PlanningCenterApiResponse<PlanningCenterApiData>>
ACTION: remove
restore(Object data) Future<PlanningCenterApiResponse<PlanningCenterApiData>>
ACTION: restore
save({Map<String, PcoResource>? withRelated, List<PcoResource>? withIncluded}) Future<PlanningCenterApiResponse<PlanningCenterApiData>>
Many Planning Center endpoints allow or require additional relationships and/or included items to be sent with a create/update operation. Since these cannot always be determined by the automatic code generation, they may be included as arguments to the save operation.
inherited
sendEmail(Object data) Future<PlanningCenterApiResponse<PlanningCenterApiData>>
ACTION: send_email
skipStep(Object data) Future<PlanningCenterApiResponse<PlanningCenterApiData>>
ACTION: skip_step
snooze(Object data) Future<PlanningCenterApiResponse<PlanningCenterApiData>>
ACTION: snooze
toCreateResource() Map<String, dynamic>
create the attributes Map for this object without the id field using only the attributes allowed in create (post) operations
inherited
toDataMap({Map<String, PcoResource>? withRelated, List<PcoResource>? withIncluded}) Map<String, dynamic>
create a json-api Map for this object automatically selecting create or update based on the existence of the id field. Will result in something like this:
inherited
toIdResource() Map<String, dynamic>
returns the simplest representation of this resource with only the type and the id:
inherited
toJson({dynamic includeAttributes = true, dynamic includeRelationships = false}) Map<String, dynamic>
Some api requests only want the type and id of an object. In those cases, set includeAttributes to false or call toIdResource instead.
inherited
toString() String
A string representation of this object.
inherited
toUpdateResource() Map<String, dynamic>
create the attributes Map for this object using only the attributes allowed in update (patch) operations
inherited
unsnooze(Object data) Future<PlanningCenterApiResponse<PlanningCenterApiData>>
ACTION: unsnooze

Operators

operator ==(Object other) bool
The equality operator.
inherited

Static Properties

canInclude List<String>
possible includes with parameter ?include=a,b
read-only
canOrderBy List<String>
possible orderings with parameter ?order=
read-only
canQuery List<String>
possible queries using parameters like ?wherekey=value or ?wheregt|lt=value
read-only

Static Methods

getAllFromPerson(String personId, {String? id, PcoPeopleWorkflowCardQuery? query, bool includeAllRelated = false, bool includeAssignee = false, bool includeCurrentStep = false, bool includePerson = false, bool includeWorkflow = false}) Future<PcoCollection<PcoPeopleWorkflowCard>>
Will get a PcoCollection containing ALL PcoPeopleWorkflowCard objects (expecting many) using a path like this: /people/v2/people/$personId/workflow_cards
getCardsFromWorkflow(String workflowId, {PcoPeopleWorkflowCardQuery? query, bool getAll = false, bool includeAllRelated = false, bool includeAssignee = false, bool includeCurrentStep = false, bool includePerson = false, bool includeWorkflow = false}) Future<PcoCollection<PcoPeopleWorkflowCard>>
Will get a PcoCollection of PcoPeopleWorkflowCard objects (expecting one) using a path like this: /people/v2/workflows/$workflowId/cards
getFromPerson(String personId, {String? id, PcoPeopleWorkflowCardQuery? query, bool getAll = false, bool includeAllRelated = false, bool includeAssignee = false, bool includeCurrentStep = false, bool includePerson = false, bool includeWorkflow = false}) Future<PcoCollection<PcoPeopleWorkflowCard>>
Will get a PcoCollection of PcoPeopleWorkflowCard objects (expecting many) using a path like this: /people/v2/people/$personId/workflow_cards
getSingleFromPerson(String personId, String id, {PcoPeopleWorkflowCardQuery? query, bool includeAllRelated = false, bool includeAssignee = false, bool includeCurrentStep = false, bool includePerson = false, bool includeWorkflow = false}) Future<PcoPeopleWorkflowCard?>
Will get a single PcoPeopleWorkflowCard object using a path like this: /people/v2/people/$personId/workflow_cards/[id]

Constants

kApiVersion → const String
'2022-07-14'
kAssigneeId → const String
'assignee_id'
kCalculatedDueAtInDaysAgo → const String
'calculated_due_at_in_days_ago'
kCompletedAt → const String
'completed_at'
kCreatedAt → const String
'created_at'
kCreatePathTemplate → const String
'https://api.planningcenteronline.com/people/v2/workflows/1/cards'
kDefaultPathTemplate → const String
'https://api.planningcenteronline.com/people/v2/people/1/workflow_cards'
kFlaggedForNotificationAt → const String
'flagged_for_notification_at'
kId → const String
'id'
kMovedToStepAt → const String
'moved_to_step_at'
kOverdue → const String
'overdue'
kPcoApplication → const String
'people'
kPersonId → const String
'person_id'
kRemovedAt → const String
'removed_at'
kSnoozeUntil → const String
'snooze_until'
kStage → const String
'stage'
kStickyAssignment → const String
'sticky_assignment'
kTypeId → const String
'workflow_card'
kTypeString → const String
'WorkflowCard'
kUpdatedAt → const String
'updated_at'