Commit Graph

148 Commits

Author SHA1 Message Date
Simon Martín
4cb7de7318 changing let for const 2018-06-14 10:51:05 +02:00
Daniel García Aubert
8eab164e4e Be more one liner 2018-06-14 00:54:03 +02:00
Daniel García Aubert
508d688b9d Use request 'close' event when the request is closed unexpectedly by the client 2018-06-14 00:16:06 +02:00
Daniel García Aubert
37a079363a Do not extend from EventEmitter 2018-06-13 20:12:56 +02:00
Daniel García Aubert
bd8e4be596 Do not emit to regist the number of rows processed in copyfrom 2018-06-13 20:11:39 +02:00
Daniel García Aubert
5655f26fbd Do not emit to regist the number of rows processed in copyto 2018-06-13 20:06:35 +02:00
Daniel García Aubert
eb4ba60ba0 Pass the error to the pg connection's callback 2018-06-13 19:56:56 +02:00
Daniel García Aubert
b9971d94dd Do not use the regular callback in streams events 2018-06-13 18:28:34 +02:00
Daniel García Aubert
7d1a0abadd Preventing callbacks from accidentally being called twice 2018-06-13 18:26:58 +02:00
Eneko Lakasta
f5d56a2253
FIX add return to callback call 2018-06-13 13:17:01 +02:00
Simon Martín
409273bafe removing 2nd calback using events 2018-06-12 18:39:50 +02:00
Simon Martín
19aae3c40f manage pgstrem error on stream copy class 2018-06-12 17:04:44 +02:00
Simon Martín
ba2f85421d StreamCopy to class 2018-06-12 16:56:18 +02:00
Simon Martín
8a15b2f8d1 Merge branch 'master' into pgcopy-stream-refactor2 2018-06-12 15:21:28 +02:00
Simon Martín
1174499dcf Merge branch 'master' into pgcopy-stream 2018-06-11 14:38:52 +02:00
Simon Martín
4fab96cb3a rename gzip to isGzip 2018-06-11 12:55:30 +02:00
Simon Martín
b63806f8de cleaning stream copy 2018-06-08 17:04:28 +02:00
Simon Martín
014f0a1491 refactor of copy to PoC 2018-06-08 16:58:32 +02:00
Simon Martín
f7454228c6 refactor of copy from PoC 2018-06-08 16:50:12 +02:00
Simon Martín
e259a51623 unifiyng to see 'the forest' 2018-06-08 15:03:21 +02:00
Simon Martín
c62ef15dda using StreamCopy in controller 2018-06-08 11:15:23 +02:00
Simon Martín
732c229e63 creating StreamCopy class 2018-06-08 11:09:51 +02:00
Simon Martín
2bcea0484a rename BunyanLogger to Logger 2018-06-08 10:59:34 +02:00
Eneko Lakasta
eab3d289b6 refactor authenticated to authorizationLevel 2018-06-05 13:21:56 +02:00
Simon Martín
66af518deb jshint 2018-06-05 13:16:14 +02:00
Simon Martín
29d1fb1274 logging GzipSize 2018-06-05 13:02:14 +02:00
Simon Martín
02cc606be1 gzipSize support in metrics 2018-06-05 13:01:15 +02:00
Simon Martín
dd689d3568 log metrics only once 2018-06-05 12:36:36 +02:00
Simon Martín
550c736032 metrics in errors 2018-06-05 12:35:52 +02:00
Rafa de la Torre
d2c0e68a78
Merge pull request #497 from CartoDB/cancel-copy-to-client-disconnect
Cancel copy to upon client disconnect
2018-06-05 09:59:49 +02:00
Simon Martín
66f7ab45fe release connection with error 2018-06-04 20:51:21 +02:00
Simon Martín
7b6056b799 using the correct errors in done 2018-06-04 20:36:16 +02:00
Rafa de la Torre
014ea8142b A cleaner approach to the cancel command 2018-06-04 19:06:11 +02:00
Simon Martín
a844b5d31d jshint happy 2018-06-04 18:15:00 +02:00
Simon Martín
1cf7032c9a adding user and date in copy logs 2018-06-04 18:08:34 +02:00
Rafa de la Torre
994e8a702b Add callbacks to pg.connect
And call them to return connections to the pool.
2018-05-31 18:59:19 +02:00
Rafa de la Torre
b59ae1d057 Make sure the COPY TO query is cancelled
Issue a CancelRequest upon client disconnection, to make sure the COPY
TO query is cancelled and the connection/session is put back to the pg
pool.
2018-05-31 17:27:35 +02:00
Rafa de la Torre
332f7096d3 Listen to response events (on behalf of @oleurud) 2018-05-31 17:06:19 +02:00
Rafa de la Torre
0eab03a7e7 Add a more informative message 2018-05-31 16:41:22 +02:00
Eneko Lakasta
46e3a87f41 add some auth TODOs 2018-05-30 18:15:35 +02:00
Simon Martín
310f652ae4 send CopyFail when user close connection 2018-05-30 12:59:49 +02:00
Eneko Lakasta
7764975c09 please jshint: remove unnecessary require (underscore) 2018-05-30 12:08:04 +02:00
Simon Martín
a083eb909c fix req events 2018-05-29 16:19:53 +02:00
Eneko Lakasta
ebe04d04ad refactor user database service. Get proper DB config based on auth type: oauth vs apikey
Oauth uses only master api key configuration
Api key uses master and the provided api key configurations

Also move default api key fallback to this service
2018-05-28 15:53:51 +02:00
Simon Martín
7d32ae293f rename buyan_logger file name 2018-05-28 11:18:30 +02:00
Simon Martín
3cf28bb7ff jshint happy 2018-05-25 18:50:56 +02:00
Simon Martín
22caa049ee StreamCopyMetrics 2018-05-25 18:47:41 +02:00
Simon Martín
6c3f9cf1d3 simplify controllers 2018-05-25 17:42:30 +02:00
Eneko Lakasta
ec75227aa2 use apikeys instead of metadata for the database connections parameters 2018-05-25 17:23:24 +02:00
Simon Martín
fdc542f7b5 BunyanLogger 2018-05-23 17:24:48 +02:00
Simon Martín
5f8e1d8f53 fix validatePGEntitiesAccess access 2018-04-26 10:13:03 +02:00
Simon Martín
e12e16507a create object and export 2018-04-24 13:21:43 +02:00
Simon Martín
3b228ac17b solving jshint crazy error 2018-04-24 10:10:37 +02:00
Simon Martín
985f9ef7f5 pgEntitiesAccessValidator 2018-04-23 18:17:44 +02:00
Simon Martín
2a729b7da8 destructuring error_handler parameters 2018-04-03 13:43:17 +02:00
Simon Martín
4301b63189 fix error 2018-03-28 13:31:31 +02:00
Simon Martín
616f3f3c07 errorHandlerFactory 2018-03-28 13:06:39 +02:00
Simon Martín
16ea727fc3 move ErrorHandler logic from error middleware 2018-03-28 12:58:10 +02:00
Simon Martín
b45f5fe31e move ErrorHandler to services folder 2018-03-28 12:49:33 +02:00
Simon Martín
9cd4e85768 using cartodb-redis in rate limits 2018-03-03 15:01:45 +01:00
Simon Martín
967cdf8a06 refactoring user_limits 2018-03-02 19:54:22 +01:00
Simon Martín
a11d9870a3 exporting RATE_LIMIT_REDIS_DB 2018-03-02 13:17:50 +01:00
Simon Martín
25d1e5442c new redis keys 2018-03-01 15:51:19 +01:00
Simon Martín
7a6ef637ae make jshint happy 2018-03-01 14:47:34 +01:00
Simon Martín
3fdb7abeaf user limits service 2018-03-01 11:30:34 +01:00
Daniel García Aubert
3807d9f94d Template for User not found error 2018-02-22 17:49:02 +01:00
Daniel García Aubert
ec24019cc0 Apply some ES6 goodies 2018-02-22 17:35:03 +01:00
Daniel García Aubert
095c34358e Remove step 2018-02-22 15:58:52 +01:00
Daniel García Aubert
8c3b9fa05b Remove bad assignment 2018-02-22 13:27:50 +01:00
Daniel García Aubert
700c64bba3 Extract to a middleware user timeout limit from user-database-services 2018-02-22 12:45:55 +01:00
Daniel García Aubert
8730b5c517 Read if the request is authenticated through res.locals 2018-02-22 12:04:05 +01:00
Daniel García Aubert
b399abee18 Move authorization to auth-api and extract it from user-database-service 2018-02-22 11:46:34 +01:00
Daniel García Aubert
6c92781600 Remove empty line 2018-02-21 16:19:12 +01:00
Daniel García Aubert
ea6e8b5315 Implement fallback mechanism to be able to authenticate as usual in case of apikey is not found 2018-02-14 16:22:36 +01:00
Daniel García Aubert
7c859f0d7b Use actual apikey properties 2018-02-12 17:49:50 +01:00
Daniel García Aubert
c003a491c0 Use current implementation of cartodb-redis 2018-02-12 16:41:35 +01:00
Daniel García Aubert
88015aaf0f Implement new auth system based on api-key tokens with scoped permissions 2017-11-24 17:57:54 +01:00
Daniel García Aubert
15949d2fc2 Fix wrong function name 2017-11-24 15:55:16 +01:00
Daniel García Aubert
01a71ee60e Apply user timeout to ogr2ogr command 2017-08-09 12:50:16 +02:00
Rafa de la Torre
07890ec608 Change tableCache.get for tableCache.peek #244
This will make it consider age of the key when it was initially set,
instead of renewing it with the time of the last access.
2017-07-03 11:13:21 +02:00
Raul Ochoa
66cd1f400f Skip query tables cache for authenticated requests 2016-03-10 19:20:56 +01:00
Raul Ochoa
5ebc8e43d5 Start hits=0 as first time is not a hit 2016-03-08 14:50:08 +01:00
Raul Ochoa
b8460d033e Add a cache decorator over QueryTables 2016-03-08 14:48:56 +01:00
Alejandro Martínez
5e06711b4b Use node-cartodb-querytables library 2016-02-22 12:24:05 +01:00
Raul Ochoa
15f90c1a78 QueryTablesApi only caches affected tables and always retrieve last modification 2016-02-02 01:16:24 +01:00
Raul Ochoa
9deab814c9 Skip query-tables-api for authenticated requests 2016-02-01 16:53:28 +01:00
Raul Ochoa
24ecf130a1 Namespace queries so two users don't share results
For instance 'select * from table' should result in different affected
tables (schema+table) depending on the database.
2016-01-28 15:38:08 +01:00
Raul Ochoa
65bcdad657 Fix cyclomatic complexity 2016-01-28 14:48:12 +01:00
Raul Ochoa
86ecc3ad0a Implements authDbParams interface
Uses user and pass from redis and relies on rest of params prepared
for normal dbParams
2016-01-28 14:38:02 +01:00
Raul Ochoa
e70a21a2b4 Adds documentation about values passed over callback in getConnectionParams 2016-01-28 14:25:03 +01:00
Raul Ochoa
131d798653 Change interface to return also authenticated connection params 2016-01-28 14:18:10 +01:00
Raul Ochoa
235e7f9bc1 Rename method to match returning connection params behaviour 2016-01-28 14:14:31 +01:00
Raul Ochoa
023d06fd19 Affected tables and last modified behind QueryTablesApi
It handles the internal cache and exposes an unified result
2016-01-28 14:08:18 +01:00
Raul Ochoa
3be769a67e Fix style 2016-01-28 12:33:32 +01:00
Daniel García Aubert
048d2cd0ea Refactored user database service ans updated controllers to use it. 2016-01-21 16:17:17 +01:00
Daniel García Aubert
f42727212b Removed unnecessary checkAborted function in job controller and changed signature for getUserDatabase. 2016-01-21 15:05:46 +01:00
Daniel García Aubert
78ee92dbe5 Renamed exposed function 2015-12-10 15:06:25 +01:00
Daniel García Aubert
a1243ad64d Implemented job controller to enqueue jobs 2015-12-07 09:40:51 +01:00