Index: generated/googleapis/lib/civicinfo/v1.dart |
diff --git a/generated/googleapis/lib/civicinfo/v1.dart b/generated/googleapis/lib/civicinfo/v1.dart |
new file mode 100644 |
index 0000000000000000000000000000000000000000..d65c919c1112f681eb3c9340492c8cf568d284d2 |
--- /dev/null |
+++ b/generated/googleapis/lib/civicinfo/v1.dart |
@@ -0,0 +1,1775 @@ |
+library googleapis.civicinfo.v1; |
+ |
+import "dart:core" as core; |
+import "dart:collection" as collection; |
+import "dart:async" as async; |
+import "dart:convert" as convert; |
+ |
+import "package:crypto/crypto.dart" as crypto; |
+import 'package:http/http.dart' as http; |
+import '../src/common_internal.dart' as common_internal; |
+import '../common/common.dart' as common; |
+ |
+export '../common/common.dart' show ApiRequestError; |
+export '../common/common.dart' show DetailedApiRequestError; |
+ |
+/** An API for accessing civic information. */ |
+class CivicinfoApi { |
+ |
+ final common_internal.ApiRequester _requester; |
+ |
+ DivisionsResourceApi get divisions => new DivisionsResourceApi(_requester); |
+ ElectionsResourceApi get elections => new ElectionsResourceApi(_requester); |
+ RepresentativesResourceApi get representatives => new RepresentativesResourceApi(_requester); |
+ |
+ CivicinfoApi(http.Client client) : |
+ _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/civicinfo/v1/"); |
+} |
+ |
+ |
+/** Not documented yet. */ |
+class DivisionsResourceApi { |
+ final common_internal.ApiRequester _requester; |
+ |
+ DivisionsResourceApi(common_internal.ApiRequester client) : |
+ _requester = client; |
+ |
+ /** |
+ * Searches for political divisions by their natural name or OCD ID. |
+ * |
+ * Request parameters: |
+ * |
+ * [query] - The search query. Queries can cover any parts of a OCD ID or a |
+ * human readable division name. All words given in the query are treated as |
+ * required patterns. In addition to that, most query operators of the Apache |
+ * Lucene library are supported. See |
+ * http://lucene.apache.org/core/2_9_4/queryparsersyntax.html |
+ * |
+ * Completes with a [DivisionSearchResponse]. |
+ * |
+ * Completes with a [common.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future<DivisionSearchResponse> search({core.String query}) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (query != null) { |
+ _queryParams["query"] = [query]; |
+ } |
+ |
+ |
+ _url = 'representatives/division_search'; |
+ |
+ var _response = _requester.request(_url, |
+ "GET", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new DivisionSearchResponse.fromJson(data)); |
+ } |
+ |
+} |
+ |
+ |
+/** Not documented yet. */ |
+class ElectionsResourceApi { |
+ final common_internal.ApiRequester _requester; |
+ |
+ ElectionsResourceApi(common_internal.ApiRequester client) : |
+ _requester = client; |
+ |
+ /** |
+ * List of available elections to query. |
+ * |
+ * Request parameters: |
+ * |
+ * Completes with a [ElectionsQueryResponse]. |
+ * |
+ * Completes with a [common.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future<ElectionsQueryResponse> electionQuery() { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ |
+ |
+ _url = 'elections'; |
+ |
+ var _response = _requester.request(_url, |
+ "GET", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new ElectionsQueryResponse.fromJson(data)); |
+ } |
+ |
+ /** |
+ * Looks up information relevant to a voter based on the voter's registered |
+ * address. |
+ * |
+ * [request] - The metadata request object. |
+ * |
+ * Request parameters: |
+ * |
+ * [electionId] - The unique ID of the election to look up. A list of election |
+ * IDs can be obtained at |
+ * https://www.googleapis.com/civicinfo/{version}/elections |
+ * |
+ * [officialOnly] - If set to true, only data from official state sources will |
+ * be returned. |
+ * |
+ * Completes with a [VoterInfoResponse]. |
+ * |
+ * Completes with a [common.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future<VoterInfoResponse> voterInfoQuery(VoterInfoRequest request, core.String electionId, {core.bool officialOnly}) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (request != null) { |
+ _body = convert.JSON.encode((request).toJson()); |
+ } |
+ if (electionId == null) { |
+ throw new core.ArgumentError("Parameter electionId is required."); |
+ } |
+ if (officialOnly != null) { |
+ _queryParams["officialOnly"] = ["${officialOnly}"]; |
+ } |
+ |
+ |
+ _url = 'voterinfo/' + common_internal.Escaper.ecapeVariable('$electionId') + '/lookup'; |
+ |
+ var _response = _requester.request(_url, |
+ "POST", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new VoterInfoResponse.fromJson(data)); |
+ } |
+ |
+} |
+ |
+ |
+/** Not documented yet. */ |
+class RepresentativesResourceApi { |
+ final common_internal.ApiRequester _requester; |
+ |
+ RepresentativesResourceApi(common_internal.ApiRequester client) : |
+ _requester = client; |
+ |
+ /** |
+ * Looks up political geography and representative information based on an |
+ * address or Open Civic Data division identifier. |
+ * |
+ * [request] - The metadata request object. |
+ * |
+ * Request parameters: |
+ * |
+ * [includeOffices] - Whether to return information about offices and |
+ * officials. If false, only the top-level district information will be |
+ * returned. |
+ * |
+ * [ocdId] - The division to look up. May only be specified if the address |
+ * field is not given in the request body. |
+ * |
+ * [recursive] - When ocd_id is supplied, return all divisions which are |
+ * hierarchically nested within the queried division. For example, if querying |
+ * ocd-division/country:us/district:dc, this would also return all DC's wards |
+ * and ANCs. |
+ * |
+ * Completes with a [RepresentativeInfoResponse]. |
+ * |
+ * Completes with a [common.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future<RepresentativeInfoResponse> representativeInfoQuery(RepresentativeInfoRequest request, {core.bool includeOffices, core.String ocdId, core.bool recursive}) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (request != null) { |
+ _body = convert.JSON.encode((request).toJson()); |
+ } |
+ if (includeOffices != null) { |
+ _queryParams["includeOffices"] = ["${includeOffices}"]; |
+ } |
+ if (ocdId != null) { |
+ _queryParams["ocdId"] = [ocdId]; |
+ } |
+ if (recursive != null) { |
+ _queryParams["recursive"] = ["${recursive}"]; |
+ } |
+ |
+ |
+ _url = 'representatives/lookup'; |
+ |
+ var _response = _requester.request(_url, |
+ "POST", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new RepresentativeInfoResponse.fromJson(data)); |
+ } |
+ |
+} |
+ |
+ |
+ |
+/** Describes information about a regional election administrative area. */ |
+class AdministrationRegion { |
+ /** The election administration body for this area. */ |
+ AdministrativeBody electionAdministrationBody; |
+ |
+ /** |
+ * An ID for this object. IDs may change in future requests and should not be |
+ * cached. Access to this field requires special access that can be requested |
+ * from the Request more link on the Quotas page. |
+ */ |
+ core.String id; |
+ |
+ /** |
+ * The city or county that provides election information for this voter. This |
+ * object can have the same elements as state. |
+ */ |
+ AdministrationRegion localJurisdiction; |
+ |
+ /** The name of the jurisdiction. */ |
+ core.String name; |
+ |
+ /** |
+ * A list of sources for this area. If multiple sources are listed the data |
+ * has been aggregated from those sources. |
+ */ |
+ core.List<Source> sources; |
+ |
+ |
+ AdministrationRegion(); |
+ |
+ AdministrationRegion.fromJson(core.Map _json) { |
+ if (_json.containsKey("electionAdministrationBody")) { |
+ electionAdministrationBody = new AdministrativeBody.fromJson(_json["electionAdministrationBody"]); |
+ } |
+ if (_json.containsKey("id")) { |
+ id = _json["id"]; |
+ } |
+ if (_json.containsKey("local_jurisdiction")) { |
+ localJurisdiction = new AdministrationRegion.fromJson(_json["local_jurisdiction"]); |
+ } |
+ if (_json.containsKey("name")) { |
+ name = _json["name"]; |
+ } |
+ if (_json.containsKey("sources")) { |
+ sources = _json["sources"].map((value) => new Source.fromJson(value)).toList(); |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (electionAdministrationBody != null) { |
+ _json["electionAdministrationBody"] = (electionAdministrationBody).toJson(); |
+ } |
+ if (id != null) { |
+ _json["id"] = id; |
+ } |
+ if (localJurisdiction != null) { |
+ _json["local_jurisdiction"] = (localJurisdiction).toJson(); |
+ } |
+ if (name != null) { |
+ _json["name"] = name; |
+ } |
+ if (sources != null) { |
+ _json["sources"] = sources.map((value) => (value).toJson()).toList(); |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** |
+ * Information about an election administrative body (e.g. County Board of |
+ * Elections). |
+ */ |
+class AdministrativeBody { |
+ /** |
+ * A URL provided by this administrative body for information on absentee |
+ * voting. |
+ */ |
+ core.String absenteeVotingInfoUrl; |
+ |
+ /** |
+ * A URL provided by this administrative body to give contest information to |
+ * the voter. |
+ */ |
+ core.String ballotInfoUrl; |
+ |
+ /** The mailing address of this administrative body. */ |
+ SimpleAddressType correspondenceAddress; |
+ |
+ /** |
+ * A URL provided by this administrative body for looking up general election |
+ * information. |
+ */ |
+ core.String electionInfoUrl; |
+ |
+ /** The election officials for this election administrative body. */ |
+ core.List<ElectionOfficial> electionOfficials; |
+ |
+ /** |
+ * A URL provided by this administrative body for confirming that the voter is |
+ * registered to vote. |
+ */ |
+ core.String electionRegistrationConfirmationUrl; |
+ |
+ /** |
+ * A URL provided by this administrative body for looking up how to register |
+ * to vote. |
+ */ |
+ core.String electionRegistrationUrl; |
+ |
+ /** |
+ * A URL provided by this administrative body describing election rules to the |
+ * voter. |
+ */ |
+ core.String electionRulesUrl; |
+ |
+ /** A description of the hours of operation for this administrative body. */ |
+ core.String hoursOfOperation; |
+ |
+ /** The name of this election administrative body. */ |
+ core.String name; |
+ |
+ /** The physical address of this administrative body. */ |
+ SimpleAddressType physicalAddress; |
+ |
+ /** A description of the services this administrative body may provide. */ |
+ core.List<core.String> voterServices; |
+ |
+ /** |
+ * A URL provided by this administrative body for looking up where to vote. |
+ */ |
+ core.String votingLocationFinderUrl; |
+ |
+ |
+ AdministrativeBody(); |
+ |
+ AdministrativeBody.fromJson(core.Map _json) { |
+ if (_json.containsKey("absenteeVotingInfoUrl")) { |
+ absenteeVotingInfoUrl = _json["absenteeVotingInfoUrl"]; |
+ } |
+ if (_json.containsKey("ballotInfoUrl")) { |
+ ballotInfoUrl = _json["ballotInfoUrl"]; |
+ } |
+ if (_json.containsKey("correspondenceAddress")) { |
+ correspondenceAddress = new SimpleAddressType.fromJson(_json["correspondenceAddress"]); |
+ } |
+ if (_json.containsKey("electionInfoUrl")) { |
+ electionInfoUrl = _json["electionInfoUrl"]; |
+ } |
+ if (_json.containsKey("electionOfficials")) { |
+ electionOfficials = _json["electionOfficials"].map((value) => new ElectionOfficial.fromJson(value)).toList(); |
+ } |
+ if (_json.containsKey("electionRegistrationConfirmationUrl")) { |
+ electionRegistrationConfirmationUrl = _json["electionRegistrationConfirmationUrl"]; |
+ } |
+ if (_json.containsKey("electionRegistrationUrl")) { |
+ electionRegistrationUrl = _json["electionRegistrationUrl"]; |
+ } |
+ if (_json.containsKey("electionRulesUrl")) { |
+ electionRulesUrl = _json["electionRulesUrl"]; |
+ } |
+ if (_json.containsKey("hoursOfOperation")) { |
+ hoursOfOperation = _json["hoursOfOperation"]; |
+ } |
+ if (_json.containsKey("name")) { |
+ name = _json["name"]; |
+ } |
+ if (_json.containsKey("physicalAddress")) { |
+ physicalAddress = new SimpleAddressType.fromJson(_json["physicalAddress"]); |
+ } |
+ if (_json.containsKey("voter_services")) { |
+ voterServices = _json["voter_services"]; |
+ } |
+ if (_json.containsKey("votingLocationFinderUrl")) { |
+ votingLocationFinderUrl = _json["votingLocationFinderUrl"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (absenteeVotingInfoUrl != null) { |
+ _json["absenteeVotingInfoUrl"] = absenteeVotingInfoUrl; |
+ } |
+ if (ballotInfoUrl != null) { |
+ _json["ballotInfoUrl"] = ballotInfoUrl; |
+ } |
+ if (correspondenceAddress != null) { |
+ _json["correspondenceAddress"] = (correspondenceAddress).toJson(); |
+ } |
+ if (electionInfoUrl != null) { |
+ _json["electionInfoUrl"] = electionInfoUrl; |
+ } |
+ if (electionOfficials != null) { |
+ _json["electionOfficials"] = electionOfficials.map((value) => (value).toJson()).toList(); |
+ } |
+ if (electionRegistrationConfirmationUrl != null) { |
+ _json["electionRegistrationConfirmationUrl"] = electionRegistrationConfirmationUrl; |
+ } |
+ if (electionRegistrationUrl != null) { |
+ _json["electionRegistrationUrl"] = electionRegistrationUrl; |
+ } |
+ if (electionRulesUrl != null) { |
+ _json["electionRulesUrl"] = electionRulesUrl; |
+ } |
+ if (hoursOfOperation != null) { |
+ _json["hoursOfOperation"] = hoursOfOperation; |
+ } |
+ if (name != null) { |
+ _json["name"] = name; |
+ } |
+ if (physicalAddress != null) { |
+ _json["physicalAddress"] = (physicalAddress).toJson(); |
+ } |
+ if (voterServices != null) { |
+ _json["voter_services"] = voterServices; |
+ } |
+ if (votingLocationFinderUrl != null) { |
+ _json["votingLocationFinderUrl"] = votingLocationFinderUrl; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** Information about a candidate running for elected office. */ |
+class Candidate { |
+ /** The URL for the candidate's campaign web site. */ |
+ core.String candidateUrl; |
+ |
+ /** A list of known (social) media channels for this candidate. */ |
+ core.List<Channel> channels; |
+ |
+ /** The email address for the candidate's campaign. */ |
+ core.String email; |
+ |
+ /** The candidate's name. */ |
+ core.String name; |
+ |
+ /** The order the candidate appears on the ballot for this contest. */ |
+ core.String orderOnBallot; |
+ |
+ /** The full name of the party the candidate is a member of. */ |
+ core.String party; |
+ |
+ /** The voice phone number for the candidate's campaign office. */ |
+ core.String phone; |
+ |
+ /** A URL for a photo of the candidate. */ |
+ core.String photoUrl; |
+ |
+ |
+ Candidate(); |
+ |
+ Candidate.fromJson(core.Map _json) { |
+ if (_json.containsKey("candidateUrl")) { |
+ candidateUrl = _json["candidateUrl"]; |
+ } |
+ if (_json.containsKey("channels")) { |
+ channels = _json["channels"].map((value) => new Channel.fromJson(value)).toList(); |
+ } |
+ if (_json.containsKey("email")) { |
+ email = _json["email"]; |
+ } |
+ if (_json.containsKey("name")) { |
+ name = _json["name"]; |
+ } |
+ if (_json.containsKey("orderOnBallot")) { |
+ orderOnBallot = _json["orderOnBallot"]; |
+ } |
+ if (_json.containsKey("party")) { |
+ party = _json["party"]; |
+ } |
+ if (_json.containsKey("phone")) { |
+ phone = _json["phone"]; |
+ } |
+ if (_json.containsKey("photoUrl")) { |
+ photoUrl = _json["photoUrl"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (candidateUrl != null) { |
+ _json["candidateUrl"] = candidateUrl; |
+ } |
+ if (channels != null) { |
+ _json["channels"] = channels.map((value) => (value).toJson()).toList(); |
+ } |
+ if (email != null) { |
+ _json["email"] = email; |
+ } |
+ if (name != null) { |
+ _json["name"] = name; |
+ } |
+ if (orderOnBallot != null) { |
+ _json["orderOnBallot"] = orderOnBallot; |
+ } |
+ if (party != null) { |
+ _json["party"] = party; |
+ } |
+ if (phone != null) { |
+ _json["phone"] = phone; |
+ } |
+ if (photoUrl != null) { |
+ _json["photoUrl"] = photoUrl; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** A social media or web channel for a candidate. */ |
+class Channel { |
+ /** The unique public identifier for the candidate's channel. */ |
+ core.String id; |
+ |
+ /** |
+ * The type of channel. The following is a list of types of channels, but is |
+ * not exhaustive. More channel types may be added at a later time. One of: |
+ * GooglePlus, YouTube, Facebook, Twitter |
+ */ |
+ core.String type; |
+ |
+ |
+ Channel(); |
+ |
+ Channel.fromJson(core.Map _json) { |
+ if (_json.containsKey("id")) { |
+ id = _json["id"]; |
+ } |
+ if (_json.containsKey("type")) { |
+ type = _json["type"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (id != null) { |
+ _json["id"] = id; |
+ } |
+ if (type != null) { |
+ _json["type"] = type; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** Information about a contest that appears on a voter's ballot. */ |
+class Contest { |
+ /** |
+ * A number specifying the position of this contest on the voter's ballot. |
+ */ |
+ core.String ballotPlacement; |
+ |
+ /** The candidate choices for this contest. */ |
+ core.List<Candidate> candidates; |
+ |
+ /** Information about the electoral district that this contest is in. */ |
+ ElectoralDistrict district; |
+ |
+ /** |
+ * A description of any additional eligibility requirements for voting in this |
+ * contest. |
+ */ |
+ core.String electorateSpecifications; |
+ |
+ /** |
+ * An ID for this object. IDs may change in future requests and should not be |
+ * cached. Access to this field requires special access that can be requested |
+ * from the Request more link on the Quotas page. |
+ */ |
+ core.String id; |
+ |
+ /** |
+ * The level of office for this contest. One of: federal, state, county, city, |
+ * other |
+ */ |
+ core.String level; |
+ |
+ /** |
+ * The number of candidates that will be elected to office in this contest. |
+ */ |
+ core.String numberElected; |
+ |
+ /** The number of candidates that a voter may vote for in this contest. */ |
+ core.String numberVotingFor; |
+ |
+ /** The name of the office for this contest. */ |
+ core.String office; |
+ |
+ /** If this is a partisan election, the name of the party it is for. */ |
+ core.String primaryParty; |
+ |
+ /** |
+ * A brief description of the referendum. This field is only populated for |
+ * contests of type 'Referendum'. |
+ */ |
+ core.String referendumSubtitle; |
+ |
+ /** |
+ * The title of the referendum (e.g. 'Proposition 42'). This field is only |
+ * populated for contests of type 'Referendum'. |
+ */ |
+ core.String referendumTitle; |
+ |
+ /** |
+ * A link to the referendum. This field is only populated for contests of type |
+ * 'Referendum'. |
+ */ |
+ core.String referendumUrl; |
+ |
+ /** |
+ * A list of sources for this contest. If multiple sources are listed, the |
+ * data has been aggregated from those sources. |
+ */ |
+ core.List<Source> sources; |
+ |
+ /** |
+ * "Yes" or "No" depending on whether this a contest being held outside the |
+ * normal election cycle. |
+ */ |
+ core.String special; |
+ |
+ /** |
+ * The type of contest. Usually this will be 'General', 'Primary', or |
+ * 'Run-off' for contests with candidates. For referenda this will be |
+ * 'Referendum'. |
+ */ |
+ core.String type; |
+ |
+ |
+ Contest(); |
+ |
+ Contest.fromJson(core.Map _json) { |
+ if (_json.containsKey("ballotPlacement")) { |
+ ballotPlacement = _json["ballotPlacement"]; |
+ } |
+ if (_json.containsKey("candidates")) { |
+ candidates = _json["candidates"].map((value) => new Candidate.fromJson(value)).toList(); |
+ } |
+ if (_json.containsKey("district")) { |
+ district = new ElectoralDistrict.fromJson(_json["district"]); |
+ } |
+ if (_json.containsKey("electorateSpecifications")) { |
+ electorateSpecifications = _json["electorateSpecifications"]; |
+ } |
+ if (_json.containsKey("id")) { |
+ id = _json["id"]; |
+ } |
+ if (_json.containsKey("level")) { |
+ level = _json["level"]; |
+ } |
+ if (_json.containsKey("numberElected")) { |
+ numberElected = _json["numberElected"]; |
+ } |
+ if (_json.containsKey("numberVotingFor")) { |
+ numberVotingFor = _json["numberVotingFor"]; |
+ } |
+ if (_json.containsKey("office")) { |
+ office = _json["office"]; |
+ } |
+ if (_json.containsKey("primaryParty")) { |
+ primaryParty = _json["primaryParty"]; |
+ } |
+ if (_json.containsKey("referendumSubtitle")) { |
+ referendumSubtitle = _json["referendumSubtitle"]; |
+ } |
+ if (_json.containsKey("referendumTitle")) { |
+ referendumTitle = _json["referendumTitle"]; |
+ } |
+ if (_json.containsKey("referendumUrl")) { |
+ referendumUrl = _json["referendumUrl"]; |
+ } |
+ if (_json.containsKey("sources")) { |
+ sources = _json["sources"].map((value) => new Source.fromJson(value)).toList(); |
+ } |
+ if (_json.containsKey("special")) { |
+ special = _json["special"]; |
+ } |
+ if (_json.containsKey("type")) { |
+ type = _json["type"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (ballotPlacement != null) { |
+ _json["ballotPlacement"] = ballotPlacement; |
+ } |
+ if (candidates != null) { |
+ _json["candidates"] = candidates.map((value) => (value).toJson()).toList(); |
+ } |
+ if (district != null) { |
+ _json["district"] = (district).toJson(); |
+ } |
+ if (electorateSpecifications != null) { |
+ _json["electorateSpecifications"] = electorateSpecifications; |
+ } |
+ if (id != null) { |
+ _json["id"] = id; |
+ } |
+ if (level != null) { |
+ _json["level"] = level; |
+ } |
+ if (numberElected != null) { |
+ _json["numberElected"] = numberElected; |
+ } |
+ if (numberVotingFor != null) { |
+ _json["numberVotingFor"] = numberVotingFor; |
+ } |
+ if (office != null) { |
+ _json["office"] = office; |
+ } |
+ if (primaryParty != null) { |
+ _json["primaryParty"] = primaryParty; |
+ } |
+ if (referendumSubtitle != null) { |
+ _json["referendumSubtitle"] = referendumSubtitle; |
+ } |
+ if (referendumTitle != null) { |
+ _json["referendumTitle"] = referendumTitle; |
+ } |
+ if (referendumUrl != null) { |
+ _json["referendumUrl"] = referendumUrl; |
+ } |
+ if (sources != null) { |
+ _json["sources"] = sources.map((value) => (value).toJson()).toList(); |
+ } |
+ if (special != null) { |
+ _json["special"] = special; |
+ } |
+ if (type != null) { |
+ _json["type"] = type; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** The result of a division search query. */ |
+class DivisionSearchResponse { |
+ /** |
+ * Identifies what kind of resource this is. Value: the fixed string |
+ * "civicinfo#divisionSearchResponse". |
+ */ |
+ core.String kind; |
+ |
+ /** Not documented yet. */ |
+ core.List<DivisionSearchResult> results; |
+ |
+ /** |
+ * The result of the request. One of: success, addressUnparseable, |
+ * noAddressParameter, internalLookupFailure |
+ */ |
+ core.String status; |
+ |
+ |
+ DivisionSearchResponse(); |
+ |
+ DivisionSearchResponse.fromJson(core.Map _json) { |
+ if (_json.containsKey("kind")) { |
+ kind = _json["kind"]; |
+ } |
+ if (_json.containsKey("results")) { |
+ results = _json["results"].map((value) => new DivisionSearchResult.fromJson(value)).toList(); |
+ } |
+ if (_json.containsKey("status")) { |
+ status = _json["status"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (kind != null) { |
+ _json["kind"] = kind; |
+ } |
+ if (results != null) { |
+ _json["results"] = results.map((value) => (value).toJson()).toList(); |
+ } |
+ if (status != null) { |
+ _json["status"] = status; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** |
+ * Represents a political geographic division that matches the requested query. |
+ */ |
+class DivisionSearchResult { |
+ /** |
+ * Other Open Civic Data identifiers that refer to the same division -- for |
+ * example, those that refer to other political divisions whose boundaries are |
+ * defined to be coterminous with this one. For example, |
+ * ocd-division/country:us/state:wy will include an alias of |
+ * ocd-division/country:us/state:wy/cd:1, since Wyoming has only one |
+ * Congressional district. |
+ */ |
+ core.List<core.String> aliases; |
+ |
+ /** The name of the division. */ |
+ core.String name; |
+ |
+ /** The unique Open Civic Data identifier for this division. */ |
+ core.String ocdId; |
+ |
+ |
+ DivisionSearchResult(); |
+ |
+ DivisionSearchResult.fromJson(core.Map _json) { |
+ if (_json.containsKey("aliases")) { |
+ aliases = _json["aliases"]; |
+ } |
+ if (_json.containsKey("name")) { |
+ name = _json["name"]; |
+ } |
+ if (_json.containsKey("ocdId")) { |
+ ocdId = _json["ocdId"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (aliases != null) { |
+ _json["aliases"] = aliases; |
+ } |
+ if (name != null) { |
+ _json["name"] = name; |
+ } |
+ if (ocdId != null) { |
+ _json["ocdId"] = ocdId; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** Information about the election that was queried. */ |
+class Election { |
+ /** Day of the election in YYYY-MM-DD format. */ |
+ core.String electionDay; |
+ |
+ /** The unique ID of this election. */ |
+ core.String id; |
+ |
+ /** A displayable name for the election. */ |
+ core.String name; |
+ |
+ |
+ Election(); |
+ |
+ Election.fromJson(core.Map _json) { |
+ if (_json.containsKey("electionDay")) { |
+ electionDay = _json["electionDay"]; |
+ } |
+ if (_json.containsKey("id")) { |
+ id = _json["id"]; |
+ } |
+ if (_json.containsKey("name")) { |
+ name = _json["name"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (electionDay != null) { |
+ _json["electionDay"] = electionDay; |
+ } |
+ if (id != null) { |
+ _json["id"] = id; |
+ } |
+ if (name != null) { |
+ _json["name"] = name; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** Information about individual election officials. */ |
+class ElectionOfficial { |
+ /** The email address of the election official. */ |
+ core.String emailAddress; |
+ |
+ /** The fax number of the election official. */ |
+ core.String faxNumber; |
+ |
+ /** The full name of the election official. */ |
+ core.String name; |
+ |
+ /** The office phone number of the election official. */ |
+ core.String officePhoneNumber; |
+ |
+ /** The title of the election official. */ |
+ core.String title; |
+ |
+ |
+ ElectionOfficial(); |
+ |
+ ElectionOfficial.fromJson(core.Map _json) { |
+ if (_json.containsKey("emailAddress")) { |
+ emailAddress = _json["emailAddress"]; |
+ } |
+ if (_json.containsKey("faxNumber")) { |
+ faxNumber = _json["faxNumber"]; |
+ } |
+ if (_json.containsKey("name")) { |
+ name = _json["name"]; |
+ } |
+ if (_json.containsKey("officePhoneNumber")) { |
+ officePhoneNumber = _json["officePhoneNumber"]; |
+ } |
+ if (_json.containsKey("title")) { |
+ title = _json["title"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (emailAddress != null) { |
+ _json["emailAddress"] = emailAddress; |
+ } |
+ if (faxNumber != null) { |
+ _json["faxNumber"] = faxNumber; |
+ } |
+ if (name != null) { |
+ _json["name"] = name; |
+ } |
+ if (officePhoneNumber != null) { |
+ _json["officePhoneNumber"] = officePhoneNumber; |
+ } |
+ if (title != null) { |
+ _json["title"] = title; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** The list of elections available for this version of the API. */ |
+class ElectionsQueryResponse { |
+ /** A list of available elections */ |
+ core.List<Election> elections; |
+ |
+ /** |
+ * Identifies what kind of resource this is. Value: the fixed string |
+ * "civicinfo#electionsQueryResponse". |
+ */ |
+ core.String kind; |
+ |
+ |
+ ElectionsQueryResponse(); |
+ |
+ ElectionsQueryResponse.fromJson(core.Map _json) { |
+ if (_json.containsKey("elections")) { |
+ elections = _json["elections"].map((value) => new Election.fromJson(value)).toList(); |
+ } |
+ if (_json.containsKey("kind")) { |
+ kind = _json["kind"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (elections != null) { |
+ _json["elections"] = elections.map((value) => (value).toJson()).toList(); |
+ } |
+ if (kind != null) { |
+ _json["kind"] = kind; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** Describes the geographic scope of a contest. */ |
+class ElectoralDistrict { |
+ /** |
+ * An identifier for this district, relative to its scope. For example, the |
+ * 34th State Senate district would have id "34" and a scope of stateUpper. |
+ */ |
+ core.String id; |
+ |
+ /** The name of the district. */ |
+ core.String name; |
+ |
+ /** |
+ * The geographic scope of this district. If unspecified the district's |
+ * geography is not known. One of: national, statewide, congressional, |
+ * stateUpper, stateLower, countywide, judicial, schoolBoard, cityWide, |
+ * township, countyCouncil, cityCouncil, ward, special |
+ */ |
+ core.String scope; |
+ |
+ |
+ ElectoralDistrict(); |
+ |
+ ElectoralDistrict.fromJson(core.Map _json) { |
+ if (_json.containsKey("id")) { |
+ id = _json["id"]; |
+ } |
+ if (_json.containsKey("name")) { |
+ name = _json["name"]; |
+ } |
+ if (_json.containsKey("scope")) { |
+ scope = _json["scope"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (id != null) { |
+ _json["id"] = id; |
+ } |
+ if (name != null) { |
+ _json["name"] = name; |
+ } |
+ if (scope != null) { |
+ _json["scope"] = scope; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** Describes a political geography. */ |
+class GeographicDivision { |
+ /** |
+ * Any other valid OCD IDs that refer to the same division. For example, if |
+ * this division's OCD ID is ocd-division/country:us/district:dc, this will |
+ * contain ocd-division/country:us/state:dc. |
+ */ |
+ core.List<core.String> alsoKnownAs; |
+ |
+ /** The name of the division. */ |
+ core.String name; |
+ |
+ /** |
+ * List of keys in the offices object, one for each office elected from this |
+ * division. Will only be present if includeOffices was true (or absent) in |
+ * the request. |
+ */ |
+ core.List<core.String> officeIds; |
+ |
+ /** |
+ * The geographic scope of the division. If unspecified, the division's |
+ * geography is not known. One of: national, statewide, congressional, |
+ * stateUpper, stateLower, countywide, judicial, schoolBoard, cityWide, |
+ * township, countyCouncil, cityCouncil, ward, special |
+ */ |
+ core.String scope; |
+ |
+ |
+ GeographicDivision(); |
+ |
+ GeographicDivision.fromJson(core.Map _json) { |
+ if (_json.containsKey("alsoKnownAs")) { |
+ alsoKnownAs = _json["alsoKnownAs"]; |
+ } |
+ if (_json.containsKey("name")) { |
+ name = _json["name"]; |
+ } |
+ if (_json.containsKey("officeIds")) { |
+ officeIds = _json["officeIds"]; |
+ } |
+ if (_json.containsKey("scope")) { |
+ scope = _json["scope"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (alsoKnownAs != null) { |
+ _json["alsoKnownAs"] = alsoKnownAs; |
+ } |
+ if (name != null) { |
+ _json["name"] = name; |
+ } |
+ if (officeIds != null) { |
+ _json["officeIds"] = officeIds; |
+ } |
+ if (scope != null) { |
+ _json["scope"] = scope; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** Information about an Office held by one or more Officials. */ |
+class Office { |
+ /** The OCD ID of the division with which this office is associated. */ |
+ core.String divisionId; |
+ |
+ /** |
+ * The level of this elected office. One of: federal, state, county, city, |
+ * other |
+ */ |
+ core.String level; |
+ |
+ /** The human-readable name of the office. */ |
+ core.String name; |
+ |
+ /** |
+ * List of keys in the officials object of people who presently hold this |
+ * office. |
+ */ |
+ core.List<core.String> officialIds; |
+ |
+ /** |
+ * A list of sources for this office. If multiple sources are listed, the data |
+ * has been aggregated from those sources. |
+ */ |
+ core.List<Source> sources; |
+ |
+ |
+ Office(); |
+ |
+ Office.fromJson(core.Map _json) { |
+ if (_json.containsKey("divisionId")) { |
+ divisionId = _json["divisionId"]; |
+ } |
+ if (_json.containsKey("level")) { |
+ level = _json["level"]; |
+ } |
+ if (_json.containsKey("name")) { |
+ name = _json["name"]; |
+ } |
+ if (_json.containsKey("officialIds")) { |
+ officialIds = _json["officialIds"]; |
+ } |
+ if (_json.containsKey("sources")) { |
+ sources = _json["sources"].map((value) => new Source.fromJson(value)).toList(); |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (divisionId != null) { |
+ _json["divisionId"] = divisionId; |
+ } |
+ if (level != null) { |
+ _json["level"] = level; |
+ } |
+ if (name != null) { |
+ _json["name"] = name; |
+ } |
+ if (officialIds != null) { |
+ _json["officialIds"] = officialIds; |
+ } |
+ if (sources != null) { |
+ _json["sources"] = sources.map((value) => (value).toJson()).toList(); |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** Information about a official holding an elected office. */ |
+class Official { |
+ /** Addresses at which to contact the official. */ |
+ core.List<SimpleAddressType> address; |
+ |
+ /** A list of known (social) media channels for this official. */ |
+ core.List<Channel> channels; |
+ |
+ /** The direct email addresses for the official. */ |
+ core.List<core.String> emails; |
+ |
+ /** The official's name. */ |
+ core.String name; |
+ |
+ /** The full name of the party the official belongs to. */ |
+ core.String party; |
+ |
+ /** The official's public contact phone numbers. */ |
+ core.List<core.String> phones; |
+ |
+ /** A URL for a photo of the official. */ |
+ core.String photoUrl; |
+ |
+ /** The official's public website URLs. */ |
+ core.List<core.String> urls; |
+ |
+ |
+ Official(); |
+ |
+ Official.fromJson(core.Map _json) { |
+ if (_json.containsKey("address")) { |
+ address = _json["address"].map((value) => new SimpleAddressType.fromJson(value)).toList(); |
+ } |
+ if (_json.containsKey("channels")) { |
+ channels = _json["channels"].map((value) => new Channel.fromJson(value)).toList(); |
+ } |
+ if (_json.containsKey("emails")) { |
+ emails = _json["emails"]; |
+ } |
+ if (_json.containsKey("name")) { |
+ name = _json["name"]; |
+ } |
+ if (_json.containsKey("party")) { |
+ party = _json["party"]; |
+ } |
+ if (_json.containsKey("phones")) { |
+ phones = _json["phones"]; |
+ } |
+ if (_json.containsKey("photoUrl")) { |
+ photoUrl = _json["photoUrl"]; |
+ } |
+ if (_json.containsKey("urls")) { |
+ urls = _json["urls"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (address != null) { |
+ _json["address"] = address.map((value) => (value).toJson()).toList(); |
+ } |
+ if (channels != null) { |
+ _json["channels"] = channels.map((value) => (value).toJson()).toList(); |
+ } |
+ if (emails != null) { |
+ _json["emails"] = emails; |
+ } |
+ if (name != null) { |
+ _json["name"] = name; |
+ } |
+ if (party != null) { |
+ _json["party"] = party; |
+ } |
+ if (phones != null) { |
+ _json["phones"] = phones; |
+ } |
+ if (photoUrl != null) { |
+ _json["photoUrl"] = photoUrl; |
+ } |
+ if (urls != null) { |
+ _json["urls"] = urls; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** |
+ * A location where a voter can vote. This may be an early vote site or an |
+ * election day voting location. |
+ */ |
+class PollingLocation { |
+ /** The address of the location */ |
+ SimpleAddressType address; |
+ |
+ /** |
+ * The last date that this early vote site may be used. This field is not |
+ * populated for polling locations. |
+ */ |
+ core.String endDate; |
+ |
+ /** |
+ * An ID for this object. IDs may change in future requests and should not be |
+ * cached. Access to this field requires special access that can be requested |
+ * from the Request more link on the Quotas page. |
+ */ |
+ core.String id; |
+ |
+ /** |
+ * The name of the early vote site. This field is not populated for polling |
+ * locations. |
+ */ |
+ core.String name; |
+ |
+ /** Notes about this location (e.g. accessibility ramp or entrance to use) */ |
+ core.String notes; |
+ |
+ /** A description of when this location is open. */ |
+ core.String pollingHours; |
+ |
+ /** |
+ * A list of sources for this location. If multiple sources are listed the |
+ * data has been aggregated from those sources. |
+ */ |
+ core.List<Source> sources; |
+ |
+ /** |
+ * The first date that this early vote site may be used. This field is not |
+ * populated for polling locations. |
+ */ |
+ core.String startDate; |
+ |
+ /** |
+ * The services provided by this early vote site. This field is not populated |
+ * for polling locations. |
+ */ |
+ core.String voterServices; |
+ |
+ |
+ PollingLocation(); |
+ |
+ PollingLocation.fromJson(core.Map _json) { |
+ if (_json.containsKey("address")) { |
+ address = new SimpleAddressType.fromJson(_json["address"]); |
+ } |
+ if (_json.containsKey("endDate")) { |
+ endDate = _json["endDate"]; |
+ } |
+ if (_json.containsKey("id")) { |
+ id = _json["id"]; |
+ } |
+ if (_json.containsKey("name")) { |
+ name = _json["name"]; |
+ } |
+ if (_json.containsKey("notes")) { |
+ notes = _json["notes"]; |
+ } |
+ if (_json.containsKey("pollingHours")) { |
+ pollingHours = _json["pollingHours"]; |
+ } |
+ if (_json.containsKey("sources")) { |
+ sources = _json["sources"].map((value) => new Source.fromJson(value)).toList(); |
+ } |
+ if (_json.containsKey("startDate")) { |
+ startDate = _json["startDate"]; |
+ } |
+ if (_json.containsKey("voterServices")) { |
+ voterServices = _json["voterServices"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (address != null) { |
+ _json["address"] = (address).toJson(); |
+ } |
+ if (endDate != null) { |
+ _json["endDate"] = endDate; |
+ } |
+ if (id != null) { |
+ _json["id"] = id; |
+ } |
+ if (name != null) { |
+ _json["name"] = name; |
+ } |
+ if (notes != null) { |
+ _json["notes"] = notes; |
+ } |
+ if (pollingHours != null) { |
+ _json["pollingHours"] = pollingHours; |
+ } |
+ if (sources != null) { |
+ _json["sources"] = sources.map((value) => (value).toJson()).toList(); |
+ } |
+ if (startDate != null) { |
+ _json["startDate"] = startDate; |
+ } |
+ if (voterServices != null) { |
+ _json["voterServices"] = voterServices; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** |
+ * A request for political geography and representative information for an |
+ * address. |
+ */ |
+class RepresentativeInfoRequest { |
+ /** |
+ * The address to look up. May only be specified if the field ocdId is not |
+ * given in the URL. |
+ */ |
+ core.String address; |
+ |
+ |
+ RepresentativeInfoRequest(); |
+ |
+ RepresentativeInfoRequest.fromJson(core.Map _json) { |
+ if (_json.containsKey("address")) { |
+ address = _json["address"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (address != null) { |
+ _json["address"] = address; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** The result of a representative info lookup query. */ |
+class RepresentativeInfoResponse { |
+ /** Political geographic divisions that contain the requested address. */ |
+ core.Map<core.String, GeographicDivision> divisions; |
+ |
+ /** |
+ * Identifies what kind of resource this is. Value: the fixed string |
+ * "civicinfo#representativeInfoResponse". |
+ */ |
+ core.String kind; |
+ |
+ /** The normalized version of the requested address */ |
+ SimpleAddressType normalizedInput; |
+ |
+ /** |
+ * Elected offices referenced by the divisions listed above. Will only be |
+ * present if includeOffices was true in the request. |
+ */ |
+ core.Map<core.String, Office> offices; |
+ |
+ /** |
+ * Officials holding the offices listed above. Will only be present if |
+ * includeOffices was true in the request. |
+ */ |
+ core.Map<core.String, Official> officials; |
+ |
+ /** |
+ * The result of the request. One of: success, noStreetSegmentFound, |
+ * addressUnparseable, noAddressParameter, multipleStreetSegmentsFound, |
+ * electionOver, electionUnknown, internalLookupFailure, |
+ * RequestedBothAddressAndOcdId |
+ */ |
+ core.String status; |
+ |
+ |
+ RepresentativeInfoResponse(); |
+ |
+ RepresentativeInfoResponse.fromJson(core.Map _json) { |
+ if (_json.containsKey("divisions")) { |
+ divisions = common_internal.mapMap(_json["divisions"], (item) => new GeographicDivision.fromJson(item)); |
+ } |
+ if (_json.containsKey("kind")) { |
+ kind = _json["kind"]; |
+ } |
+ if (_json.containsKey("normalizedInput")) { |
+ normalizedInput = new SimpleAddressType.fromJson(_json["normalizedInput"]); |
+ } |
+ if (_json.containsKey("offices")) { |
+ offices = common_internal.mapMap(_json["offices"], (item) => new Office.fromJson(item)); |
+ } |
+ if (_json.containsKey("officials")) { |
+ officials = common_internal.mapMap(_json["officials"], (item) => new Official.fromJson(item)); |
+ } |
+ if (_json.containsKey("status")) { |
+ status = _json["status"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (divisions != null) { |
+ _json["divisions"] = common_internal.mapMap(divisions, (item) => (item).toJson()); |
+ } |
+ if (kind != null) { |
+ _json["kind"] = kind; |
+ } |
+ if (normalizedInput != null) { |
+ _json["normalizedInput"] = (normalizedInput).toJson(); |
+ } |
+ if (offices != null) { |
+ _json["offices"] = common_internal.mapMap(offices, (item) => (item).toJson()); |
+ } |
+ if (officials != null) { |
+ _json["officials"] = common_internal.mapMap(officials, (item) => (item).toJson()); |
+ } |
+ if (status != null) { |
+ _json["status"] = status; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** A simple representation of an address. */ |
+class SimpleAddressType { |
+ /** The city or town for the address. */ |
+ core.String city; |
+ |
+ /** The street name and number of this address. */ |
+ core.String line1; |
+ |
+ /** The second line the address, if needed. */ |
+ core.String line2; |
+ |
+ /** The third line of the address, if needed. */ |
+ core.String line3; |
+ |
+ /** The name of the location. */ |
+ core.String locationName; |
+ |
+ /** The US two letter state abbreviation of the address. */ |
+ core.String state; |
+ |
+ /** The US Postal Zip Code of the address. */ |
+ core.String zip; |
+ |
+ |
+ SimpleAddressType(); |
+ |
+ SimpleAddressType.fromJson(core.Map _json) { |
+ if (_json.containsKey("city")) { |
+ city = _json["city"]; |
+ } |
+ if (_json.containsKey("line1")) { |
+ line1 = _json["line1"]; |
+ } |
+ if (_json.containsKey("line2")) { |
+ line2 = _json["line2"]; |
+ } |
+ if (_json.containsKey("line3")) { |
+ line3 = _json["line3"]; |
+ } |
+ if (_json.containsKey("locationName")) { |
+ locationName = _json["locationName"]; |
+ } |
+ if (_json.containsKey("state")) { |
+ state = _json["state"]; |
+ } |
+ if (_json.containsKey("zip")) { |
+ zip = _json["zip"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (city != null) { |
+ _json["city"] = city; |
+ } |
+ if (line1 != null) { |
+ _json["line1"] = line1; |
+ } |
+ if (line2 != null) { |
+ _json["line2"] = line2; |
+ } |
+ if (line3 != null) { |
+ _json["line3"] = line3; |
+ } |
+ if (locationName != null) { |
+ _json["locationName"] = locationName; |
+ } |
+ if (state != null) { |
+ _json["state"] = state; |
+ } |
+ if (zip != null) { |
+ _json["zip"] = zip; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** |
+ * Contains information about the data source for the element containing it. |
+ */ |
+class Source { |
+ /** The name of the data source. */ |
+ core.String name; |
+ |
+ /** Whether this data comes from an official government source. */ |
+ core.bool official; |
+ |
+ |
+ Source(); |
+ |
+ Source.fromJson(core.Map _json) { |
+ if (_json.containsKey("name")) { |
+ name = _json["name"]; |
+ } |
+ if (_json.containsKey("official")) { |
+ official = _json["official"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (name != null) { |
+ _json["name"] = name; |
+ } |
+ if (official != null) { |
+ _json["official"] = official; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** A request for information about a voter. */ |
+class VoterInfoRequest { |
+ /** The registered address of the voter to look up. */ |
+ core.String address; |
+ |
+ |
+ VoterInfoRequest(); |
+ |
+ VoterInfoRequest.fromJson(core.Map _json) { |
+ if (_json.containsKey("address")) { |
+ address = _json["address"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (address != null) { |
+ _json["address"] = address; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** The result of a voter info lookup query. */ |
+class VoterInfoResponse { |
+ /** Contests that will appear on the voter's ballot */ |
+ core.List<Contest> contests; |
+ |
+ /** |
+ * Locations where the voter is eligible to vote early, prior to election day |
+ */ |
+ core.List<PollingLocation> earlyVoteSites; |
+ |
+ /** The election that was queried. */ |
+ Election election; |
+ |
+ /** |
+ * Identifies what kind of resource this is. Value: the fixed string |
+ * "civicinfo#voterInfoResponse". |
+ */ |
+ core.String kind; |
+ |
+ /** The normalized version of the requested address */ |
+ SimpleAddressType normalizedInput; |
+ |
+ /** |
+ * Locations where the voter is eligible to vote on election day. For states |
+ * with mail-in voting only, these locations will be nearby drop box |
+ * locations. Drop box locations are free to the voter and may be used instead |
+ * of placing the ballot in the mail. |
+ */ |
+ core.List<PollingLocation> pollingLocations; |
+ |
+ /** |
+ * Local Election Information for the state that the voter votes in. For the |
+ * US, there will only be one element in this array. |
+ */ |
+ core.List<AdministrationRegion> state; |
+ |
+ /** |
+ * The result of the request. One of: success, noStreetSegmentFound, |
+ * addressUnparseable, noAddressParameter, multipleStreetSegmentsFound, |
+ * electionOver, electionUnknown, internalLookupFailure |
+ */ |
+ core.String status; |
+ |
+ |
+ VoterInfoResponse(); |
+ |
+ VoterInfoResponse.fromJson(core.Map _json) { |
+ if (_json.containsKey("contests")) { |
+ contests = _json["contests"].map((value) => new Contest.fromJson(value)).toList(); |
+ } |
+ if (_json.containsKey("earlyVoteSites")) { |
+ earlyVoteSites = _json["earlyVoteSites"].map((value) => new PollingLocation.fromJson(value)).toList(); |
+ } |
+ if (_json.containsKey("election")) { |
+ election = new Election.fromJson(_json["election"]); |
+ } |
+ if (_json.containsKey("kind")) { |
+ kind = _json["kind"]; |
+ } |
+ if (_json.containsKey("normalizedInput")) { |
+ normalizedInput = new SimpleAddressType.fromJson(_json["normalizedInput"]); |
+ } |
+ if (_json.containsKey("pollingLocations")) { |
+ pollingLocations = _json["pollingLocations"].map((value) => new PollingLocation.fromJson(value)).toList(); |
+ } |
+ if (_json.containsKey("state")) { |
+ state = _json["state"].map((value) => new AdministrationRegion.fromJson(value)).toList(); |
+ } |
+ if (_json.containsKey("status")) { |
+ status = _json["status"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (contests != null) { |
+ _json["contests"] = contests.map((value) => (value).toJson()).toList(); |
+ } |
+ if (earlyVoteSites != null) { |
+ _json["earlyVoteSites"] = earlyVoteSites.map((value) => (value).toJson()).toList(); |
+ } |
+ if (election != null) { |
+ _json["election"] = (election).toJson(); |
+ } |
+ if (kind != null) { |
+ _json["kind"] = kind; |
+ } |
+ if (normalizedInput != null) { |
+ _json["normalizedInput"] = (normalizedInput).toJson(); |
+ } |
+ if (pollingLocations != null) { |
+ _json["pollingLocations"] = pollingLocations.map((value) => (value).toJson()).toList(); |
+ } |
+ if (state != null) { |
+ _json["state"] = state.map((value) => (value).toJson()).toList(); |
+ } |
+ if (status != null) { |
+ _json["status"] = status; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |