Modules@robinpath/sanity
sanity

@robinpath/sanity

0.1.1Node.jsPublic

Sanity module for RobinPath.

Sanity

Sanity module for RobinPath.

Package: @robinpath/sanity | Category: Cms | Type: Integration

Authentication

sanity.setCredentials "your-credentials"

Call this once at the start of your script before using any other function. Credentials persist for the duration of the script execution.

Use Cases

Use the sanity module when you need to:

  • query -- Use sanity.query to perform this operation
  • getDocument -- Use sanity.getDocument to perform this operation
  • createDocument -- Use sanity.createDocument to perform this operation
  • createOrReplace -- Use sanity.createOrReplace to perform this operation
  • patch -- Use sanity.patch to perform this operation

Quick Reference

FunctionDescriptionReturns
setCredentialsConfigure sanity credentials.object
queryqueryobject
getDocumentgetDocumentobject
createDocumentcreateDocumentobject
createOrReplacecreateOrReplaceobject
patchpatchobject
deleteDocumentdeleteDocumentobject
uploadAssetuploadAssetobject
getAssetgetAssetobject
listDatasetslistDatasetsobject
createDatasetcreateDatasetobject
deleteDatasetdeleteDatasetobject
mutatemutateobject
listDocumentsByTypelistDocumentsByTypeobject
getProjectgetProjectobject
exportDatasetexportDatasetobject
importDatasetimportDatasetobject

Functions

setCredentials

Configure sanity credentials.

Module: sanity | Returns: object -- API response.

sanity.setCredentials
ParameterTypeRequiredDescription
projectIdstringYesprojectId
datasetstringYesdataset
tokenstringYestoken

query

query

Module: sanity | Returns: object -- API response.

sanity.query
ParameterTypeRequiredDescription
inputstringNoInput parameter

getDocument

getDocument

Module: sanity | Returns: object -- API response.

sanity.getDocument
ParameterTypeRequiredDescription
inputstringNoInput parameter

createDocument

createDocument

Module: sanity | Returns: object -- API response.

sanity.createDocument
ParameterTypeRequiredDescription
inputstringNoInput parameter

createOrReplace

createOrReplace

Module: sanity | Returns: object -- API response.

sanity.createOrReplace
ParameterTypeRequiredDescription
inputstringNoInput parameter

patch

patch

Module: sanity | Returns: object -- API response.

sanity.patch
ParameterTypeRequiredDescription
inputstringNoInput parameter

deleteDocument

deleteDocument

Module: sanity | Returns: object -- API response.

sanity.deleteDocument
ParameterTypeRequiredDescription
inputstringNoInput parameter

uploadAsset

uploadAsset

Module: sanity | Returns: object -- API response.

sanity.uploadAsset
ParameterTypeRequiredDescription
inputstringNoInput parameter

getAsset

getAsset

Module: sanity | Returns: object -- API response.

sanity.getAsset
ParameterTypeRequiredDescription
inputstringNoInput parameter

listDatasets

listDatasets

Module: sanity | Returns: object -- API response.

sanity.listDatasets
ParameterTypeRequiredDescription
inputstringNoInput parameter

createDataset

createDataset

Module: sanity | Returns: object -- API response.

sanity.createDataset
ParameterTypeRequiredDescription
inputstringNoInput parameter

deleteDataset

deleteDataset

Module: sanity | Returns: object -- API response.

sanity.deleteDataset
ParameterTypeRequiredDescription
inputstringNoInput parameter

mutate

mutate

Module: sanity | Returns: object -- API response.

sanity.mutate
ParameterTypeRequiredDescription
inputstringNoInput parameter

listDocumentsByType

listDocumentsByType

Module: sanity | Returns: object -- API response.

sanity.listDocumentsByType
ParameterTypeRequiredDescription
inputstringNoInput parameter

getProject

getProject

Module: sanity | Returns: object -- API response.

sanity.getProject
ParameterTypeRequiredDescription
inputstringNoInput parameter

exportDataset

exportDataset

Module: sanity | Returns: object -- API response.

sanity.exportDataset
ParameterTypeRequiredDescription
inputstringNoInput parameter

importDataset

importDataset

Module: sanity | Returns: object -- API response.

sanity.importDataset
ParameterTypeRequiredDescription
inputstringNoInput parameter

Error Handling

All functions throw on failure. Common errors:

ErrorCause
Sanity API error (${res.status}): ${t}Check the error message for details
sanity.setCredentials requires projectId, dataset, token.Check the error message for details
sanity.patch requires an ID.Check the error message for details
sanity.deleteDocument requires an ID.Check the error message for details
sanity.deleteDataset requires an ID.Check the error message for details
Sanity: "..." not configured. Call sanity.setCredentials first.Check the error message for details
@desc "Query and validate result"
do
  set $result as sanity.query
  if $result != null
    print "Success"
  else
    print "No result"
  end
enddo

Recipes

1. List and iterate Document

Retrieve all items and loop through them.

@desc "Setup authentication"
do
  sanity.setCredentials $token
enddo

@desc "Get document and iterate results"
do
  set $result as sanity.getDocument
  each $item in $result
    print $item
  end
enddo

2. Create a new item with createDocument

Create a new resource and capture the result.

@desc "Setup authentication"
do
  sanity.setCredentials $token
enddo

@desc "Create document"
do
  set $result as sanity.createDocument
  print "Created: " + $result
enddo

3. Check before creating

List existing items and only create if needed.

@desc "Setup authentication"
do
  sanity.setCredentials $token
enddo

@desc "Get document and create document"
do
  set $existing as sanity.getDocument
  if $existing == null
    sanity.createDocument
    print "Item created"
  else
    print "Item already exists"
  end
enddo

4. Multi-step Sanity workflow

Chain multiple sanity operations together.

@desc "Setup authentication"
do
  sanity.setCredentials $token
enddo

@desc "Query, get document, and more"
do
  set $r_query as sanity.query
  set $r_getDocument as sanity.getDocument
  set $r_createDocument as sanity.createDocument
  print "All operations complete"
enddo

5. Safe query with validation

Check results before proceeding.

@desc "Setup authentication"
do
  sanity.setCredentials $token
enddo

@desc "Query and validate result"
do
  set $result as sanity.query
  if $result != null
    print "Success: " + $result
  else
    print "Operation returned no data"
  end
enddo

Related Modules

  • json -- JSON module for complementary functionality

Versions (1)

VersionTagPublished
0.1.1latest1 months ago
Install
$ robinpath add @robinpath/sanity

Collaborators

Dumitru Balaban
Dumitru Balaban
@dumitru
View all @robinpath modules
Version0.1.1
LicenseMIT
Unpacked Size4.5 KB
Versions1
Weekly Downloads21
Total Downloads21
Stars0
Last Publish1 months ago
Created1 months ago

Keywords

Category

web