Commit Graph

187 Commits

Author SHA1 Message Date
patrick brisbin
33590c28a4
Set the ByteString body at userResponse
- It may not be JSON (thought it always is now)
- The JSON suffix should be used only when it is (such as in
  getUserResponseJSON)
2018-01-28 08:20:48 -05:00
patrick brisbin
f52d2e2809
Update README 2018-01-27 12:58:36 -05:00
patrick brisbin
298e5b6e07
Fixup Google documentation 2018-01-27 12:24:02 -05:00
patrick brisbin
cf847ca626
Add functions for reading credsExtra 2018-01-27 12:16:33 -05:00
patrick brisbin
77ab56535f
Remove unused functions, reduce Prelude interface 2018-01-27 12:16:09 -05:00
patrick brisbin
af204bc69f
Remove extra fields from Upcase 2018-01-27 11:59:04 -05:00
patrick brisbin
615fa24a4f
Remove extras from Spotify 2018-01-27 11:55:37 -05:00
patrick brisbin
27329aa1a9
Remove extra fields from Slack 2018-01-27 11:52:05 -05:00
patrick brisbin
374925032d
Remove extra fields from Salesforce 2018-01-27 11:43:31 -05:00
patrick brisbin
f492c2d161
DRY up via setExtra
Adds some safety to the stringly-typed keys we're standardizing on.
2018-01-27 11:31:45 -05:00
patrick brisbin
991601966a
Rename qualified import 2018-01-27 11:31:32 -05:00
patrick brisbin
f4391e8c90
Remove extra fields from Nylas provider 2018-01-27 11:25:42 -05:00
patrick brisbin
ef16a1efe6
Remove extra information from Google plugin
Also removes the ability to parse a custom identifier. See the module
documentation for a workaround.
2018-01-27 11:06:08 -05:00
patrick brisbin
9381315282
Remove extra information from EveOnline provider
Removed keys:

- charName
- charId
- tokenType
- expires

All can be recovered by re-parsing userResponseJSON.
2018-01-27 10:32:51 -05:00
patrick brisbin
f4cb3370cf
Remove extra fields in Bitbucket provider
New keys:

- accessToken
- userResponseJSON

Removed keys:

- email
- login
- avatar_url
- access_token
- name
- location
2018-01-27 09:22:36 -05:00
patrick brisbin
1818b7970b
Remove extra information from BattleNet provider
New keys:

- accessToken
- userResponseJSON

Removed keys:

- battleTag
2018-01-27 09:12:41 -05:00
patrick brisbin
e333053751
Stop returning extra information in GitHub result
See #71.

New `credsExtra` keys:

- `accessToken`: so you can make your own follow-up requests
- `userResponseJSON`: so you can get more information out of the request
  we already made (you just have to parse it yourself)

Removed keys:

- `access_token`: renamed to `accessToken`
- `avatar_url`: can be re-parsed
- `email`: requires your own request to `/emails`
- `login`: can be re-parsed from `userResponseJSON`
- `location`: can be re-parsed, was not always present
- `name`: can be re-parse, was not not always present
- `public_email`: can be re-parsed, was not not always present

Also re-orders arguments between default and scoped to allow better
partial application -- taking advantage of API breakage already.
2018-01-27 09:12:11 -05:00
patrick brisbin
49542cbca1 Re-structure modules
- Extract ...OAuth2.Dispatch
- Extract ...OAuth2.Prelude
- Reduce ...OAuth2 interface
- Re-export ...OAuth2 from Prelude

Incidental improvements:

- Moves a lot of FromJSON interfaces to withObject which will provide
  better de-serialization errors
- Updates Dispatch code to prepare for fetch-creds functions returning
  either instead of maybe, so we can eventually remove exceptions
  entirely
- Replaces (the potentially information-leaking) 500 on OAuth2-related
  errors with a 403 and logged error
2018-01-27 08:10:55 -05:00
patrick brisbin
82585f9b32 Enable -Wall always 2018-01-27 08:10:55 -05:00
patrick brisbin
257a25e901 Ignore TESTREPORT, used in --rerun testing 2018-01-27 08:10:55 -05:00
patrick brisbin
79be858f44
Correct license information
Fixes #96
2018-01-26 13:58:16 -05:00
patrick brisbin
8283d21997 Skip linting step on 8.0 2018-01-26 12:18:46 -05:00
patrick brisbin
5d59c4e385 Disable 7.10 job for now 2018-01-26 12:18:46 -05:00
patrick brisbin
1c7b377b72 Change cache key strategy
Only look to master- on full-fail, never to "any branch". Use a simple
numeric prefix which we can bump to clear it all.
2018-01-26 12:18:46 -05:00
patrick brisbin
3d6c07221c Lint 2018-01-26 12:18:46 -05:00
patrick brisbin
041a9a318b Test all supported GHCs & nightly 2018-01-26 12:18:46 -05:00
patrick brisbin
606c3d834b Back-fill a CHANGELOG 2018-01-25 17:20:33 -05:00
patrick brisbin
e8f413ebab Drop support for GHC < 7.10 2018-01-24 08:04:58 -05:00
patrick brisbin
52c726b598 Update to LTS 10.1 / GHC 8.2 2018-01-24 08:04:58 -05:00
patrick brisbin
8efe95773b Fix coding style in Battle plugin 2018-01-23 10:16:22 -05:00
patrick brisbin
ed58922727 Fix line-endings in Battle plugin 2018-01-23 10:16:22 -05:00
patrick brisbin
400111f9a0 Restyle imports 2018-01-23 10:16:22 -05:00
patrick brisbin
c93b4081b8 Pull weeds 2018-01-23 10:16:22 -05:00
patrick brisbin
79ef8aded9 Address HLint issues 2018-01-23 10:16:22 -05:00
patrick brisbin
30851ae5fb Replace checksum key with full source digest
Checksumming stack.yaml was a cargo-cult of interpreted languages, where
"build" artifacts are uniquely determined by the dependency lock file.

This approach would result in us refusing to store a new cache after
changing code (as long as it was the same resolver), and forever
recompiling any altered modules.

Computing a digest of all git-tracked files seems like the simplest way
to key compilation for now.
2018-01-23 10:16:22 -05:00
patrick brisbin
b25ddab6f6 Disable example executable for now 2018-01-23 10:16:22 -05:00
patrick brisbin
9e0a27feab Circle 2.0 2018-01-23 10:16:22 -05:00
patrick brisbin
1c24a6a1e5 Project setup files 2018-01-23 10:16:22 -05:00
patrick brisbin
c36089b0a1
Version bump 2017-12-15 10:10:53 -05:00
patrick brisbin
1d36cb346e Use modern packaging practices
- Move sources under src
- Use hpack via package.yaml
- Remove the network-uri flag
2017-12-14 08:20:16 -05:00
patrick brisbin
34ae029705 Move nightly compilation to make it cached 2017-12-14 08:20:16 -05:00
Stefan Dresselhaus
7ef60e6089 Add ExtensionSpec to other-modules 2017-12-14 08:20:16 -05:00
patrick brisbin
6f6dbcc74d Relax aeson and hoauth2 upper bounds 2017-12-14 08:20:16 -05:00
patrick brisbin
097fb17ee9 Let's try these shenanigans 2017-12-14 08:20:16 -05:00
patrick brisbin
1c42edce7e Run yammlint over stack.yaml and circle.yml 2017-12-14 08:20:16 -05:00
patrick brisbin
afbc113cd8 Check compilation with nightly 2017-12-14 08:20:16 -05:00
patrick brisbin
7c228694ce Use stack-1.6.1 on CI 2017-12-14 08:20:16 -05:00
patrick brisbin
174952fd4f Install test dependencies in build step
This ensures the extra installation doesn't happen in the test step.
Also add a missing --pedantic.
2017-12-14 08:20:16 -05:00
patrick brisbin
bf05c8a13c Update to latest LTS 2017-12-14 08:20:16 -05:00
patrick brisbin
e9b7f78f78
Version bump 2017-11-27 08:57:47 -05:00