PcoGivingFund class Null safety
This class represents a PCO Giving Fund Object
- Application: giving
- Id: fund
- Type: Fund
- ApiVersion: 2019-10-18
- Is Deprecated: false
- Is Collection Only: false
- Default Endpoint: https://api.planningcenteronline.com/giving/v2/funds
- Create Endpoint: https://api.planningcenteronline.com/giving/v2/funds
Instantiation
- Create a new instance using the
PcoGivingFund()
constructor - Instantiate from existing
JSON
data using thePcoGivingFund.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-onlyattributes
map. - Additional data is available through the read-only
links
andrelationships
maps. - Available relationships / includes are exposed through typed getters.
Description
A Fund
is a way of tracking the intent of Donation
.
All Organization
s have a default Fund
(usually named "General"), and creating additional Fund
s allows donors to allocate their gift to a particular cause/effort.
You can query for the default Fund
using the default
param:
GET https://api.planningcenteronline.com/giving/v2/funds?where[default]=true
Attributes (and permissions)
id
(ro) -> PCO:id
createdAt
(ro) -> PCO:created_at
updatedAt
(ro) -> PCO:updated_at
name
(rw) -> PCO:name
ledgerCode
(rw) -> PCO:ledger_code
description
(rw) -> PCO:description
visibility
(rw) -> PCO:visibility
colorIdentifier
(rw) -> PCO:color_identifier
isDefault
(ro) -> PCO:default
color
(ro) -> PCO:color
isDeletable
(ro) -> PCO:deletable
Edges and Actions
Outbound Edges: NONE
Inbound Edges:
fund-designation-fund
: https://api.planningcenteronline.com/giving/v2/donations/1/designations/1/fundfund-organization-funds
: https://api.planningcenteronline.com/giving/v2/fundsfund-pledgecampaign-fund
: https://api.planningcenteronline.com/giving/v2/pledge_campaigns/1/fundfund-recurringdonationdesignation-fund
: https://api.planningcenteronline.com/giving/v2/recurring_donations/1/designations/1/fund
Actions: NONE
Raw Data Object Example
{
"type": "Fund",
"id": "1",
"attributes": {
"created_at": "2000-01-01T12:00:00Z",
"updated_at": "2000-01-01T12:00:00Z",
"name": "string",
"ledger_code": "string",
"description": "string",
"visibility": "value",
"default": true,
"color": "string",
"deletable": true
},
"relationships": {}
}
- Inheritance
-
- Object
- PcoResource
- PcoGivingFund
Constructors
-
PcoGivingFund({String? id, DateTime? createdAt, DateTime? updatedAt, String? name, String? ledgerCode, String? description, String? visibility, int? colorIdentifier, bool? isDefault, String? color, bool? isDeletable, Map<
String, List< ? withRelationships, List<PcoResource> >PcoResource> ? withIncluded}) -
Create a new PcoGivingFund object using this endpoint:
https://api.planningcenteronline.com/giving/v2/funds
factory - PcoGivingFund.empty()
- Create an empty instance of this class. This is only useful when an endpoint requires related or included data.
-
PcoGivingFund.fromJson(Map<
String, dynamic> data, {List<Map< ? withIncluded})String, dynamic> >
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
-
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
- canCreate → bool
-
read-onlyoverride
- canDestroy → bool
-
read-onlyoverride
- canUpdate → bool
-
read-onlyoverride
- color → String
-
read-only
- colorIdentifier ↔ int
-
Required. When creating a Fund, a
color_identifier
must be assigned. Acolor_identifier
is an integer that corresponds to an available fund color. These colors are predefined and not configurable. There are 12 colors available (colors listed with their identifiers in parentheses): #a1a1a1 (1), #b2cf74 (2), #9ccc79 (3), #9bd3b7 (4), #81bbbc (5), #78afce (6), #d99fca (7), #c0a0d2 (8), #f19ca2 (9), #f59b79 (10), #fab676 (11), and #cfab77 (12)read / write -
createAllowed
→ List<
String> -
read-onlyoverride
- createdAt → DateTime
-
read-onlyinherited
- createPathTemplate → String
-
read-onlyoverride
- defaultPathTemplate → String
-
read-onlyoverride
- description ↔ String
-
A short description that describes how the money given to the fund will be used. 255 characters maximum.
read / write
- fetched ↔ bool
-
indicate whether an item is full or partial
read / writeinherited
- 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
- isDefault → bool
-
read-only
- isDeletable → bool
-
read-only
- ledgerCode ↔ String
-
If an organization's general ledger software tracks funds by code, this attribute can be used to store the fund's code for reference.
read / write
-
links
→ ReadOnlyMapView<
String, dynamic> -
contains the links data returned by the api if present
read-onlyinherited
- name ↔ String
-
Required. The name for a fund. Must be unique within the associated organization.
read / write
- needsSave → bool
-
read-onlyinherited
- pcoApplication ↔ String
-
latefinalinherited
-
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
- 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
-
updateAllowed
→ List<
String> -
read-onlyoverride
- updatedAt → DateTime
-
read-onlyinherited
- visibility ↔ String
-
Required. Controls how a fund is visible on Church Center.
everywhere
will allow anyone to donate to the fund on Church Center.admin_only
will hide the fund on Church Center, allowing only permitted Giving Users to designate donations to it.nowhere
will prevent donations from being designated to the fund altogether, while still displaying fund data in historical reports.hidden
will hide the fund from the list of funds in the default Church Center donation form, but allow donors to give to it via direct link, or through Text-to-Give.read / write
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< ? withIncluded}) → dynamicString, dynamic> > -
Takes a full JSON:API Response Object (the contents of a "data" field)
will clear and update id, apiPath, attributes and
_relationships
inherited -
handleIncludes(
List< Map< included) → voidString, dynamic> > -
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< included = const []]) → Map<String, dynamic> >String, List< PcoResource> > -
inherited
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a non-existent method or property is accessed.
inherited
-
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
-
toCreateResource(
) → Map< String, dynamic> -
create the attributes Map for this object without the
id
field using only the attributes allowed in create (post) operationsinherited -
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
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 ?where
key
=value or ?wheregt|lt
=valueread-only
Static Methods
-
get(
{String? id, PcoGivingFundQuery? query, bool getAll = false}) → Future< PcoCollection< PcoGivingFund> > -
Will get a
PcoCollection
of PcoGivingFund objects (expecting many) using a path like this:/giving/v2/funds
-
getAll(
{String? id, PcoGivingFundQuery? query}) → Future< PcoCollection< PcoGivingFund> > -
Will get a
PcoCollection
containing ALL PcoGivingFund objects (expecting many) using a path like this:/giving/v2/funds
-
getAllFromDonationAndDesignation(
String donationId, String designationId, {String? id, PcoGivingFundQuery? query}) → Future< PcoCollection< PcoGivingFund> > -
Will get a
PcoCollection
containing ALL PcoGivingFund objects (expecting many) using a path like this:/giving/v2/donations/$donationId/designations/$designationId/fund
-
getAllFromPledgeCampaign(
String pledgeCampaignId, {String? id, PcoGivingFundQuery? query}) → Future< PcoCollection< PcoGivingFund> > -
Will get a
PcoCollection
containing ALL PcoGivingFund objects (expecting many) using a path like this:/giving/v2/pledge_campaigns/$pledgeCampaignId/fund
-
getAllFromRecurringDonationAndDesignation(
String recurringDonationId, String designationId, {String? id, PcoGivingFundQuery? query}) → Future< PcoCollection< PcoGivingFund> > -
Will get a
PcoCollection
containing ALL PcoGivingFund objects (expecting many) using a path like this:/giving/v2/recurring_donations/$recurringDonationId/designations/$designationId/fund
-
getFromDonationAndDesignation(
String donationId, String designationId, {String? id, PcoGivingFundQuery? query, bool getAll = false}) → Future< PcoCollection< PcoGivingFund> > -
Will get a
PcoCollection
of PcoGivingFund objects (expecting many) using a path like this:/giving/v2/donations/$donationId/designations/$designationId/fund
-
getFromPledgeCampaign(
String pledgeCampaignId, {String? id, PcoGivingFundQuery? query, bool getAll = false}) → Future< PcoCollection< PcoGivingFund> > -
Will get a
PcoCollection
of PcoGivingFund objects (expecting many) using a path like this:/giving/v2/pledge_campaigns/$pledgeCampaignId/fund
-
getFromRecurringDonationAndDesignation(
String recurringDonationId, String designationId, {String? id, PcoGivingFundQuery? query, bool getAll = false}) → Future< PcoCollection< PcoGivingFund> > -
Will get a
PcoCollection
of PcoGivingFund objects (expecting many) using a path like this:/giving/v2/recurring_donations/$recurringDonationId/designations/$designationId/fund
-
getSingle(
String id, {PcoGivingFundQuery? query}) → Future< PcoGivingFund?> -
Will get a single
PcoGivingFund
object using a path like this:/giving/v2/funds/[id]
-
getSingleFromDonationAndDesignation(
String donationId, String designationId, String id, {PcoGivingFundQuery? query}) → Future< PcoGivingFund?> -
Will get a single
PcoGivingFund
object using a path like this:/giving/v2/donations/$donationId/designations/$designationId/fund/[id]
-
getSingleFromPledgeCampaign(
String pledgeCampaignId, String id, {PcoGivingFundQuery? query}) → Future< PcoGivingFund?> -
Will get a single
PcoGivingFund
object using a path like this:/giving/v2/pledge_campaigns/$pledgeCampaignId/fund/[id]
-
getSingleFromRecurringDonationAndDesignation(
String recurringDonationId, String designationId, String id, {PcoGivingFundQuery? query}) → Future< PcoGivingFund?> -
Will get a single
PcoGivingFund
object using a path like this:/giving/v2/recurring_donations/$recurringDonationId/designations/$designationId/fund/[id]
Constants
- kApiVersion → const String
-
'2019-10-18'
- kColor → const String
-
'color'
- kColorIdentifier → const String
-
'color_identifier'
- kCreatedAt → const String
-
'created_at'
- kCreatePathTemplate → const String
-
'https://api.planningcenteronline.com/giving/v2/funds'
- kDefault → const String
-
'default'
- kDefaultPathTemplate → const String
-
'https://api.planningcenteronline.com/giving/v2/funds'
- kDeletable → const String
-
'deletable'
- kDescription → const String
-
'description'
- kId → const String
-
'id'
- kLedgerCode → const String
-
'ledger_code'
- kName → const String
-
'name'
- kPcoApplication → const String
-
'giving'
- kTypeId → const String
-
'fund'
- kTypeString → const String
-
'Fund'
- kUpdatedAt → const String
-
'updated_at'
- kVisibility → const String
-
'visibility'