Skip to content

Instantly share code, notes, and snippets.

@Woody88
Woody88 / Internal.purs
Last active November 26, 2022 19:37
New Connection Approach
module Connection.Internal where
import Prelude
import Prim.Row
import Affjax as AX
import Affjax.RequestBody (formURLEncoded, string)
import Affjax.RequestHeader (RequestHeader(..))
import Affjax.ResponseFormat as ResponseFormat
import Connection.Types (ClientId, ClientSecret, CommonConfig, Connection(..), ConnectionConfig(..), EnvironmentType(..), GrantType(..), Password(..), RequestError(..), SecretToken(..), SessionId(..), Username(..), toFormUrlParam)
@Woody88
Woody88 / Connection.purs
Created August 15, 2018 07:42
New Approach
module Connection where
import Connection.Types
import Unsafe.Coerce
import Affjax as AX
import Affjax.RequestBody (formURLEncoded)
import Affjax.ResponseFormat as ResponseFormat
import Control.Comonad.Env (env)
import Data.Argonaut.Core as J
@Woody88
Woody88 / Main.purs
Last active August 10, 2018 21:28
Update RFQ using purescript-sforce
module Main where
import Prelude
import Data.Either (either, Either)
import Data.Generic.Rep (class Generic)
import Foreign.Generic (genericDecode, defaultOptions)
import Effect (Effect)
import Effect.Class (liftEffect)
import Effect.Aff (Aff)
import Effect.Console (log, logShow)
@Woody88
Woody88 / Main.purs
Last active August 10, 2018 04:56
purescript-sforce main
module Main where
import Data.Tuple
import Effect.Aff
import Effect.Class
import Prelude
import Salesforce.Client
import Salesforce.SOQL.Query
import Salesforce.Types
@Woody88
Woody88 / Connection.purs
Last active August 3, 2018 17:25
Effect not Executing in Aff after calling FFI
module Salesforce.Connection where
import Prelude
import Data.Either (Either(..))
import Data.Tuple
import Data.Function.Uncurried (Fn1)
import Data.Generic.Rep (class Generic)
import Data.Generic.Rep.Show (genericShow)
import Data.Function.Uncurried (Fn6, runFn6)
module Salesforce.SOQL.Query where
import Prelude
import Control.Monad.Except
import Control.Monad.Error.Class
import Data.Either (Either(..))
import Data.Function.Uncurried (Fn4, runFn4)
import Effect.Aff (Aff)
import Effect.Aff.Compat (EffectFnAff, fromEffectFnAff)
import Foreign (Foreign, MultipleErrors)
exports.queryString_ = function(conn, q, error, success){
return function(onError, onSuccess){
conn.query(q, function(err, res){
if (err){
console.log('FFI queryString Error: ', err);
return onSucess( error( err.message ) );
}
console.log('FFI queryString Result: ', res);
return onSuccess( sucesss( res ) );
@Woody88
Woody88 / Main.js
Last active July 31, 2018 06:26
Example using purescript-sforce
// 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");
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
exports.mkClient = function(){
var jsforce = require('jsforce');
return new jsforce.Client();
}
exports.getConnection = function(client, loginProps, connectionCancel, connectionError, left, right){
return function(onError, onSuccess) {
function loginHandler(err, result){
if (err != null)