2.0.1 • Published 9 years ago
aws-s3-facia-tool v2.0.1
aws-s3-facia-tool
API on top of facia tool storage
Dependencies
This package has a peer dependency on aws-sdk version 2.x.
Installation
npm install aws-s3-facia-tool --saveUsage
const facia = require('aws-s3-facia-tool');
const client = new facia.Client({
'bucket': 'bucket-used-by-fronts-tool',
'env': 'CODE',
'configKey': 'where/config.json/lives',
'configHistoryPrefix': 'path/containing/config/history',
'collectionHistoryPrefix': 'path/containing/collections/history',
'collectionsPrefix': 'path/containing/collection.json',
'pressedPrefix': 'path/containing/pressed.json',
'maxParallelRequests': 6,
'maxDaysHistory': 7
});Config
const facia = require('aws-s3-facia-tool');
const client = new facia.Client({});
facia.Config(client).fetch()
.then(config => {
// use the config here
})Config.fetch()- Fetch the config JSON from the bucket, returns aConfigclassConfig.head()- Performs aheadaction, the resulting promise is resolved with the config metadata (e.g.ETag,LastModified)Config.get()- Returns theConfigclass using in memory cache, it reads from the bucket only when the cache is empty.Config.json()- Returns the config JSON instead of the utility class. It uses the cacheConfig.fetchAt(key)- Returns aConfigclass reading fromkeyinstead of the internal configuration
Config class
Instances of Config class have the following methods
hasFront(front)- Boolean, whether afrontexistshasCollection(id)- Boolean, whether a collection withidexistslistFrontsIds(priority)- List of all front id. Optionally filter by prioritylistCollectionsIds()- List of all collection idfront(path)- Return aFrontclass for the given pathcollection- Return aCollectionclass for the given idfronts.find(query)- Return a list ofFrontclasses for all paths that match thequerycollections.find(query)- Return a list ofCollectionclasses for all paths that match thequery
Collection
const facia = require('aws-s3-facia-tool');
const client = new facia.Client({});
facia.Collection(client).fetch()
.then(collection => {
// use the collection here
})fetch (id, config)- Fetch a collectionid.configis optional if you're just interested in the collection content, otherwise pass aconfigobjectfetchAt (id, key, config)- Fetch a collection withidat a specifiedkeylist()- List all collections in the bucket (including the ones that have been removed from fronts)
Collection class
Instances of Front class have the following methods
forEachArticle(action)- Perform anactionfor each item in the collection.actionreceives(stage, article)wherestageislive/draft/treatssetContent(json)- Set the content of the collectionsetKey(key)- Set the key storing the collection contenttoJSON()- Return the collection as JSON. The result object containsconfig: the collection configcollection: the collection content
trails(stage)- Return the list of trail instage(live/draft/treats)lastUpdated()- Return the last updated dateisBackfilled()- Whether the collection has a backfillhasMetadata(type)- Whether the collection has metadata oftype(e.g. collection tags)layout()- Return the collection layoutvisibleStories(scope)- Number of visible stories (above show more) on desktop and mobile
Front
const facia = require('aws-s3-facia-tool');
const client = new facia.Client({});
facia.Front(client).fetch()
.then(front => {
// use the front here
})fetch (path, config)- Fetch a front withpath.configis optional, the tool will get it from S3 if not specified
Front class
Instances of Front class have the following methods
toJSON()- Return the front a JSON. The result object containsconfig: the front configurationcollections: the collections configurationcollectionsFull: the collections content
setCollection(id, collection)- Set the content a collectioncollection(id)- Return aCollectionclass for the collection withidlastUpdated()- Return the last updated datepriority()- Return the explicit prioritylistCollectionsIds()- List all collection id
Press
const facia = require('aws-s3-facia-tool');
const client = new facia.Client({});
facia.Press(client).getLastModified('front-path', 'live')
.then(lastModified => {
// date
})getLastModified(path, location)- Get the last modified date of a front in eitherliveordraft
2.0.1
9 years ago
2.1.0
9 years ago
2.0.0
9 years ago
1.2.1
10 years ago
1.2.0
10 years ago
1.1.0
10 years ago
1.0.2
10 years ago
1.0.1
10 years ago
1.0.0
10 years ago
0.4.6
10 years ago
0.4.5
10 years ago
0.4.4
10 years ago
0.4.3
10 years ago
0.4.2
10 years ago
0.4.1
10 years ago
0.4.0
10 years ago
0.3.2
11 years ago
0.3.1
11 years ago
0.3.0
11 years ago
0.2.1
11 years ago
0.2.0
11 years ago
0.1.1
11 years ago
0.1.0
11 years ago