1.0.2 • Published 2 years ago

yt-quota-manager v1.0.2

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

QuotaManager

Example

const QuotaManager = require("QuotaManager");
const Quota = new QuotaManager(10000, "Quotausage.json");
Quota.use("videos.insert");

QuotaManager~QuotaManager

Kind: inner class of QuotaManager

new QuotaManager(quota, fileName)

ParamTypeDefault
quotanumber10000
fileNamestring"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

ParamType
"{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

ParamType
"{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

NameTypeDescription
fileNamestringName of the file to be used for local storage
quotanumberFull Quota
leftnumberCurrent Left Quota
initTimenumberThe Time at whick quota was created (in miliseconds)
clocknumberCurrent Time (in miliseconds)
usageobjectUsage of the Quota
localobjectLocal copy of usage
usageValuesobjectObject 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");