Last active
July 31, 2018 06:26
-
-
Save Woody88/105a9eca5c3acc15969f70bf7fd1bc0a to your computer and use it in GitHub Desktop.
Example using purescript-sforce
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // Generated by purs version 0.12.0 | |
| "use strict"; | |
| var Control_Bind = require("../Control.Bind/index.js"); | |
| var Data_Either = require("../Data.Either/index.js"); | |
| var Data_Function = require("../Data.Function/index.js"); | |
| var Effect = require("../Effect/index.js"); | |
| var Effect_Aff = require("../Effect.Aff/index.js"); | |
| var Effect_Class = require("../Effect.Class/index.js"); | |
| var Effect_Console = require("../Effect.Console/index.js"); | |
| var Prelude = require("../Prelude/index.js"); | |
| var Salesforce_Client = require("../Salesforce.Client/index.js"); | |
| var Salesforce_Types = require("../Salesforce.Types/index.js"); | |
| var queryAccounts = function (conn) { | |
| return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Salesforce_Client.getAccounts(conn)); | |
| }; | |
| var main = (function () { | |
| var loginOpts = { | |
| loginUrl: "https://test.salesforce.com", | |
| clientId: "-------", | |
| redirectUri: "http://localhost:8080/", | |
| proxyUrl: "http://localhost:3123/proxy/" | |
| }; | |
| var handleLoginSuccess = function (conn) { | |
| return function __do() { | |
| Effect_Console.log("connected")(); | |
| return Effect_Aff.launchAff_(Salesforce_Types.runSalesforce(queryAccounts)(conn))(); | |
| }; | |
| }; | |
| var handleLoginError = function (result) { | |
| if (result instanceof Salesforce_Client.Cancelled) { | |
| return Effect_Console.log("cancelled"); | |
| }; | |
| if (result instanceof Salesforce_Client["Error"]) { | |
| return Effect_Console.log(result.value0); | |
| }; | |
| throw new Error("Failed pattern match at Main line 27, column 31 - line 29, column 27: " + [ result.constructor.name ]); | |
| }; | |
| return function __do() { | |
| var v = Salesforce_Client.mkClient()(loginOpts)(); | |
| return Effect_Aff.launchAff_(Control_Bind.bind(Effect_Aff.bindAff)(Salesforce_Client.login()({})(v))(function (v1) { | |
| return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Data_Either.either(handleLoginError)(handleLoginSuccess)(v1)); | |
| }))(); | |
| }; | |
| })(); | |
| module.exports = { | |
| main: main, | |
| queryAccounts: queryAccounts | |
| }; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| module Main where | |
| import Prelude | |
| import Data.Either (either) | |
| import Effect (Effect) | |
| import Effect.Class | |
| import Effect.Console (log) | |
| import Effect.Aff | |
| import Salesforce.Client | |
| import Salesforce.Types | |
| main :: Effect Unit | |
| main = do | |
| client <- mkClient loginOpts | |
| launchAff_ do | |
| eitherLogin <- login {} client | |
| liftEffect $ either handleLoginError handleLoginSuccess eitherLogin | |
| where | |
| loginOpts = | |
| { | |
| loginUrl: "https://test.salesforce.com", | |
| clientId: "...", | |
| redirectUri: "http://localhost:8080/", | |
| proxyUrl: "http://localhost:3123/proxy/" | |
| } | |
| handleLoginError result = case result of | |
| Cancelled -> log "cancelled" | |
| Error msg -> log msg | |
| handleLoginSuccess conn = do | |
| log "connected" | |
| launchAff_ $ runSalesforce queryAccounts conn | |
| queryAccounts :: SalesforceM (Array Accounts) | |
| queryAccounts = SalesforceM \conn -> do | |
| liftEffect $ getAccounts conn |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment