Nefarious Pomegranate Magnate

    cockpit-http-client
    TypeScript icon, indicating that this package has built-in type declarations

    1.0.1 • Public • Published

    cockpit-http-client

    GitHub release Publish

    A http-client for your Cockpit CMS content.

    Usage

    yarn add cockpit-http-client

    cockpit-http-client exposes basic get methods for collections and singletons including a sync endpoint that syncs all collections and singletons data.

    Examples

    initiate client

    import { cockpitClient } from 'cockpit-http-client'
    
    const client = cockpitClient({
        apiURL: process.env.COCKPIT_API_URL,
        apiToken: process.env.COCKPIT_API_TOKEN,
    })

    list all collections or singletons

    // lists collections
    const collections = await client.collections.list()
    
    if (collections.success) {
        console.log(collections.data)
    }
    
    // lists singletons
    const singletons = await client.singletons.list()
    
    if (singletons.success) {
        console.log(singletons.data)
    }
    
    // create collection entry
    const create = await client.collections.createEntry('myCollection', {
        name: 'Post 1',
        url: 'post-1',
    })
    
    if (create.success) {
        console.log(create.data)
    }
    
    // update collection entry
    const update = await client.collections.updateEntry('myCollection', 'myEntryID', {
        name: 'Post 1',
        url: 'post-1',
    })
    
    if (update.success) {
        console.log(update.data)
    }

    for collections and singletons methods the API responds in the format:

    Succesful response:
    {success: true, data: 'your data'}
    
    Error response:
    {success: false, message: 'error message'}
    
    

    sync example

    const data = await client.sync.all()
    
    if (data && data.collections) {
        console.log(data.collections)
    }

    entries and sync methods can take optional types for collections and singletons check cockpit-type for types generation.

    const syncCollections = await client.sync.collections<MyCollections>()
    
    const singleton = await client.singletons.entry<MySingleton>('mySingleton')
    
    const update = await client.collections.updateEntry<MyCollection>('myCollection', 'myEntryID', {
        name: 'Post 1',
        url: 'post-1',
    })

    Install

    npm i cockpit-http-client

    DownloadsWeekly Downloads

    10

    Version

    1.0.1

    License

    MIT

    Unpacked Size

    17.1 kB

    Total Files

    18

    Last publish

    Collaborators

    • marcodaniels