{"size": 1400, "ext": "scrbl", "max_stars_repo_path": "scribblings/servers.scrbl", "max_stars_repo_name": "alan-turing-institute/whatnow", "max_stars_repo_stars_event_min_datetime": "2021-01-04T15:12:59.000Z", "max_stars_repo_stars_event_max_datetime": "2021-01-04T15:12:59.000Z", "max_issues_repo_path": "scribblings/servers.scrbl", "max_issues_repo_name": "alan-turing-institute/whatnow", "max_issues_repo_issues_event_min_datetime": "2020-08-17T12:21:06.000Z", "max_issues_repo_issues_event_max_datetime": "2021-08-25T14:13:59.000Z", "max_forks_repo_path": "scribblings/servers.scrbl", "max_forks_repo_name": "alan-turing-institute/whatnow", "max_forks_repo_forks_event_min_datetime": null, "max_forks_repo_forks_event_max_datetime": null}
{"max_stars_count": 1, "max_issues_count": 12, "max_forks_count": null, "avg_line_length": 27.4509803922, "max_line_length": 80, "alphanum_fraction": 0.6671428571}
#lang scribble/manual

@require[
  @for-label[(except-in racket/base date date?)]
  @for-label[gregor]
  @for-label["../server/forecast.rkt" "../db/types.rkt"]]

@title{Backends}

@section{Forecast}

@defmodule[whatnow/forecast]{The @racketmodname[whatnow/server/orecast] library
provides a wrapper around @racketmodname[whatnow/server/forecast-json] that
re-exports the downloads as structured data.}

These functions check that all fields are present in the JSON returned from
Forecast; and for some fields a check is made that the field is not-null. An
error is raised if these conditions are not satisfied.

Note that placeholders are not exported, nor is any assignment to a placeholder,
nor are archived entities.

@defproc[(connect [account-id string?] [access-token string?])
                  connection?]{Rexported from @secref["Connecting_to_Forecast"
         #:doc '(lib "whatnow/scribblings/apis.scrbl")]}

@defproc[(get-team [conn connection?])
                   (listof person?)]{

  Returns the team.}

@defproc[(get-projects [conn connection?])
                       (listof project?)]{
                       
  Returns all projects.}

@defproc[(get-clients [conn connection?])
                   (listof person?)]{
                   
  Returns the clients.}

@defproc[(get-assignments [conn connection?])
                   (listof person?)]{

  Returns all assignments.}





