UNPKG

@hasadna/open-bus-api-client

Version:

A client library for interacting with the Open-Bus API.

221 lines (206 loc) 8.62 kB
/* tslint:disable */ /* eslint-disable */ /** * Open Bus Stride API * ### Follow planned and real-time bus statistics 🚌 Welcome to The Public Knowledge Workshop\'s Stride project. We provide usable and accurate data about the Israeli public transportation system. For background on the project and some more detailed documentation and usage guides, see [STRIDE.md](https://github.com/hasadna/open-bus-pipelines/blob/main/STRIDE.md). Looking for a specific use-case? * Take a look at the **user cases** APIs below. * Try one of our existing [jupyter notebooks](https://github.com/hasadna/open-bus-stride-client/blob/main/README.md#using-the-interactive-jupyter-notebooks). * Don\'t see your use-case covered here? Please [open us a ticket](https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fhasadna%2Fopen-bus%2Fissues%2Fnew)! Queries are by default limited to 100 results per query, this limit can be increased up to 500,000 results. Please try to set appropriate query parameters to limit the results to reduce load on our DB. If you do need to get large number of results (up to 500,000) it\'s recommended to use one of these methods: 1. Use HTTP streaming and JSON streaming decoder, this method is most efficient and provide accurate results. Our [Stride Python Client iterate method](https://github.com/hasadna/open-bus-stride-client#usage) uses this method. 2. Use combination of limit / offset parameters to get results by page. This method may be less accurate because it depends on data remaining unchanged between requests. For more advanced usage- * Use **gtfs** for data about the planned lines timetables. * Use **siri** for data about lines real-time * See [Open Bus Stride Data Model](https://github.com/hasadna/open-bus-stride-db/blob/main/DATA_MODEL.md) for description of field and table names. * See [Open Bus Stride ETL Processes](https://github.com/hasadna/open-bus-pipelines/blob/main/STRIDE_ETL_PROCESSES.md) for description of the ETL processes which fetch and aggregate the data. * See [MOT Developer Information](https://www.gov.il/BlobFolder/generalpage/gtfs_general_transit_feed_specifications/he/GTFS%20-%20Developer%20Information.pdf) for description of the source fields as published by the Israel Ministry of Transportation. * * The version of the OpenAPI document: 6909b3db7b8bfa5ac3f3c4aeb3de80d2a2c75810 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ import { mapValues } from '../runtime'; import type { GithubUserModel } from './GithubUserModel'; import { GithubUserModelFromJSON, GithubUserModelFromJSONTyped, GithubUserModelToJSON, GithubUserModelToJSONTyped, } from './GithubUserModel'; /** * A collection of related issues and pull requests. * @export * @interface GithubMilestoneModel */ export interface GithubMilestoneModel { /** * * @type {string} * @memberof GithubMilestoneModel */ url: string; /** * * @type {string} * @memberof GithubMilestoneModel */ htmlUrl: string; /** * * @type {string} * @memberof GithubMilestoneModel */ labelsUrl: string; /** * * @type {number} * @memberof GithubMilestoneModel */ id: number; /** * * @type {string} * @memberof GithubMilestoneModel */ nodeId: string; /** * The number of the milestone. * @type {number} * @memberof GithubMilestoneModel */ number: number; /** * The state of the milestone. * @type {string} * @memberof GithubMilestoneModel */ state: GithubMilestoneModelStateEnum; /** * The title of the milestone. * @type {string} * @memberof GithubMilestoneModel */ title: string; /** * * @type {string} * @memberof GithubMilestoneModel */ description: string | null; /** * * @type {GithubUserModel} * @memberof GithubMilestoneModel */ creator: GithubUserModel | null; /** * * @type {number} * @memberof GithubMilestoneModel */ openIssues: number; /** * * @type {number} * @memberof GithubMilestoneModel */ closedIssues: number; /** * * @type {Date} * @memberof GithubMilestoneModel */ createdAt: Date; /** * * @type {Date} * @memberof GithubMilestoneModel */ updatedAt: Date; /** * * @type {Date} * @memberof GithubMilestoneModel */ closedAt: Date | null; /** * * @type {Date} * @memberof GithubMilestoneModel */ dueOn: Date | null; } /** * @export */ export const GithubMilestoneModelStateEnum = { Open: 'open', Closed: 'closed' } as const; export type GithubMilestoneModelStateEnum = typeof GithubMilestoneModelStateEnum[keyof typeof GithubMilestoneModelStateEnum]; /** * Check if a given object implements the GithubMilestoneModel interface. */ export function instanceOfGithubMilestoneModel(value: object): value is GithubMilestoneModel { if (!('url' in value) || value['url'] === undefined) return false; if (!('htmlUrl' in value) || value['htmlUrl'] === undefined) return false; if (!('labelsUrl' in value) || value['labelsUrl'] === undefined) return false; if (!('id' in value) || value['id'] === undefined) return false; if (!('nodeId' in value) || value['nodeId'] === undefined) return false; if (!('number' in value) || value['number'] === undefined) return false; if (!('state' in value) || value['state'] === undefined) return false; if (!('title' in value) || value['title'] === undefined) return false; if (!('description' in value) || value['description'] === undefined) return false; if (!('creator' in value) || value['creator'] === undefined) return false; if (!('openIssues' in value) || value['openIssues'] === undefined) return false; if (!('closedIssues' in value) || value['closedIssues'] === undefined) return false; if (!('createdAt' in value) || value['createdAt'] === undefined) return false; if (!('updatedAt' in value) || value['updatedAt'] === undefined) return false; if (!('closedAt' in value) || value['closedAt'] === undefined) return false; if (!('dueOn' in value) || value['dueOn'] === undefined) return false; return true; } export function GithubMilestoneModelFromJSON(json: any): GithubMilestoneModel { return GithubMilestoneModelFromJSONTyped(json, false); } export function GithubMilestoneModelFromJSONTyped(json: any, ignoreDiscriminator: boolean): GithubMilestoneModel { if (json == null) { return json; } return { 'url': json['url'], 'htmlUrl': json['html_url'], 'labelsUrl': json['labels_url'], 'id': json['id'], 'nodeId': json['node_id'], 'number': json['number'], 'state': json['state'], 'title': json['title'], 'description': json['description'], 'creator': GithubUserModelFromJSON(json['creator']), 'openIssues': json['open_issues'], 'closedIssues': json['closed_issues'], 'createdAt': (new Date(json['created_at'])), 'updatedAt': (new Date(json['updated_at'])), 'closedAt': (json['closed_at'] == null ? null : new Date(json['closed_at'])), 'dueOn': (json['due_on'] == null ? null : new Date(json['due_on'])), }; } export function GithubMilestoneModelToJSON(json: any): GithubMilestoneModel { return GithubMilestoneModelToJSONTyped(json, false); } export function GithubMilestoneModelToJSONTyped(value?: GithubMilestoneModel | null, ignoreDiscriminator: boolean = false): any { if (value == null) { return value; } return { 'url': value['url'], 'html_url': value['htmlUrl'], 'labels_url': value['labelsUrl'], 'id': value['id'], 'node_id': value['nodeId'], 'number': value['number'], 'state': value['state'], 'title': value['title'], 'description': value['description'], 'creator': GithubUserModelToJSON(value['creator']), 'open_issues': value['openIssues'], 'closed_issues': value['closedIssues'], 'created_at': ((value['createdAt']).toISOString()), 'updated_at': ((value['updatedAt']).toISOString()), 'closed_at': ((value['closedAt'] as any).toISOString()), 'due_on': ((value['dueOn'] as any).toISOString()), }; }