Skip to content

Commit

Permalink
Merge pull request #368 from textileio/asutula/pow-2.3.1
Browse files Browse the repository at this point in the history
Pow 2.3.1
  • Loading branch information
asutula authored Mar 15, 2021
2 parents d131758 + ce4effc commit 74bbbf6
Show file tree
Hide file tree
Showing 14 changed files with 1,937 additions and 1,924 deletions.
4 changes: 2 additions & 2 deletions .eslintrc.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
"parser": "@typescript-eslint/parser",
"extends": [
"plugin:@typescript-eslint/recommended",
"prettier/@typescript-eslint",
"plugin:prettier/recommended"
"plugin:prettier/recommended",
"prettier"
],
"parserOptions": {
"ecmaVersion": 2020,
Expand Down
3,525 changes: 1,655 additions & 1,870 deletions package-lock.json

Large diffs are not rendered by default.

48 changes: 24 additions & 24 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
"docs": "npx -p typescript -p typedoc@next typedoc --plugin none --mode library --out docs --excludeNotExported --includeDeclarations --ignoreCompilerErrors src/index.ts",
"docs:test": "npm run docs:clean && npm run docs:md && npm run docs:verify",
"docs:clean": "rm -rf docs",
"docs:md": "typedoc --plugin typedoc-plugin-markdown",
"docs:md": "typedoc --plugin typedoc-plugin-markdown src/index.ts",
"docs:verify": "typescript-docs-verifier --input-files=`find docs -type f -name '**.md'`",
"localnet:up": "cd powergate-docker && make localnet",
"localnet:down": "cd powergate-docker && make localnet-down",
Expand All @@ -34,43 +34,43 @@
"author": "Textile <contact@textile.io>",
"license": "MIT",
"devDependencies": {
"@commitlint/cli": "^11.0.0",
"@commitlint/config-conventional": "^11.0.0",
"@types/chai": "^4.2.12",
"@commitlint/cli": "^12.0.1",
"@commitlint/config-conventional": "^12.0.1",
"@types/chai": "^4.2.15",
"@types/dirty-chai": "^2.0.2",
"@types/mocha": "^8.0.3",
"@types/node": "^14.11.2",
"@typescript-eslint/eslint-plugin": "^4.3.0",
"@typescript-eslint/parser": "^4.3.0",
"chai": "^4.2.0",
"@types/mocha": "^8.2.1",
"@types/node": "^14.14.34",
"@typescript-eslint/eslint-plugin": "^4.18.0",
"@typescript-eslint/parser": "^4.18.0",
"chai": "^4.3.4",
"dirty-chai": "^2.0.1",
"eslint": "^7.10.0",
"eslint-config-prettier": "^6.12.0",
"eslint-plugin-prettier": "^3.1.4",
"husky": "^4.3.0",
"eslint": "^7.22.0",
"eslint-config-prettier": "^8.1.0",
"eslint-plugin-prettier": "^3.3.1",
"husky": "^5.1.3",
"json": "^10.0.0",
"mocha": "^8.1.3",
"mocha": "^8.3.2",
"polendina": "^1.1.0",
"prettier": "^2.1.2",
"prettier": "^2.2.1",
"prettier-plugin-organize-imports": "^1.1.1",
"rimraf": "^3.0.2",
"touch": "^3.1.0",
"ts-loader": "^8.0.4",
"ts-node": "^9.0.0",
"typedoc": "^0.19.2",
"typedoc-plugin-markdown": "^3.0.3",
"typescript": "^4.0.3",
"typescript-docs-verifier": "^1.1.2",
"wait-on": "^5.2.0"
"ts-loader": "^8.0.18",
"ts-node": "^9.1.1",
"typedoc": "^0.20.32",
"typedoc-plugin-markdown": "^3.6.0",
"typescript": "^4.2.3",
"typescript-docs-verifier": "^1.1.3",
"wait-on": "^5.2.1"
},
"husky": {
"hooks": {
"commit-msg": "commitlint -E HUSKY_GIT_PARAMS"
}
},
"dependencies": {
"@textile/grpc-powergate-client": "2.0.0",
"@textile/grpc-transport": "0.0.3",
"@textile/grpc-powergate-client": "2.3.1",
"@textile/grpc-transport": "^0.4.0",
"ipfs-http-client": "^47.0.1",
"it-block": "^2.0.0"
}
Expand Down
4 changes: 2 additions & 2 deletions src/admin/data/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import { AdminServiceClient } from "@textile/grpc-powergate-client/dist/powergat
import { Config } from "../../types"
import { promise } from "../../util"

export interface Data {
export interface AdminData {
/**
* Unpins staged data not related to queued or executing jobs.
* @returns An object containing a list of unpinned cids.
Expand All @@ -26,7 +26,7 @@ export interface Data {
/**
* @ignore
*/
export const createData = (config: Config, getMeta: () => grpc.Metadata): Data => {
export const createData = (config: Config, getMeta: () => grpc.Metadata): AdminData => {
const client = new AdminServiceClient(config.host, config)
return {
gcStaged: () => {
Expand Down
46 changes: 35 additions & 11 deletions src/admin/index.ts
Original file line number Diff line number Diff line change
@@ -1,37 +1,59 @@
import { grpc } from "@improbable-eng/grpc-web"
import { Config } from "../types"
import { createData, Data } from "./data"
import { createStorageInfo, StorageInfo } from "./storage-info"
import { createStorageJobs, StorageJobs } from "./storage-jobs"
import { createUsers, Users } from "./users"
import { createWallet, Wallet } from "./wallet"
export { Users, StorageJobs, Wallet, StorageInfo }
import { AdminData, createData } from "./data"
import { AdminGetMinersOptions, AdminIndices, createIndices } from "./indices"
import { AdminRecords, createRecords } from "./records"
import { AdminStorageInfo, createStorageInfo } from "./storage-info"
import { AdminListOptions, AdminStorageJobs, createStorageJobs } from "./storage-jobs"
import { AdminUsers, createUsers } from "./users"
import { AdminWallet, createWallet } from "./wallet"
export {
AdminUsers,
AdminStorageJobs,
AdminWallet,
AdminStorageInfo,
AdminGetMinersOptions,
AdminListOptions,
AdminData,
AdminIndices,
AdminRecords,
}

export interface Admin {
/**
* The admin Data API.
*/
data: Data
data: AdminData

/**
* The admin Records API.
*/
records: AdminRecords

/**
* The admin Indices API.
*/
indices: AdminIndices

/**
* The admin Users API.
*/
users: Users
users: AdminUsers

/**
* The admin Wallet API.
*/
wallet: Wallet
wallet: AdminWallet

/**
* The admin StorageInfo API.
*/
storageInfo: StorageInfo
storageInfo: AdminStorageInfo

/**
* The admin Storage Jobs API.
*/
storageJobs: StorageJobs
storageJobs: AdminStorageJobs
}

/**
Expand All @@ -40,6 +62,8 @@ export interface Admin {
export const createAdmin = (config: Config, getMeta: () => grpc.Metadata): Admin => {
return {
data: createData(config, getMeta),
records: createRecords(config, getMeta),
indices: createIndices(config, getMeta),
users: createUsers(config, getMeta),
wallet: createWallet(config, getMeta),
storageInfo: createStorageInfo(config, getMeta),
Expand Down
57 changes: 57 additions & 0 deletions src/admin/indices/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
import { grpc } from "@improbable-eng/grpc-web"
import {
GetMinerInfoRequest,
GetMinerInfoResponse,
GetMinersRequest,
GetMinersResponse,
} from "@textile/grpc-powergate-client/dist/powergate/admin/v1/admin_pb"
import { AdminServiceClient } from "@textile/grpc-powergate-client/dist/powergate/admin/v1/admin_pb_service"
import { Config } from "../../types"
import { promise } from "../../util"
import { AdminGetMinersOptions } from "./types"

export { AdminGetMinersOptions }

export interface AdminIndices {
/**
* Gets a list of miner addresses that satisfies the provided filters.
* @returns An object containing a list of miner addresses.
*/
getMiners: (opts?: AdminGetMinersOptions) => Promise<GetMinersResponse.AsObject>

/**
* Gets all known indices data for the provided miner addresses.
* @returns An object containing a list of miner info.
*/
getMinerInfo: (...miners: string[]) => Promise<GetMinerInfoResponse.AsObject>
}

/**
* @ignore
*/
export const createIndices = (config: Config, getMeta: () => grpc.Metadata): AdminIndices => {
const client = new AdminServiceClient(config.host, config)
return {
getMiners: (opts?: AdminGetMinersOptions) => {
const req = new GetMinersRequest()
if (opts?.withPower) {
req.setWithPower(opts.withPower)
}
return promise(
(cb) => client.getMiners(req, getMeta(), cb),
(resp: GetMinersResponse) => resp.toObject(),
)
},

getMinerInfo: (...miners: string[]) => {
const req = new GetMinerInfoRequest()
if (miners) {
req.setMinersList(miners)
}
return promise(
(cb) => client.getMinerInfo(req, getMeta(), cb),
(resp: GetMinerInfoResponse) => resp.toObject(),
)
},
}
}
3 changes: 3 additions & 0 deletions src/admin/indices/types.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
export interface AdminGetMinersOptions {
withPower?: boolean
}
63 changes: 63 additions & 0 deletions src/admin/records/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
import { grpc } from "@improbable-eng/grpc-web"
import {
GetUpdatedRetrievalRecordsSinceRequest,
GetUpdatedRetrievalRecordsSinceResponse,
GetUpdatedStorageDealRecordsSinceRequest,
GetUpdatedStorageDealRecordsSinceResponse,
} from "@textile/grpc-powergate-client/dist/powergate/admin/v1/admin_pb"
import { AdminServiceClient } from "@textile/grpc-powergate-client/dist/powergate/admin/v1/admin_pb_service"
import { Timestamp } from "google-protobuf/google/protobuf/timestamp_pb"
import { Config } from "../../types"
import { promise } from "../../util"

export interface AdminRecords {
/**
* Get the retrieval records that were created or modified since the specified date.
* @returns An object containing a list of retrieval records.
*/
getUpdatedRetrievalRecordsSince: (
time: Date,
limit: number,
) => Promise<GetUpdatedRetrievalRecordsSinceResponse.AsObject>

/**
* Get the storage-deal records that were created or modified since the specified date.
* @returns An object containing a list of storage-deal records.
*/
getUpdatedStorageDealRecordsSince: (
time: Date,
limit: number,
) => Promise<GetUpdatedStorageDealRecordsSinceResponse.AsObject>
}

/**
* @ignore
*/
export const createRecords = (config: Config, getMeta: () => grpc.Metadata): AdminRecords => {
const client = new AdminServiceClient(config.host, config)
return {
getUpdatedRetrievalRecordsSince: (time: Date, limit: number) => {
const req = new GetUpdatedRetrievalRecordsSinceRequest()
const since = new Timestamp()
since.fromDate(time)
req.setSince(since)
req.setLimit(limit)
return promise(
(cb) => client.getUpdatedRetrievalRecordsSince(req, getMeta(), cb),
(resp: GetUpdatedRetrievalRecordsSinceResponse) => resp.toObject(),
)
},

getUpdatedStorageDealRecordsSince: (time: Date, limit: number) => {
const req = new GetUpdatedStorageDealRecordsSinceRequest()
const since = new Timestamp()
since.fromDate(time)
req.setSince(since)
req.setLimit(limit)
return promise(
(cb) => client.getUpdatedStorageDealRecordsSince(req, getMeta(), cb),
(resp: GetUpdatedStorageDealRecordsSinceResponse) => resp.toObject(),
)
},
}
}
7 changes: 5 additions & 2 deletions src/admin/storage-info/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import { AdminServiceClient } from "@textile/grpc-powergate-client/dist/powergat
import { Config } from "../../types"
import { promise } from "../../util"

export interface StorageInfo {
export interface AdminStorageInfo {
/**
* Get the current storage state of a cid.
* @param userId The user id to query.
Expand All @@ -29,7 +29,10 @@ export interface StorageInfo {
/**
* @ignore
*/
export const createStorageInfo = (config: Config, getMeta: () => grpc.Metadata): StorageInfo => {
export const createStorageInfo = (
config: Config,
getMeta: () => grpc.Metadata,
): AdminStorageInfo => {
const client = new AdminServiceClient(config.host, config)
return {
get: (userId: string, cid: string) => {
Expand Down
9 changes: 7 additions & 2 deletions src/admin/storage-jobs/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,9 @@ import { Config } from "../../types"
import { promise } from "../../util"
import { AdminListOptions } from "./types"

export interface StorageJobs {
export { AdminListOptions }

export interface AdminStorageJobs {
/**
* Lists StorageJobs according to the provided ListOptions.
* @param opts Optional ListOptions to control the behavior of listing jobs.
Expand All @@ -32,7 +34,10 @@ export interface StorageJobs {
/**
* @ignore
*/
export const createStorageJobs = (config: Config, getMeta: () => grpc.Metadata): StorageJobs => {
export const createStorageJobs = (
config: Config,
getMeta: () => grpc.Metadata,
): AdminStorageJobs => {
const client = new AdminServiceClient(config.host, config)
return {
list: (opts?: AdminListOptions) => {
Expand Down
4 changes: 2 additions & 2 deletions src/admin/users/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import { AdminServiceClient } from "@textile/grpc-powergate-client/dist/powergat
import { Config } from "../../types"
import { promise } from "../../util"

export interface Users {
export interface AdminUsers {
/**
* Create a new user.
* @returns Information about the new user.
Expand All @@ -26,7 +26,7 @@ export interface Users {
/**
* @ignore
*/
export const createUsers = (config: Config, getMeta: () => grpc.Metadata): Users => {
export const createUsers = (config: Config, getMeta: () => grpc.Metadata): AdminUsers => {
const client = new AdminServiceClient(config.host, config)
return {
create: () => {
Expand Down
4 changes: 2 additions & 2 deletions src/admin/wallet/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import { AdminServiceClient } from "@textile/grpc-powergate-client/dist/powergat
import { Config } from "../../types"
import { promise } from "../../util"

export interface Wallet {
export interface AdminWallet {
/**
* Create a new wallet address.
* @param type The type of address to create, bls or secp256k1.
Expand All @@ -37,7 +37,7 @@ export interface Wallet {
/**
* @ignore
*/
export const createWallet = (config: Config, getMeta: () => grpc.Metadata): Wallet => {
export const createWallet = (config: Config, getMeta: () => grpc.Metadata): AdminWallet => {
const client = new AdminServiceClient(config.host, config)
return {
newAddress: (type: "bls" | "secp256k1" = "bls") => {
Expand Down
Loading

0 comments on commit 74bbbf6

Please sign in to comment.