Browse Source

Argus: Remove storage node auth in batchUpload command

Leszek Wiesner 3 years ago
parent
commit
924cd315b6
1 changed files with 7 additions and 29 deletions
  1. 7 29
      distributor-node/src/commands/dev/batchUpload.ts

+ 7 - 29
distributor-node/src/commands/dev/batchUpload.ts

@@ -1,13 +1,12 @@
 import AccountsCommandBase from '../../command-base/accounts'
 import DefaultCommandBase, { flags } from '../../command-base/default'
-import { FilesApi, Configuration, TokenRequest } from '../../services/networking/storage-node/generated'
-import { u8aToHex } from '@polkadot/util'
 import FormData from 'form-data'
 import imgGen from 'js-image-generator'
 import { SubmittableExtrinsic } from '@polkadot/api/types'
 import { BagIdParserService } from '../../services/parsers/BagIdParserService'
 import axios from 'axios'
 import { ContentHash } from '../../services/crypto/ContentHash'
+import urljoin from 'url-join'
 
 async function generateRandomImage(): Promise<Buffer> {
   return new Promise((resolve, reject) => {
@@ -41,18 +40,17 @@ export default class DevBatchUpload extends AccountsCommandBase {
       char: 'C',
       required: true,
     }),
+    endpoint: flags.string({
+      char: 'e',
+      required: true,
+    }),
   }
 
   async run(): Promise<void> {
     const { api } = this
-    const { bagId, bucketId, batchSize, batchesCount } = this.parse(DevBatchUpload).flags
+    const { bagId, bucketId, batchSize, batchesCount, endpoint } = this.parse(DevBatchUpload).flags
     const sudoKey = (await api.query.sudo.key()).toHuman()
     const dataFee = await api.query.storage.dataObjectPerMegabyteFee()
-    const storageApi = new FilesApi(
-      new Configuration({
-        basePath: 'http://127.0.0.1:3333/api/v1',
-      })
-    )
 
     for (let i = 0; i < batchesCount; ++i) {
       const nextObjectId = (await api.query.storage.nextDataObjectId()).toNumber()
@@ -85,25 +83,6 @@ export default class DevBatchUpload extends AccountsCommandBase {
       await Promise.all(
         batch.map(async ([, dataObject], k) => {
           const dataObjectId = nextObjectId + k
-          const data: TokenRequest['data'] = {
-            accountId: sudoKey,
-            bagId,
-            dataObjectId,
-            memberId: 0,
-            storageBucketId: bucketId,
-          }
-          const message = JSON.stringify(data)
-          const signature = u8aToHex(this.getPair(sudoKey).sign(message))
-          const {
-            data: { token },
-          } = await storageApi.publicApiAuthTokenForUploading({
-            data,
-            signature,
-          })
-          if (!token) {
-            throw new Error('Received empty token!')
-          }
-
           const formData = new FormData()
           formData.append('dataObjectId', dataObjectId.toString())
           formData.append('storageBucketId', bucketId.toString())
@@ -113,10 +92,9 @@ export default class DevBatchUpload extends AccountsCommandBase {
           try {
             await axios({
               method: 'POST',
-              url: 'http://127.0.0.1:3333/api/v1/files',
+              url: urljoin(endpoint, 'api/v1/files'),
               data: formData,
               headers: {
-                'x-api-key': token,
                 'content-type': 'multipart/form-data',
                 ...formData.getHeaders(),
               },