@@ -13,206 +13,184 @@ import { DatabaseAPIRequests } from './api-database';
13
13
const databaseAPIRequests = new DatabaseAPIRequests ( ) ;
14
14
15
15
const bufferPathMask = '/databases/databaseId/keys?encoding=buffer' ;
16
+ export class APIKeyRequests {
17
+
18
+ /**
19
+ * Add Hash key
20
+ * @param keyParameters The key parameters
21
+ * @param databaseParameters The database parameters
22
+ */
23
+ async addHashKeyApi (
24
+ keyParameters : HashKeyParameters ,
25
+ databaseParameters : AddNewDatabaseParameters
26
+ ) : Promise < void > {
27
+ const databaseId = await databaseAPIRequests . getDatabaseIdByName (
28
+ databaseParameters . databaseName
29
+ ) ;
30
+ const requestBody = {
31
+ keyName : keyParameters . keyName ,
32
+ fields : keyParameters . fields
33
+ } ;
34
+ const response = await sendPostRequest (
35
+ `/databases/${ databaseId } /hash?encoding=buffer` ,
36
+ requestBody
37
+ ) ;
16
38
17
- /**
18
- * Add Hash key
19
- * @param keyParameters The key parameters
20
- * @param databaseParameters The database parameters
21
- */
22
- export async function addHashKeyApi (
23
- keyParameters : HashKeyParameters ,
24
- databaseParameters : AddNewDatabaseParameters
25
- ) : Promise < void > {
26
- const databaseId = await databaseAPIRequests . getDatabaseIdByName (
27
- databaseParameters . databaseName
28
- ) ;
29
- const requestBody = {
30
- keyName : keyParameters . keyName ,
31
- fields : keyParameters . fields
32
- } ;
33
- const response = await sendPostRequest (
34
- `/databases/${ databaseId } /hash?encoding=buffer` ,
35
- requestBody
36
- ) ;
37
-
38
- await t
39
- . expect ( response . status )
40
- . eql ( 201 , 'The creation of new Hash key request failed' ) ;
41
- }
42
-
43
- /**
44
- * Add Stream key
45
- * @param keyParameters The key parameters
46
- * @param databaseParameters The database parameters
47
- */
48
- export async function addStreamKeyApi (
49
- keyParameters : StreamKeyParameters ,
50
- databaseParameters : AddNewDatabaseParameters
51
- ) : Promise < void > {
52
- const databaseId = await databaseAPIRequests . getDatabaseIdByName (
53
- databaseParameters . databaseName
54
- ) ;
55
- const requestBody = {
56
- keyName : keyParameters . keyName ,
57
- entries : keyParameters . entries
58
- } ;
59
- const response = await sendPostRequest (
60
- `/databases/${ databaseId } /streams?encoding=buffer` ,
61
- requestBody
62
- ) ;
63
-
64
- await t
65
- . expect ( response . status )
66
- . eql ( 201 , 'The creation of new Stream key request failed' ) ;
67
- }
68
-
69
- /**
70
- * Add Set key
71
- * @param keyParameters The key parameters
72
- * @param databaseParameters The database parameters
73
- */
74
- export async function addSetKeyApi (
75
- keyParameters : SetKeyParameters ,
76
- databaseParameters : AddNewDatabaseParameters
77
- ) : Promise < void > {
78
- const databaseId = await databaseAPIRequests . getDatabaseIdByName (
79
- databaseParameters . databaseName
80
- ) ;
81
- const requestBody = {
82
- keyName : keyParameters . keyName ,
83
- members : keyParameters . members
84
- } ;
85
- const response = await sendPostRequest (
86
- `/databases/${ databaseId } /set?encoding=buffer` ,
87
- requestBody
88
- ) ;
39
+ await t
40
+ . expect ( response . status )
41
+ . eql ( 201 , 'The creation of new Hash key request failed' ) ;
42
+ }
89
43
90
- await t
91
- . expect ( response . status )
92
- . eql ( 201 , 'The creation of new Set key request failed' ) ;
93
- }
44
+ /**
45
+ * Add Stream key
46
+ * @param keyParameters The key parameters
47
+ * @param databaseParameters The database parameters
48
+ */
49
+ async addStreamKeyApi (
50
+ keyParameters : StreamKeyParameters ,
51
+ databaseParameters : AddNewDatabaseParameters
52
+ ) : Promise < void > {
53
+ const databaseId = await databaseAPIRequests . getDatabaseIdByName (
54
+ databaseParameters . databaseName
55
+ ) ;
56
+ const requestBody = {
57
+ keyName : keyParameters . keyName ,
58
+ entries : keyParameters . entries
59
+ } ;
60
+ const response = await sendPostRequest (
61
+ `/databases/${ databaseId } /streams?encoding=buffer` ,
62
+ requestBody
63
+ ) ;
94
64
95
- /**
96
- * Add Sorted Set key
97
- * @param keyParameters The key parameters
98
- * @param databaseParameters The database parameters
99
- */
100
- export async function addSortedSetKeyApi (
101
- keyParameters : SortedSetKeyParameters ,
102
- databaseParameters : AddNewDatabaseParameters
103
- ) : Promise < void > {
104
- const databaseId = await databaseAPIRequests . getDatabaseIdByName (
105
- databaseParameters . databaseName
106
- ) ;
107
- const requestBody = {
108
- keyName : keyParameters . keyName ,
109
- members : keyParameters . members
110
- } ;
111
- const response = await sendPostRequest (
112
- `/databases/${ databaseId } /zSet?encoding=buffer` ,
113
- requestBody
114
- ) ;
65
+ await t
66
+ . expect ( response . status )
67
+ . eql ( 201 , 'The creation of new Stream key request failed' ) ;
68
+ }
115
69
116
- await t
117
- . expect ( response . status )
118
- . eql ( 201 , 'The creation of new Sorted Set key request failed' ) ;
119
- }
70
+ /**
71
+ * Add Set key
72
+ * @param keyParameters The key parameters
73
+ * @param databaseParameters The database parameters
74
+ */
75
+ async addSetKeyApi (
76
+ keyParameters : SetKeyParameters ,
77
+ databaseParameters : AddNewDatabaseParameters
78
+ ) : Promise < void > {
79
+ const databaseId = await databaseAPIRequests . getDatabaseIdByName (
80
+ databaseParameters . databaseName
81
+ ) ;
82
+ const requestBody = {
83
+ keyName : keyParameters . keyName ,
84
+ members : keyParameters . members
85
+ } ;
86
+ const response = await sendPostRequest (
87
+ `/databases/${ databaseId } /set?encoding=buffer` ,
88
+ requestBody
89
+ ) ;
120
90
121
- /**
122
- * Add List key
123
- * @param keyParameters The key parameters
124
- * @param databaseParameters The database parameters
125
- */
126
- export async function addListKeyApi (
127
- keyParameters : ListKeyParameters ,
128
- databaseParameters : AddNewDatabaseParameters
129
- ) : Promise < void > {
130
- const databaseId = await databaseAPIRequests . getDatabaseIdByName (
131
- databaseParameters . databaseName
132
- ) ;
133
- const requestBody = {
134
- keyName : keyParameters . keyName ,
135
- element : keyParameters . element
136
- } ;
137
- const response = await sendPostRequest (
138
- `/databases/${ databaseId } /list?encoding=buffer` ,
139
- requestBody
140
- ) ;
91
+ await t
92
+ . expect ( response . status )
93
+ . eql ( 201 , 'The creation of new Set key request failed' ) ;
94
+ }
141
95
142
- await t
143
- . expect ( response . status )
144
- . eql ( 201 , 'The creation of new List key request failed' ) ;
145
- }
96
+ /**
97
+ * Add Sorted Set key
98
+ * @param keyParameters The key parameters
99
+ * @param databaseParameters The database parameters
100
+ */
101
+ async addSortedSetKeyApi (
102
+ keyParameters : SortedSetKeyParameters ,
103
+ databaseParameters : AddNewDatabaseParameters
104
+ ) : Promise < void > {
105
+ const databaseId = await databaseAPIRequests . getDatabaseIdByName (
106
+ databaseParameters . databaseName
107
+ ) ;
108
+ const requestBody = {
109
+ keyName : keyParameters . keyName ,
110
+ members : keyParameters . members
111
+ } ;
112
+ const response = await sendPostRequest (
113
+ `/databases/${ databaseId } /zSet?encoding=buffer` ,
114
+ requestBody
115
+ ) ;
146
116
147
- /**
148
- * Search Key by name
149
- * @param keyName The key name
150
- * @param databaseParameters The database parameters
151
- */
152
- export async function searchKeyByNameApi (
153
- keyName : string ,
154
- databaseParameters : AddNewDatabaseParameters
155
- ) : Promise < string [ ] > {
156
- const requestBody = {
157
- cursor : '0' ,
158
- match : keyName
159
- } ;
160
- const databaseId = await databaseAPIRequests . getDatabaseIdByName (
161
- databaseParameters . databaseName
162
- ) ;
163
- const response = await sendPostRequest (
164
- bufferPathMask . replace ( 'databaseId' , databaseId ) ,
165
- requestBody
166
- ) ;
167
- await t . expect ( response . status ) . eql ( 200 , 'Getting key request failed' ) ;
168
- return await response . body [ 0 ] . keys ;
169
- }
117
+ await t
118
+ . expect ( response . status )
119
+ . eql ( 201 , 'The creation of new Sorted Set key request failed' ) ;
120
+ }
170
121
171
- /**
172
- * Delete Key by name if it exists
173
- * @param keyName The key name
174
- * @param databaseParameters The database parameters
175
- */
176
- export async function deleteKeyByNameApi (
177
- keyName : string ,
178
- databaseParameters : AddNewDatabaseParameters
179
- ) : Promise < void > {
180
- const databaseId = await databaseAPIRequests . getDatabaseIdByName (
181
- databaseParameters . databaseName
182
- ) ;
183
- const isKeyExist = await searchKeyByNameApi ( keyName , databaseParameters ) ;
184
- if ( isKeyExist . length > 0 ) {
185
- const requestBody = { keyNames : [ Buffer . from ( keyName , 'utf-8' ) ] } ;
186
- const response = await sendDeleteRequest (
187
- bufferPathMask . replace ( 'databaseId' , databaseId ) ,
122
+ /**
123
+ * Add List key
124
+ * @param keyParameters The key parameters
125
+ * @param databaseParameters The database parameters
126
+ */
127
+ async addListKeyApi (
128
+ keyParameters : ListKeyParameters ,
129
+ databaseParameters : AddNewDatabaseParameters
130
+ ) : Promise < void > {
131
+ const databaseId = await databaseAPIRequests . getDatabaseIdByName (
132
+ databaseParameters . databaseName
133
+ ) ;
134
+ const requestBody = {
135
+ keyName : keyParameters . keyName ,
136
+ element : keyParameters . element
137
+ } ;
138
+ const response = await sendPostRequest (
139
+ `/databases/${ databaseId } /list?encoding=buffer` ,
188
140
requestBody
189
141
) ;
142
+
190
143
await t
191
144
. expect ( response . status )
192
- . eql ( 200 , 'The deletion of the key request failed' ) ;
145
+ . eql ( 201 , 'The creation of new List key request failed' ) ;
193
146
}
194
- }
195
147
196
- /**
197
- * Delete Keys by names
198
- * @param keyNames The names of keys
199
- * @param databaseParameters The database parameters
200
- */
201
- export async function deleteKeysApi (
202
- keyNames : string [ ] ,
203
- databaseParameters : AddNewDatabaseParameters
204
- ) : Promise < void > {
205
- const databaseId = await databaseAPIRequests . getDatabaseIdByName (
206
- databaseParameters . databaseName
207
- ) ;
208
- const bufferKeyNames = keyNames . forEach ( ( key ) => Buffer . from ( key , 'utf-8' ) ) ;
209
- const requestBody = { keyNames : bufferKeyNames } ;
210
- const response = await sendPostRequest (
211
- bufferPathMask . replace ( 'databaseId' , databaseId ) ,
212
- requestBody
213
- ) ;
148
+ /**
149
+ * Search Key by name
150
+ * @param keyName The key name
151
+ * @param databaseParameters The database parameters
152
+ */
153
+ async searchKeyByNameApi (
154
+ keyName : string ,
155
+ databaseName : string
156
+ ) : Promise < string [ ] > {
157
+ const requestBody = {
158
+ cursor : '0' ,
159
+ match : keyName
160
+ } ;
161
+ const databaseId = await databaseAPIRequests . getDatabaseIdByName (
162
+ databaseName
163
+ ) ;
164
+ const response = await sendPostRequest (
165
+ bufferPathMask . replace ( 'databaseId' , databaseId ) ,
166
+ requestBody
167
+ ) ;
168
+ await t . expect ( response . status ) . eql ( 200 , 'Getting key request failed' ) ;
169
+ return await response . body [ 0 ] . keys ;
170
+ }
214
171
215
- await t
216
- . expect ( response . status )
217
- . eql ( 200 , 'The deletion of the keys request failed' ) ;
172
+ /**
173
+ * Delete Key by name if it exists
174
+ * @param keyName The key name
175
+ * @param databaseParameters The database parameters
176
+ */
177
+ async deleteKeyByNameApi (
178
+ keyName : string ,
179
+ databaseName : string
180
+ ) : Promise < void > {
181
+ const databaseId = await databaseAPIRequests . getDatabaseIdByName (
182
+ databaseName
183
+ ) ;
184
+ const isKeyExist = await this . searchKeyByNameApi ( keyName , databaseName ) ;
185
+ if ( isKeyExist . length > 0 ) {
186
+ const requestBody = { keyNames : [ Buffer . from ( keyName , 'utf-8' ) ] } ;
187
+ const response = await sendDeleteRequest (
188
+ bufferPathMask . replace ( 'databaseId' , databaseId ) ,
189
+ requestBody
190
+ ) ;
191
+ await t
192
+ . expect ( response . status )
193
+ . eql ( 200 , 'The deletion of the key request failed' ) ;
194
+ }
195
+ }
218
196
}
0 commit comments