import { CellsApi,MatchConditionRequest,BatchLockRequest,PostBatchUnlockRequest,UploadFileRequest } from "asposecellscloud";
var fs = require('fs');
var path = require('path');
var process = require('process');
const _ = require('asposecellscloud');

const cellsApi = new CellsApi(process.env.CellsCloudClientId, process.env.CellsCloudClientSecret);

var remoteFolder = "TestData/In"
var localPath = "TestData/CellsCloud/"
var localName = "Book1.xlsx"
var remoteName = "Book1.xlsx"
var localMyDoc = "myDocument.xlsx"
var remoteMyDoc = "myDocument.xlsx"

describe('example', function(){
  it("should call successfully" , function(){
      var localNameRequest = new UploadFileRequest();
      localNameRequest.uploadFiles ={localName:fs.createReadStream(localPath  + localName)};
      localNameRequest.path = remoteFolder + "/" + remoteName ;
      localNameRequest.storageName ="";
      cellsApi.uploadFile(localNameRequest );
      var localMyDocRequest = new UploadFileRequest();
localMyDocRequest.uploadFiles ={localMyDoc:fs.createReadStream(localPath  + localMyDoc)};
localMyDocRequest.path = remoteFolder + "/" + remoteMyDoc ;
localMyDocRequest.storageName ="";
cellsApi.uploadFile(localMyDocRequest );


var batchLockRequestMatchCondition = new MatchConditionRequest();
 batchLockRequestMatchCondition.regexPattern = "(^Book)(.+)(xlsx$)"  ;
var batchLockRequest = new BatchLockRequest();
 batchLockRequest.sourceFolder = remoteFolder  ;
 batchLockRequest.password = "123456"  ;
 batchLockRequest.outFolder = "OutResult"  ;
 batchLockRequest.matchCondition = batchLockRequestMatchCondition  ;

var request = new PostBatchUnlockRequest();
request.batchLockRequest =  batchLockRequest;
return cellsApi.postBatchUnlock(request)
  });
});