File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -12,7 +12,7 @@ service SpaceApi {
1212 rpc Subscribe (google.protobuf.Empty ) returns (stream FileEventResponse ) {}
1313 rpc TxlSubscribe (google.protobuf.Empty ) returns (stream TextileEventResponse ) {}
1414 rpc OpenFile (OpenFileRequest ) returns (OpenFileResponse ) {}
15- rpc AddItems (AddItemsRequest ) returns (AddItemsResponse ) {}
15+ rpc AddItems (AddItemsRequest ) returns (stream AddItemsResponse ) {}
1616 rpc CreateFolder (CreateFolderRequest ) returns (CreateFolderResponse ) {}
1717}
1818
@@ -80,16 +80,12 @@ message AddItemsRequest {
8080message AddItemResult {
8181 string sourcePath = 1 ;
8282 string bucketPath = 2 ;
83- }
84-
85- message AddItemError {
86- string sourcePath = 1 ;
87- string error = 2 ;
83+ string error = 3 ;
8884}
8985
9086message AddItemsResponse {
91- repeated AddItemResult results = 1 ;
92- repeated AddItemError errors = 2 ;
87+ AddItemResult result = 1 ;
88+ uint32 progress = 2 ;
9389}
9490
9591message CreateFolderRequest {
Original file line number Diff line number Diff line change 1+ const { ipcMain } = require ( 'electron' ) ;
2+
3+ const client = require ( '../client' ) ;
4+ const { listDirectories } = require ( './objects' ) ;
5+
6+ const EVENT_PREFIX = 'addItemsSuscribe' ;
7+ const SUBSCRIBE_START_EVENT = `${ EVENT_PREFIX } :start` ;
8+ const SUBSCRIBE_ERROR_EVENT = `${ EVENT_PREFIX } :error` ;
9+ const SUBSCRIBE_SUCCESS_EVENT = `${ EVENT_PREFIX } :success` ;
10+
11+ const registerAddItemsSubscribe = ( mainWindow ) => {
12+ let eventStream ;
13+
14+ ipcMain . on ( SUBSCRIBE_START_EVENT , ( event , payload ) => {
15+ eventStream = client . AddItems ( payload ) ;
16+
17+ eventStream . on ( 'data' , ( event ) => {
18+ mainWindow . webContents . send ( SUBSCRIBE_SUCCESS_EVENT , event ) ;
19+ listDirectories ( mainWindow ) ;
20+ } ) ;
21+
22+ eventStream . on ( 'error' , ( error ) => {
23+ mainWindow . webContents . send ( SUBSCRIBE_ERROR_EVENT , error ) ;
24+ } ) ;
25+
26+ eventStream . on ( 'end' , ( ) => {
27+ eventStream . destroy ( ) ;
28+ } )
29+ } ) ;
30+ } ;
31+
32+ module . exports = registerAddItemsSubscribe ;
Load Diff This file was deleted.
Original file line number Diff line number Diff line change @@ -3,8 +3,8 @@ const registerConfigEvents = require('./config');
33const registerPathInfoEvents = require ( './path-info' ) ;
44const registerObjectsEvents = require ( './objects' ) . default ;
55const registerGenerateKeyPairEvents = require ( './generate-key-pair' ) ;
6- const registerAddItemsEvents = require ( './add-items' ) ;
76const registerTxlSubscribe = require ( './txl-subscribe' ) ;
7+ const registerAddItemsSubscribe = require ( './add-items-subscribe' ) ;
88
99const registerEvents = ( mainWindow ) => {
1010 const stream = registerEventStream ( mainWindow ) ;
@@ -13,8 +13,8 @@ const registerEvents = (mainWindow) => {
1313 registerConfigEvents ( mainWindow ) ;
1414 registerObjectsEvents ( mainWindow ) ;
1515 registerPathInfoEvents ( mainWindow ) ;
16+ registerAddItemsSubscribe ( mainWindow ) ;
1617 registerGenerateKeyPairEvents ( mainWindow ) ;
17- registerAddItemsEvents ( mainWindow ) ;
1818
1919 return ( ) => {
2020 stream . destroy ( ) ;
Original file line number Diff line number Diff line change 1+ import { ipcRenderer } from 'electron' ;
2+ import { SET_UPLOAD_ERROR_STATE } from '@reducers/storage' ;
3+
4+ import store from '../store' ;
5+
6+ const EVENT_PREFIX = 'addItemsSuscribe' ;
7+ const SUBSCRIBE_START_EVENT = `${ EVENT_PREFIX } :start` ;
8+ const SUBSCRIBE_ERROR_EVENT = `${ EVENT_PREFIX } :error` ;
9+ const SUBSCRIBE_SUCCESS_EVENT = `${ EVENT_PREFIX } :success` ;
10+
11+ const registerAddItemsSubscribeEvents = ( ) => {
12+ ipcRenderer . on ( SUBSCRIBE_SUCCESS_EVENT , ( event , payload ) => {
13+ // eslint-disable-next-line no-console
14+ console . log ( 'upload completed: ' , payload ) ;
15+ } ) ;
16+
17+ ipcRenderer . on ( SUBSCRIBE_ERROR_EVENT , ( event , payload ) => {
18+ // eslint-disable-next-line no-console
19+ console . error ( 'Error on adding item: ' , payload ) ;
20+ store . dispatch ( {
21+ payload,
22+ type : SET_UPLOAD_ERROR_STATE ,
23+ } ) ;
24+ } ) ;
25+ } ;
26+
27+ export const addItems = ( payload ) => {
28+ ipcRenderer . send ( SUBSCRIBE_START_EVENT , payload ) ;
29+ } ;
30+
31+ export default registerAddItemsSubscribeEvents ;
Load Diff This file was deleted.
Original file line number Diff line number Diff line change @@ -4,8 +4,8 @@ import registerConfigEvents from './config';
44import registerObjectsEvents from './objects' ;
55import registerPathInfoEvents from './path-info' ;
66import registerGenerateKeyPairEvents from './generate-key-pair' ;
7- import registerAddItemsEvents from './add-items' ;
87import registerTxlSubscribeEvents from './txl-subscribe' ;
8+ import registerAddItemsSubscribeEvents from './add-items-subscribe' ;
99
1010const registerEvents = ( ) => {
1111 registerShortcuts ( ) ;
@@ -14,13 +14,13 @@ const registerEvents = () => {
1414 registerObjectsEvents ( ) ;
1515 registerPathInfoEvents ( ) ;
1616 registerGenerateKeyPairEvents ( ) ;
17- registerAddItemsEvents ( ) ;
1817 registerTxlSubscribeEvents ( ) ;
18+ registerAddItemsSubscribeEvents ( ) ;
1919} ;
2020
2121export default registerEvents ;
2222export * from './config' ;
2323export * from './objects' ;
2424export * from './path-info' ;
2525export * from './generate-key-pair' ;
26- export * from './add-items' ;
26+ export * from './add-items-subscribe ' ;
You can’t perform that action at this time.
0 commit comments