yt-quota-manager
v1.0.2
Published
Quota Manager for youtube API.
Downloads
4
Maintainers
Readme
QuotaManager
Example
const QuotaManager = require("QuotaManager");
const Quota = new QuotaManager(10000, "Quotausage.json");
Quota.use("videos.insert");
- QuotaManager
- QuotaManager~QuotaManager
- new QuotaManager(quota, fileName)
- quotaManager.fileName
- quotaManager.quota
- quotaManager.left
- quotaManager.initTime
- quotaManager.clock
- quotaManager.clockInterval
- quotaManager.usage
- quotaManager.local
- quotaManager.usageValues
- quotaManager.use() ⇒ boolean
- quotaManager.canRun() ⇒ boolean
- quotaManager.checkQuota()
- quotaManager.reset()
- quotaManager.localSync()
- QuotaManager~{function} localSync - Syncs the local copy of usage with current usage()
- QuotaManager~QuotaManager
QuotaManager~QuotaManager
Kind: inner class of QuotaManager
- QuotaManager
- QuotaManager~QuotaManager
- new QuotaManager(quota, fileName)
- quotaManager.fileName
- quotaManager.quota
- quotaManager.left
- quotaManager.initTime
- quotaManager.clock
- quotaManager.clockInterval
- quotaManager.usage
- quotaManager.local
- quotaManager.usageValues
- quotaManager.use() ⇒ boolean
- quotaManager.canRun() ⇒ boolean
- quotaManager.checkQuota()
- quotaManager.reset()
- quotaManager.localSync()
- QuotaManager~{function} localSync - Syncs the local copy of usage with current usage()
- QuotaManager~QuotaManager
new QuotaManager(quota, fileName)
| Param | Type | Default | | --- | --- | --- | | quota | number | 10000 | | fileName | string | "QuotaUsage.json" |
quotaManager.fileName
Represents the File destination where Quota usage stats will be stored
Kind: instance property of QuotaManager
quotaManager.quota
Total Quota Available
Kind: instance property of QuotaManager
quotaManager.left
Total Quota Left
Kind: instance property of QuotaManager
quotaManager.initTime
The Time when quota was created
Kind: instance property of QuotaManager
quotaManager.clock
Current Running clock Time in miliseconds
Kind: instance property of QuotaManager
quotaManager.clockInterval
The setInterval thats runs evry half a second( 50ms ) and updates the time
Kind: instance property of QuotaManager
quotaManager.usage
Quota Usage Data
Kind: instance property of QuotaManager
quotaManager.local
A copy of Local JSON Data
Kind: instance property of QuotaManager
quotaManager.usageValues
The Usage Values of how much quota it will consume per trype of request
Kind: instance property of QuotaManager
quotaManager.use() ⇒ boolean
Use the use() method to log the consumption of quota
Kind: instance method of QuotaManager
Returns: boolean - whether the quota is consumed or not
| Param | Type | | --- | --- | | "{requestName}.{MethodName}" | string |
Example
new QuotaManager(10000, "QuotaUsage.json").use("videos.insert");
new QuotaManager(10000, "QuotaUsage.json").use("thumbnails.set");
new QuotaManager(10000, "QuotaUsage.json").use("watermarks.set");
quotaManager.canRun() ⇒ boolean
Checks whether you can perform a specific api action using your current quota
Kind: instance method of QuotaManager
Returns: boolean - whether you can run the action or not
| Param | Type | | --- | --- | | "{requestName}.{MethodName}" | string |
Example
new QuotaManager(10000, "QuotaUsage.json").canRun("videos.insert");
Example
new QuotaManager(10000, "QuotaUsage.json").canRun("thumbnails.set");
quotaManager.checkQuota()
Internal Method that checks for Quota Renewablity i.e whether its next day
Kind: instance method of QuotaManager
Example
new QuotaManager(10000, "QuotaUsage.json").checkQuota;
quotaManager.reset()
Resets the Quota back to default values and clears the usage
Kind: instance method of QuotaManager
Example
new QuotaManager(10000, "QuotaUsage.json").reset();
quotaManager.localSync()
Syncs the Quota Usage data to a local json file
Kind: instance method of QuotaManager
Example
new QuotaManager(10000, "QuotaUsage.json").localSync();
QuotaManager~{function} localSync - Syncs the local copy of usage with current usage()
Manages and keep track of Data
Kind: inner method of QuotaManager
Author: Arnav Kumar
Properties
| Name | Type | Description | | --- | --- | --- | | fileName | string | Name of the file to be used for local storage | | quota | number | Full Quota | | left | number | Current Left Quota | | initTime | number | The Time at whick quota was created (in miliseconds) | | clock | number | Current Time (in miliseconds) | | usage | object | Usage of the Quota | | local | object | Local copy of usage | | usageValues | object | Object containing the values of quota consumed each type of operation |
Example
const Quota = new QuotaManager();
Quota.use("videos.insert");
Quota.use("videos.insert");
Quota.use("videos.update");
Quota.use("videos.delete");
Quota.use("watermarks.set");
Quota.use("videos.insert");
Quota.reset();
Quota.use("videos.insert");