PcoPeopleWorkflowShare constructor

  1. required String workflowId,
  2. String? id,
  3. String? group,
  4. String? permission,
  5. String? personId,
  6. Map<String, List<PcoResource>>? withRelationships,
  7. List<PcoResource>? withIncluded,

Create a new PcoPeopleWorkflowShare object using this endpoint: https://api.planningcenteronline.com/people/v2/workflows/$workflowId/shares


  • Creating an instance of a class this way does not save it on the server.
  • Call save() on the object to save it to the server.
  • Only set the id field if you know what you are doing. Save operations will overwrite data when the id is set.
  • Dummy data can be supplied for a required parameter, but if so, .save() should not be called on the object
  • FIELDS USED WHEN CREATING: group, permission, personId
  • FIELDS USED WHEN UPDATING: group, permission


factory PcoPeopleWorkflowShare(
    {required String workflowId,
    String? id,
    String? group,
    String? permission,
    String? personId,
    Map<String, List<PcoResource>>? withRelationships,
    List<PcoResource>? withIncluded}) {
  var obj = PcoPeopleWorkflowShare.empty();
  obj._id = id;
  obj._apiPathOverride =
  if (group != null) obj._attributes['group'] = group;
  if (permission != null) obj._attributes['permission'] = permission;
  if (personId != null) obj._attributes['person_id'] = personId;

  if (withRelationships != null) {
    for (var r in withRelationships.entries) {
      obj._relationships[r.key] = r.value;
    obj._hasManualRelationships = true;

  if (withIncluded != null) {
    obj._hasManualIncluded = true;

  return obj;