@@ -50,6 +50,10 @@ const db = new sqlite3.Database('./web-session-storage.db', (err) => {
50
50
key TEXT PRIMARY KEY,
51
51
data TEXT
52
52
)` ) ;
53
+ db . run ( `CREATE TABLE IF NOT EXISTS templates (
54
+ key TEXT PRIMARY KEY,
55
+ data TEXT
56
+ )` ) ;
53
57
}
54
58
} ) ;
55
59
@@ -143,10 +147,15 @@ app.get('/proxy/*', async (req, res) => {
143
147
}
144
148
} ) ;
145
149
150
+ const normalizeStoreName = ( storeName ) => {
151
+ return storeName . split ( ' ' ) [ 0 ] . toLowerCase ( ) ;
152
+ } ;
153
+
146
154
// POST route to load data
147
155
app . post ( '/load' , ( req , res ) => {
148
- const { key } = req . body ;
149
- db . get ( 'SELECT data FROM sessions WHERE key = ?' , [ key ] , ( err , row ) => {
156
+ const { storeName, key } = req . body ;
157
+ const normStoreName = normalizeStoreName ( storeName ) ;
158
+ db . get ( `SELECT data FROM ${ normStoreName } WHERE key = ?` , [ key ] , ( err , row ) => {
150
159
if ( err ) {
151
160
res . status ( 500 ) . json ( { ok : false , message : 'Error querying the database' } ) ;
152
161
} else if ( row ) {
@@ -159,8 +168,9 @@ app.post('/load', (req, res) => {
159
168
160
169
// POST route to save data
161
170
app . post ( '/save' , ( req , res ) => {
162
- const { key, data } = req . body ;
163
- db . run ( 'INSERT OR REPLACE INTO sessions (key, data) VALUES (?, ?)' , [ key , JSON . stringify ( data ) ] , ( err ) => {
171
+ const { storeName, key, data } = req . body ;
172
+ const normStoreName = normalizeStoreName ( storeName ) ;
173
+ db . run ( `INSERT OR REPLACE INTO ${ normStoreName } (key, data) VALUES (?, ?)` , [ key , JSON . stringify ( data ) ] , ( err ) => {
164
174
if ( err ) {
165
175
res . status ( 500 ) . json ( { ok : false , message : 'Error writing to the database' } ) ;
166
176
} else {
@@ -169,25 +179,28 @@ app.post('/save', (req, res) => {
169
179
} ) ;
170
180
} ) ;
171
181
172
- // POST route to get all sessions
173
- app . post ( '/sessions' , ( req , res ) => {
174
- db . all ( 'SELECT key, data FROM sessions' , [ ] , ( err , rows ) => {
182
+ // POST route to get all rows from a table
183
+ app . post ( '/all' , ( req , res ) => {
184
+ const { storeName } = req . body ;
185
+ const normStoreName = normalizeStoreName ( storeName ) ;
186
+ db . all ( `SELECT key, data FROM ${ normStoreName } ` , [ ] , ( err , rows ) => {
175
187
if ( err ) {
176
188
res . status ( 500 ) . json ( { ok : false , message : 'Error querying the database' } ) ;
177
189
} else {
178
- const sessions = { } ;
190
+ const all = { } ;
179
191
rows . forEach ( ( row ) => {
180
- sessions [ row . key ] = JSON . parse ( row . data ) ;
192
+ all [ row . key ] = JSON . parse ( row . data ) ;
181
193
} ) ;
182
- res . json ( { ok : true , result : sessions } ) ;
194
+ res . json ( { ok : true , result : all } ) ;
183
195
}
184
196
} ) ;
185
197
} ) ;
186
198
187
199
// POST route to delete a session
188
200
app . post ( '/delete' , ( req , res ) => {
189
- const { sessionId } = req . body ;
190
- db . run ( 'DELETE FROM sessions WHERE key = ?' , [ sessionId ] , ( err ) => {
201
+ const { storeName, key } = req . body ;
202
+ const normStoreName = normalizeStoreName ( storeName ) ;
203
+ db . run ( `DELETE FROM ${ normStoreName } WHERE key = ?` , [ key ] , ( err ) => {
191
204
if ( err ) {
192
205
res . status ( 500 ) . json ( { ok : false , message : 'Error deleting from the database' } ) ;
193
206
} else {
@@ -209,4 +222,4 @@ process.on('SIGINT', () => {
209
222
db . close ( ( ) => {
210
223
process . exit ( 0 ) ;
211
224
} ) ;
212
- } ) ;
225
+ } ) ;
0 commit comments