Last active
February 14, 2018 05:39
-
-
Save tonyspiro/0954ee17ab2632fc0a6f66d7461784b9 to your computer and use it in GitHub Desktop.
This file contains 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
/* | |
Cosmic JS Bucket lifecycle methods | |
Go to https://cosmicjs.com to create an account and get your Auth token at | |
Your Account Settings > Authentication | |
*/ | |
const run = async () => { | |
const api = require('cosmicjs')({ | |
token: 'your-auth-token' // access token found in Your Account Settings > Authentication | |
}) | |
// Add Bucket | |
const add_bucket = await api.addBucket({ | |
title: 'A Bucket\'s Life', | |
slug: 'a-buckets-life' // Make sure this is unique! | |
}).then(data => { | |
return data.bucket | |
}).catch(err => { | |
console.log(err) | |
}) | |
if (!add_bucket) | |
return console.log('error adding bucket') | |
console.log('add_bucket', add_bucket) | |
// Connect to Bucket | |
const bucket = api.bucket({ | |
slug: add_bucket.slug | |
}) | |
// Add Object Type | |
const people = await bucket.addObjectType({ | |
title: 'People', | |
slug: 'people', | |
singular: 'Person', | |
metafields: [ | |
{ | |
type: 'text', | |
title: 'Role', | |
value: '' | |
}, | |
{ | |
type: 'text', | |
title: 'Age', | |
value: '' | |
} | |
] | |
}).then(data => { | |
return data | |
}).catch(err => { | |
console.log(err) | |
}) | |
console.log('people', people) | |
// Add John | |
const john = await bucket.addObject({ | |
title: 'John Bucket', | |
type_slug: 'people', | |
metafields: [ | |
{ | |
type: 'text', | |
title: 'Role', | |
value: 'Husband / Astronaut' | |
}, | |
{ | |
type: 'text', | |
title: 'Age', | |
value: '38' | |
} | |
] | |
}).then(data => { | |
return data.object | |
}).catch(err => { | |
console.log(err) | |
}) | |
console.log('john', john) | |
// Add Jane | |
const jane = await bucket.addObject({ | |
title: 'Jane Bucket', | |
type_slug: 'people', | |
metafields: [ | |
{ | |
type: 'text', | |
title: 'Role', | |
value: 'Wife / Engineer' | |
}, | |
{ | |
type: 'text', | |
title: 'Age', | |
value: '36' | |
} | |
] | |
}).then(data => { | |
return data.object | |
}).catch(err => { | |
console.log(err) | |
}) | |
console.log('jane', jane) | |
// Add Child1 | |
const child1 = await bucket.addObject({ | |
title: 'Jack Bucket', | |
type_slug: 'people', | |
metafields: [ | |
{ | |
type: 'text', | |
title: 'Role', | |
value: 'Son / Student' | |
}, | |
{ | |
type: 'text', | |
title: 'Age', | |
value: '12' | |
}, | |
{ | |
type: 'objects', | |
object_type: 'people', | |
title: 'Parents', | |
value: jane._id + ',' + john._id | |
} | |
] | |
}).then(data => { | |
return data.object | |
}).catch(err => { | |
console.log(err) | |
}) | |
console.log('child1', child1) | |
// Add Child2 | |
const child2 = await bucket.addObject({ | |
title: 'Kate Bucket', | |
type_slug: 'people', | |
metafields: [ | |
{ | |
type: 'text', | |
title: 'Role', | |
value: 'Daughter / Student' | |
}, | |
{ | |
type: 'objects', | |
object_type: 'people', | |
title: 'Parents', | |
value: jane._id + ',' + john._id | |
}, | |
{ | |
type: 'text', | |
title: 'Age', | |
value: '9' | |
} | |
] | |
}).then(data => { | |
return data.object | |
}).catch(err => { | |
console.log(err) | |
}) | |
console.log('child2', child2) | |
// Delete Bucket (uncomment to delete Bucket) | |
// const delete_bucket = await api.deleteBucket({ | |
// id: bucket._id | |
// }).then(data => { | |
// return data | |
// }).catch(err => { | |
// console.log(err) | |
// }) | |
// console.log('delete_bucket', delete_bucket) | |
} | |
run() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment