PcoServicesZoom constructor

PcoServicesZoom({
  1. required String attachmentId,
  2. String? id,
  3. double? aspectRatio,
  4. double? zoomLevel,
  5. double? xOffset,
  6. double? yOffset,
  7. Map<String, List<PcoResource>>? withRelationships,
  8. List<PcoResource>? withIncluded,
})

Create a new PcoServicesZoom object using this endpoint: https://api.planningcenteronline.com/services/v2/attachments/$attachmentId/zooms

NOTES:

  • 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: zoomLevel, xOffset, yOffset, aspectRatio
  • FIELDS USED WHEN UPDATING: zoomLevel, xOffset, yOffset

Implementation

factory PcoServicesZoom(
    {required String attachmentId,
    String? id,
    double? aspectRatio,
    double? zoomLevel,
    double? xOffset,
    double? yOffset,
    Map<String, List<PcoResource>>? withRelationships,
    List<PcoResource>? withIncluded}) {
  var obj = PcoServicesZoom.empty();
  obj._id = id;
  obj._apiPathOverride =
      'https://api.planningcenteronline.com/services/v2/attachments/$attachmentId/zooms';
  if (aspectRatio != null) obj._attributes['aspect_ratio'] = aspectRatio;
  if (zoomLevel != null) obj._attributes['zoom_level'] = zoomLevel;
  if (xOffset != null) obj._attributes['x_offset'] = xOffset;
  if (yOffset != null) obj._attributes['y_offset'] = yOffset;

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

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

  return obj;
}