This repository has been archived by the owner on Jan 7, 2020. It is now read-only.
/
immutable_data_actions.js
95 lines (88 loc) · 2.07 KB
/
immutable_data_actions.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
import ACTION_TYPES from './actionTypes';
export const createImmutableDataWriterHandle = (token) => ({
type: ACTION_TYPES.CREATE_IMMUT_WRITER_HANDLE,
payload: {
request: {
url: `/immutable-data/writer`,
headers: {
'Authorization': token
}
}
}
});
export const getImmutableDataReadHandle = (token, handleId) => ({
type: ACTION_TYPES.GET_IMMUT_READ_HANDLE,
payload: {
request: {
url: `/immutable-data/reader/${handleId}`,
headers: {
'Authorization': token
}
}
}
});
export const readImmutableData = (token, handleId) => ({
type: ACTION_TYPES.READ_IMMUT_DATA,
payload: {
request: {
url: `/immutable-data/${handleId}`,
headers: {
'Authorization': token
},
responseType: 'arraybuffer'
}
}
});
export const writeImmutableData = (token, handleId, data) => {
const dataByteArray = new Uint8Array(new Buffer(JSON.stringify(data)));
return {
type: ACTION_TYPES.WRITE_IMMUT_DATA,
payload: {
request: {
method: 'post',
url: `/immutable-data/${handleId}`,
headers: {
'content-type': 'text/plain',
'Authorization': token
},
data: dataByteArray
}
}
};
};
export const putImmutableData = (token, handleId, cipherOptsHandle) => ({
type: ACTION_TYPES.PUT_IMMUT_DATA,
payload: {
request: {
method: 'put',
url: `/immutable-data/${handleId}/${cipherOptsHandle}`,
headers: {
'Authorization': token,
}
}
}
});
export const closeImmutableDataWriter = (token, handleId) => ({
type: ACTION_TYPES.CLOSE_IMMUT_DATA_WRITER,
payload: {
request: {
method: 'delete',
url: `/immutable-data/writer/${handleId}`,
headers: {
'Authorization': token,
}
}
}
});
export const closeImmutableDataReader = (token, handleId) => ({
type: ACTION_TYPES.CLOSE_IMMUT_DATA_READER,
payload: {
request: {
method: 'delete',
url: `/immutable-data/reader/${handleId}`,
headers: {
'Authorization': token,
}
}
}
});