Skip to content
This repository has been archived by the owner on Jan 1, 2025. It is now read-only.

Commit

Permalink
[storage] Add parallel uploads to the limit usage (#112)
Browse files Browse the repository at this point in the history
  • Loading branch information
shomix authored May 18, 2023
1 parent fbeb87c commit cb49de0
Show file tree
Hide file tree
Showing 6 changed files with 50 additions and 11 deletions.
2 changes: 1 addition & 1 deletion packages/core/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@spheron/core",
"version": "1.0.2",
"version": "1.0.3",
"description": "Shared core package for all sdk packages",
"keywords": [
"Storage",
Expand Down
4 changes: 2 additions & 2 deletions packages/core/src/spheron-api/interfaces.ts
Original file line number Diff line number Diff line change
Expand Up @@ -161,7 +161,6 @@ interface UsageWithLimits {
usedBuildExecution?: number; // Seconds
usedConcurrentBuild?: number;
usedStorageArweave?: number; // Bytes
usedStorageFileCoin?: number; // Seconds
usedStorageIPFS?: number; // Bytes
usedDeploymentsPerDay?: number;
lastDeploymentDate?: Date;
Expand All @@ -178,7 +177,6 @@ interface UsageWithLimits {
buildExecutionLimit?: number; // Seconds
concurrentBuildLimit?: number;
storageArweaveLimit?: number; // Bytes
storageFileCoinLimit?: number; // Bytes
storageIPFSLimit?: number;
deploymentsPerDayLimit?: number;
domainsLimit?: number;
Expand All @@ -188,6 +186,8 @@ interface UsageWithLimits {
clusterAktLimit?: number;
clusterBuildExecutionLimit?: number;
passwordProtectionLimit?: number;
usedParallelUploads?: number;
parallelUploadsLimit?: number;
}

interface UsageWithLimitsWithSkynet extends UsageWithLimits {
Expand Down
2 changes: 1 addition & 1 deletion packages/storage/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@

<p align="center">
<a href="https://www.npmjs.com/package/@spheron/storage" target="_blank" rel="noreferrer">
<img src="https://img.shields.io/static/v1?label=npm&message=v1.0.14&color=green" />
<img src="https://img.shields.io/static/v1?label=npm&message=v1.0.15&color=green" />
</a>
<a href="https://github.com/spheronFdn/sdk/blob/main/LICENSE" target="_blank" rel="noreferrer">
<img src="https://img.shields.io/static/v1?label=license&message=Apache%202.0&color=red" />
Expand Down
4 changes: 2 additions & 2 deletions packages/storage/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@spheron/storage",
"version": "1.0.14",
"version": "1.0.15",
"description": "Typescript library for uploading files or directory to IPFS, Filecoin or Arweave via Spheron",
"keywords": [
"Storage",
Expand Down Expand Up @@ -35,7 +35,7 @@
"dist/"
],
"dependencies": {
"@spheron/core": "1.0.2",
"@spheron/core": "1.0.3",
"form-data": "^4.0.0",
"multiformats": "^9.9.0"
},
Expand Down
27 changes: 26 additions & 1 deletion packages/storage/src/bucket-manager/interfaces.ts
Original file line number Diff line number Diff line change
Expand Up @@ -37,4 +37,29 @@ interface Upload {
protocol: string;
}

export { Bucket, Domain, Upload, BucketStateEnum, UploadStatusEnum };
interface UsageWithLimits {
used: {
bandwidth: number; // Bytes
storageArweave: number; // Bytes
storageIPFS: number; // Bytes
domains: number;
numberOfRequests: number;
parallelUploads: number;
};
limit: {
bandwidth: number; // Bytes
storageArweave: number; // Bytes
storageIPFS: number; // Bytes
domains: number;
parallelUploads: number;
};
}

export {
Bucket,
Domain,
Upload,
BucketStateEnum,
UploadStatusEnum,
UsageWithLimits,
};
22 changes: 18 additions & 4 deletions packages/storage/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,10 @@ import {
TokenScope,
UploadManager,
UploadResult,
UsageWithLimits,
} from "@spheron/core";
import { createPayloads } from "./fs-payload-creator";
import { ipfs } from "./ipfs.utils";
import { UsageWithLimits } from "./bucket-manager/interfaces";

export {
ipfs,
Expand Down Expand Up @@ -261,9 +261,23 @@ export class SpheronClient {
"wa-global"
);

const { usedStorageSkynet, storageSkynetLimit, ...resultWithoutSkynet } =
usage;
return resultWithoutSkynet;
return {
used: {
bandwidth: usage.usedBandwidth ?? 0,
storageArweave: usage.usedStorageArweave ?? 0,
storageIPFS: usage.usedStorageIPFS ?? 0,
domains: usage.usedDomains ?? 0,
numberOfRequests: usage.usedNumberOfRequests ?? 0,
parallelUploads: usage.usedParallelUploads ?? 0,
},
limit: {
bandwidth: usage.bandwidthLimit ?? 0,
storageArweave: usage.storageArweaveLimit ?? 0,
storageIPFS: usage.storageIPFSLimit ?? 0,
domains: usage.domainsLimit ?? 0,
parallelUploads: usage.parallelUploadsLimit ?? 0,
},
};
}

async getTokenScope(): Promise<TokenScope> {
Expand Down

0 comments on commit cb49de0

Please sign in to comment.