This repository has been archived and is no longer actively maintained. The project has been moved to a private repository.
However, the related npm package is still available and can be accessed and used as before: npm install studio-helper
- ApiResponse :
Object - ResultObj :
Object - ProgressOptions
- FileHeaderSettings :
Object Key / value pairs of wanted header names and their values
- CreateFolderResult :
Object - FolderSettings :
Object - FolderUpdateSettings :
Object
Kind: global class
- Classes
- Typedefs
- StudioHelper
- new StudioHelper(settings)
- studioHelper.login(username, password, token, [longSession]) ⇒ Promise
- studioHelper.updateSessionSetting(setting, value)
- studioHelper.resetSessionSettings()
- studioHelper.getAllFolders([limit], [offset]) ⇒ Promise.<ApiResponse.<Array.<{id: string, name: string, parentId: (null|string), createdAt: number, modifiedAt: number}>>>
- studioHelper.getMetadataFields() ⇒ Promise.<ApiResponse.<Array.<{id: string, fields: {id: string, type: string, names: Object}, languages: Array.<string>}>>>
- studioHelper.getConversions() ⇒ Promise.<ApiResponse.<Array.<{id: string, name: string}>>>
- studioHelper.push(settings) ⇒ Array.<Object>
- studioHelper.createDirectoryFolders(folderData) ⇒ Array.<ResultObj>
- studioHelper.getLocalFolders(path) ⇒ Array.<string>
- studioHelper.getFiles(folderId) ⇒ Promise.<Array.<Object>>
- studioHelper.deleteFiles(files, options) ⇒ Promise.<Object>
- studioHelper.uploadFiles(files, folderId) ⇒ Promise.<Array.<Object>>
- studioHelper.replaceFiles(files, [options]) ⇒ Promise.<Array.<Object>>
- studioHelper.getFileHeaders(fileId) ⇒ ResultObj
- studioHelper.setFileHeaders(fileId, headerSettings, [options]) ⇒ ResultObj
- studioHelper.getUploadInformation(files, folderId) ⇒ Array.<Object>
- studioHelper.getReplaceInformation(files, options)
- studioHelper.getFolders([parentId]) ⇒ Promise.<Object>
- studioHelper.createFolder(settings) ⇒ ResultObj
- studioHelper.deleteFolder(folderId) ⇒ Promise.<Object>
- studioHelper.deleteChildFolders(folderId) ⇒ Promise.<Object>
- studioHelper.getFolderSettings(folderId) ⇒ ResultObj
- studioHelper.updateFolderSettings(folderId, folderSettings, [options]) ⇒ ResultObj
- studioHelper.batchUpload(files) ⇒ Array.<object>
- ApiResponse : Object
- ResultObj : Object
- ProgressOptions
- FileHeaderSettings : Object
- CreateFolderResult : Object
- FolderSettings : Object
- FolderUpdateSettings : Object
| Param | Type | Default | Description |
|---|---|---|---|
| settings | Object |
||
| settings.studio | string |
Studio host ('xyz.studio.crasman.fi') | |
| [settings.proxy] | string |
Proxy | |
| [settings.strictSSL] | boolean |
true |
Change to false if you're using self-signed certificate |
| [settings.loginPromptEnabled] | boolean |
true |
Show login prompt if authentication fails |
| [settings.credentialsFile] | string |
".studio-credentials" |
File in which credentials are saved |
| [settings.useCacheDir] | boolean |
false |
Store credentials file in Node modules cache dir |
| [settings.concurrentUploads] | number |
1 |
Max concurrent uploads when using batch methods. Defaul 1, Max 5. |
| [settings.ignoreFile] | string |
".studio-ignore" |
Utilised by push method. Uses gitignore spec |
Example
var StudioHelper = require('studio-helper'),
studio = new StudioHelper({
studio: 'xyz.studio.crasman.fi',
proxy: 'http://xyz.intra:8080/'
});Login
Kind: instance method of StudioHelper
| Param | Type | Default |
|---|---|---|
| username | string |
|
| password | string |
|
| token | string |
|
| [longSession] | int |
1 |
Update a single setting for this session
See documentation for available settings.
Kind: instance method of StudioHelper
See: Documentation
| Param | Type |
|---|---|
| setting | string |
| value | string |
Reset all API settings to default values
Kind: instance method of StudioHelper
studioHelper.getAllFolders([limit], [offset]) ⇒ Promise.<ApiResponse.<Array.<{id: string, name: string, parentId: (null|string), createdAt: number, modifiedAt: number}>>>
Get all folders in Studio
Kind: instance method of StudioHelper
| Param | Type | Default | Description |
|---|---|---|---|
| [limit] | number |
1000 |
Max number of folders to return. Max 1000, default 1000. |
| [offset] | number |
0 |
Offset |
studioHelper.getMetadataFields() ⇒ Promise.<ApiResponse.<Array.<{id: string, fields: {id: string, type: string, names: Object}, languages: Array.<string>}>>>
Get all metadata fields defined in Stage for this Studio
Kind: instance method of StudioHelper
Example
return value
// {
// "status": "ok",
// "result": [
// {
// "id": "my_table",
// "fields": [
// {
// "id": "my_field",
// "type": "st",
// "names": {
// "en": "My field"
// }
// }
// ],
// "languages": [
// "en"
// ]
// }
// ],
// "code": 0
// }Kind: instance method of StudioHelper
Example
return value
// {
// "status": "ok",
// "result": [
// {
// "id": "my_conversion",
// "name": "My conversion",
// }
// ],
// "code": 0
// }Push changes to Studio
Kind: instance method of StudioHelper
Returns: Array.<Object> - Array of objects with file upload information. Array has data property which contains additional information.
| Param | Type | Default | Description |
|---|---|---|---|
| settings | Object |
||
| settings.folders | Array.<Object> |
||
| settings.folders[].folderId | string |
Studio folder id | |
| settings.folders[].localFolder | string |
Local folder path | |
| [settings.folders[].createNewFileVersions] | boolean |
true |
Create new versions of uploaded / updated files. Use false to save disk space if you don't need version history. |
| [settings.folders[].includeSubFolders] | boolean |
false |
Create and upload sub folders |
| [settings.folders[].createdFolderSettings] | Object |
|
Object with paths (RegEx pattern) as keys and FolderUpdateSettings object as value. See example. |
| [settings.folders[].createdFileHeaders] | Object |
|
Object with file paths (RegEx pattern) as keys and FileHeaderSettings objcet as value. See example. |
Example
studio.push({
folders: [{
folderId: '568a7a2aadd4532b0f4f4f5b',
localFolder: 'dist/js'
}, {
folderId: '568a7a27add453aa1a4f4f58',
localFolder: 'dist/css'
}, {
folderId: '568a7a27add453aa1a4f4f58',
localFolder: 'dist/',
includeSubFolders: true,
createNewFileVersions: false,
createdFolderSettings: {
'dist/master': { // Regex match
cacheMaxAge: 64800
},
'dist/dev': { // Regex match
cacheMaxAge: 2
}
},
createdFileHeaders: {
'dist/master/service-worker.js': { // Regex match
'Service-Worker-Allowed': '/'
}
}
}]
}).then(function (res) {
console.log(res.length + 'files uploaded');
})studioHelper.createDirectoryFolders(folderData) ⇒ Array.<ResultObj>
Create folders found in local directory if not already created
Kind: instance method of StudioHelper
Returns: Array.<ResultObj> - ResultObj.result
| Param | Type | Default | Description |
|---|---|---|---|
| folderData | Object |
||
| folderData.folderId | string |
Studio folder id | |
| folderData.localFolder | string |
Local folder path | |
| [folderData.includeSubFolders] | boolean |
false |
Create sub folders |
| [folderData.cache] | boolean |
true |
Cache results |
| [folderData.logCreated] | boolean |
false |
Log successfully created folders |
Get local directory folders
Kind: instance method of StudioHelper
Returns: Array.<string> - folders
| Param | Type |
|---|---|
| path | string |
Get files of a folder
Kind: instance method of StudioHelper
| Param | Type | Description |
|---|---|---|
| folderId | string |
Studio folder id |
Delete files
Kind: instance method of StudioHelper
| Param | Type | Default | Description |
|---|---|---|---|
| files | Array.<string> |
Array of file ids | |
| options | Object |
||
| [options.throttle] | number |
1 |
Number of concurrent delete file requests. Max 5 |
| [options.showProgress] | number |
false |
Number of concurrent delete file requests. Max 5 |
| [options.progressOptions] | ProgressOptions |
Progress bar options |
Upload files to a specified folder
Kind: instance method of StudioHelper
| Param | Type | Description |
|---|---|---|
| files | Array.<string> |
file with path |
| folderId | string |
Studio folder id |
Replace files
Kind: instance method of StudioHelper
| Param | Type | Default | Description |
|---|---|---|---|
| files | Array.<Object> |
||
| files[].fileId | string |
Studio file id | |
| files[].localFile | string |
Local file path | |
| [options] | Object |
||
| [options.createNewVersion] | boolean |
true |
Create new version of files |
studioHelper.getFileHeaders(fileId) ⇒ ResultObj
Get file headers
Kind: instance method of StudioHelper
| Param | Type |
|---|---|
| fileId | string |
studioHelper.setFileHeaders(fileId, headerSettings, [options]) ⇒ ResultObj
Update file headers
Kind: instance method of StudioHelper
| Param | Type | Default | Description |
|---|---|---|---|
| fileId | string |
||
| headerSettings | FileHeaderSettings |
key / value pairs | |
| [options] | Object |
||
| [options.log] | boolean |
false |
log results |
| [options.fileName] | string |
"''" |
used for logging |
Get required information about files for upload
Kind: instance method of StudioHelper
Returns: Array.<Object> - Array of file information objects
| Param | Type | Description |
|---|---|---|
| files | Array.<string> |
files with paths |
| folderId | string |
Studio folder id |
Get required information about files for replacement
Kind: instance method of StudioHelper
| Param | Type | Default | Description |
|---|---|---|---|
| files | Array.<Object> |
||
| files[].fileId | string |
Studio file id | |
| files[].localFile | string |
Local file path | |
| options | Object |
||
| [options.createNewVersion] | boolean |
true |
Create new version of files |
Get folders
Kind: instance method of StudioHelper
| Param | Type | Description |
|---|---|---|
| [parentId] | string |
Parent folder id |
studioHelper.createFolder(settings) ⇒ ResultObj
Create folder
Kind: instance method of StudioHelper
Returns: ResultObj - ResultObj.result
| Param | Type | Default | Description |
|---|---|---|---|
| settings | Object |
||
| settings.name | string |
Name of the new folder | |
| [settings.parentId] | string |
Studio folder in which we want to create the new folder | |
| [settings.addIfExists] | boolean |
true |
Return the already created folder id if false |
| [settings.localFolder] | string |
local folder path | |
| [settings.logCreated] | boolean |
false |
log created folders |
| [settings.folderSettings] | FolderUpdateSettings |
folder settings to apply after creation |
Delete folder
Kind: instance method of StudioHelper
| Param | Type |
|---|---|
| folderId | string |
Delete child folders of a given folder
Kind: instance method of StudioHelper
| Param | Type |
|---|---|
| folderId | string |
studioHelper.getFolderSettings(folderId) ⇒ ResultObj
Get folder settings
Kind: instance method of StudioHelper
Returns: ResultObj - ResultObj.result
| Param | Type |
|---|---|
| folderId | string |
studioHelper.updateFolderSettings(folderId, folderSettings, [options]) ⇒ ResultObj
Update folder settings
Kind: instance method of StudioHelper
| Param | Type | Default | Description |
|---|---|---|---|
| folderId | string |
||
| folderSettings | FolderUpdateSettings |
settings | |
| [options] | Object |
||
| [options.log] | boolean |
false |
log results |
| [options.folderName] | string |
"''" |
used for logging |
Batch upload/replace files
Kind: instance method of StudioHelper
Returns: Array.<object> - result
| Param | Type |
|---|---|
| files | Array.<object> |
Kind: global typedef
Properties
| Name | Type | Description |
|---|---|---|
| status | string |
"ok" or "error" |
| code | number |
0 for success |
| result | T |
Results |
Kind: global typedef
Properties
| Name | Type | Description |
|---|---|---|
| status | string |
"ok" or "error" |
| code | number |
0 for success |
| result | string | Object | Array | boolean |
Results |
Kind: global typedef
| Param | Type |
|---|---|
| title | string |
| total | number |
| options | ProgressOptions |
Properties
| Name | Type |
|---|---|
| complete | string |
| incomplete | string |
| width | number |
| clear | boolean |
| total | number |
Key / value pairs of wanted header names and their values
Kind: global typedef
Properties
| Name | Type | Description |
|---|---|---|
| id | string |
Created folder id |
| name | string |
Local folder name, might be different in Studio |
| localFolder | string |
Local folder path |
Kind: global typedef
Properties
| Name | Type | Description |
|---|---|---|
| fileCacheMaxAge | number |
Cache time in seconds |
| fileCacheProtected | boolean |
Can cache time be changed |
| apiFolder | boolean |
API folders can not be modified in Studio GUI |
| noversioning | boolean |
|
| public | boolean |
Public folder |
Kind: global typedef
Properties
| Name | Type | Description |
|---|---|---|
| fileCacheMaxAge | number |
Cache time in seconds |
| fileCacheProtected | number |
Can cache time be changed (0 or 1) |
| apiFolder | number |
API folders can not be modified in Studio GUI (0 or 1) |
| noversioning | number |
(0 or 1) |
| public | number |
Public folder |