bulk/bulk.go (33 lines of code) (raw):

package bulk import ( "errors" "github.com/elastic/go-sfdc/session" ) const bulk2Endpoint = "/jobs/ingest" // Resource is the structure that can be used to create bulk 2.0 jobs. type Resource struct { session session.ServiceFormatter } // NewResource creates a new bulk 2.0 REST resource. If the session is nil // an error will be returned. func NewResource(session session.ServiceFormatter) (*Resource, error) { if session == nil { return nil, errors.New("bulk: session can not be nil") } return &Resource{ session: session, }, nil } // CreateJob will create a new bulk 2.0 job from the options that where passed. // The Job that is returned can be used to upload object data to the Salesforce org. func (r *Resource) CreateJob(options Options) (*Job, error) { job := &Job{ session: r.session, } if err := job.create(options); err != nil { return nil, err } return job, nil } // AllJobs will retrieve all of the bulk 2.0 jobs. func (r *Resource) AllJobs(parameters Parameters) (*Jobs, error) { jobs, err := newJobs(r.session, parameters) if err != nil { return nil, err } return jobs, nil }