Simon Martín
eba68c56ef
handling pg_typeof undefined
2018-05-10 18:36:08 +02:00
Daniel García Aubert
0741881959
Do not initialize status code to 404 when method is OPTIONS
2018-05-09 16:24:38 +02:00
Daniel García Aubert
c51e254287
Set 404 as defautl status code and set the proper status code fir the response at very same time that the response body
2018-05-09 15:00:18 +02:00
Daniel García Aubert
9feea66550
Use routes configuration to create and mount routes and controllers
2018-05-09 14:59:21 +02:00
Javier Goizueta
944ce80c1e
Revert debugging change
2018-05-09 11:42:53 +02:00
Javier Goizueta
d8ef8cb12f
Debug travis test failures
2018-05-09 11:08:02 +02:00
Javier Goizueta
eea7bed2f3
Slightly more elegant results of queries
2018-05-08 20:41:42 +02:00
Javier Goizueta
741bcd1a80
Metadata fixes
2018-05-08 20:07:20 +02:00
Javier Goizueta
7d68a2967f
Fix: callback expected errors in first argument
2018-05-08 13:08:26 +02:00
Javier Goizueta
b96be69a5c
Clarify example
2018-05-08 13:08:01 +02:00
Javier Goizueta
636cd8cd50
Fix:phase execution
...
phase (not only its tasks) must be executed after the tasks of previous phases
2018-05-08 12:56:06 +02:00
Javier Goizueta
c647f852d6
Refactor metadata queries execution
...
Also fixed bug where sampling query generation needed results of count queries
2018-05-08 11:09:09 +02:00
Javier Goizueta
ebab879aca
Fix bugs & typos
2018-05-08 11:07:47 +02:00
Javier Goizueta
7561635b24
WIP:add layer metadata
2018-05-07 19:03:19 +02:00
Daniel García Aubert
7ed819e84a
Merge branch 'separate-routers' into improve-folder-structure
2018-05-07 18:29:53 +02:00
Daniel García Aubert
407a83e81d
Merge branch 'separate-app-and-controllers-creation' into separate-routers
2018-05-07 18:29:00 +02:00
Daniel García Aubert
3c3731252d
Respect default values with object.assign
2018-05-07 18:24:41 +02:00
Eneko Lakasta
534c827904
remove auth fallback
2018-05-07 15:44:44 +02:00
Daniel García Aubert
9bd9503e9b
Merge paths to perform the same middleware stack
2018-04-18 19:07:38 +02:00
Daniel García Aubert
56495522b8
Use array of path to avoid collisions and extract scale-factor param properly
2018-04-18 18:52:09 +02:00
Daniel García Aubert
1694b4b3a6
Merge branch 'separate-routers' into improve-folder-structure
2018-04-17 16:07:47 +02:00
Daniel García Aubert
5b1b78d386
Merge branch 'separate-app-and-controllers-creation' into separate-routers
2018-04-17 15:56:33 +02:00
Daniel García Aubert
9c249596c0
Merge branch 'master' into separate-app-and-controllers-creation
2018-04-17 15:55:38 +02:00
Daniel García Aubert
6c466d13ff
Typo
2018-04-17 11:36:33 +02:00
Daniel García Aubert
9905b20448
Improve naming
2018-04-17 11:22:05 +02:00
Daniel García Aubert
8000a51918
Improve error messages
2018-04-17 11:04:03 +02:00
Daniel García Aubert
98d15e2e34
Typo
2018-04-16 18:57:28 +02:00
Daniel García Aubert
d5c591317b
Add coordinates validation to specific endpoints
2018-04-16 18:55:42 +02:00
Daniel García Aubert
730b29c9cc
Remove defined dependecies but never used
2018-04-11 18:51:44 +02:00
Daniel García Aubert
e06d3200c3
Use a better API to define public routes
2018-04-11 12:33:07 +02:00
Daniel García Aubert
c0943a7c58
Use config to define base path for express routers
2018-04-10 20:26:36 +02:00
Daniel G. Aubert
5d230c444c
Merge pull request #928 from CartoDB/extract-cors-mw
...
Make cors middleware more generic and link it just to application level
2018-04-10 18:29:59 +02:00
Daniel García Aubert
ac615b4a25
Merge branch 'separate-routers' into improve-folder-structure
2018-04-10 16:15:49 +02:00
Daniel García Aubert
bc45b50290
Merge branch 'separate-app-and-controllers-creation' into separate-routers
2018-04-10 15:59:05 +02:00
Daniel García Aubert
1bbd84b37a
Please jshint
2018-04-10 15:56:52 +02:00
Daniel García Aubert
aa3fb4807b
Merge branch 'master' into separate-app-and-controllers-creation
2018-04-10 15:25:36 +02:00
Daniel García Aubert
d1a4057a8d
Rename user limits api by user limits backend
2018-04-10 10:16:07 +02:00
Daniel García Aubert
8519d2724b
Rename tables extent api by tables extent backend
2018-04-10 09:40:09 +02:00
Daniel García Aubert
ba36a47228
Rename overviews metadata api by overviews metadata backend
2018-04-09 19:47:43 +02:00
Daniel García Aubert
e0d8dc0334
Rename filter stats api by filter stats backend
2018-04-09 18:56:01 +02:00
Daniel García Aubert
8dec4814a9
Rename AuthAppi by AuthBackend
2018-04-09 18:08:56 +02:00
Daniel García Aubert
6167562758
Meet application logic and folder struture
2018-04-09 16:18:30 +02:00
Daniel García Aubert
7e68f5270d
Move application middlewares to routers folder
2018-04-06 18:20:33 +02:00
Daniel García Aubert
25aa967146
Forbid access to named map admin resources for everyone but master
2018-04-06 15:26:11 +02:00
Daniel García Aubert
3bfc7d3d23
Rename controllers folder by routers
2018-04-06 13:53:50 +02:00
Simon Martín
c94d782037
calling to new createAffectedTables
2018-04-06 13:00:12 +02:00
Simon Martín
233f9698f3
fix affectedtables cache
2018-04-06 12:59:53 +02:00
Daniel García Aubert
61fc15cec0
Add comment to indicate deprecated paths
2018-04-06 11:13:34 +02:00
Daniel García Aubert
4e754e0d86
Create API router to handle common stuff among child routers
2018-04-05 19:42:20 +02:00
Javier Goizueta
ffa3a96f1a
Use unique cartodb_id in aggregated results
...
See #889
FOr centroid and point-grid the cartodb_id wasn't unique across tiles.
2018-04-05 14:06:27 +00:00
Javier Goizueta
44424583f0
Revert "Use unique cartodb_id in aggregated results"
...
This reverts commit c1da1a8a16
.
This is reverted for moving the change out of PR #913 into its own PR for clarity.
2018-04-05 12:12:58 +02:00
Daniel García Aubert
5aa63d35ce
Add comments
2018-04-04 20:07:53 +02:00
Daniel García Aubert
11099c88dc
Improve routing via regular expressions
2018-04-04 20:00:59 +02:00
Daniel García Aubert
ef22c46199
Make send-response middleware generic to the router
2018-04-04 19:15:51 +02:00
Javier Goizueta
e8cd6856b5
Add missing aggregation columns to ST_AsMVT
...
Aggregation results always should have the cartodb_id and the feature count
2018-04-04 17:18:56 +02:00
Javier Goizueta
dc706aeb43
Fix bug with dimension aliases
...
The point-sample aggregation query failed if dimensions had alias different from the base columns
2018-04-04 16:29:40 +02:00
Daniel García Aubert
cfdff61d08
Create map & template routers to skip unneeded middlewares in monitor endpoints
2018-04-04 15:52:54 +02:00
Javier Goizueta
2132960d7c
Fix non-default aggregation columns
...
The columns for non-default aggregations were the base columns not the resulting aggregated columns
In particular this could cause invalid wrapped SQL code to be passed to ST_AsMVT when the Windshaft pg-mvt renderer was used.
2018-04-04 15:25:08 +02:00
Javier Goizueta
fefb0b23af
Merge branch 'master' into cartogl
2018-04-04 12:21:43 +02:00
Javier Goizueta
c1da1a8a16
Use unique cartodb_id in aggregated results
...
See #889
FOr centroid and point-grid the cartodb_id wasn't unique across tiles.
2018-04-04 11:05:03 +02:00
Daniel García Aubert
93bdbb1c50
Create monitor monitor router
2018-04-03 19:16:37 +02:00
Daniel García Aubert
f1e421db05
Create an api router isolated from heath checks
2018-04-03 19:08:56 +02:00
Daniel García Aubert
462ba62656
Make cors middleware more generic and link it just to application level
2018-04-03 15:32:29 +02:00
Daniel García Aubert
5cd073c96f
Remove old controller from bad merge
2018-04-03 14:50:24 +02:00
Daniel García Aubert
40b8d865a9
Merge branch 'master' into separate-app-and-controllers-creation
2018-04-03 14:45:49 +02:00
Daniel García Aubert
a21d7db390
Extract json-replacer
2018-04-03 13:21:41 +02:00
Daniel García Aubert
cc61a89c68
Remove function
2018-04-03 12:27:45 +02:00
Daniel García Aubert
3316c2ded3
Create logger middleware to encapsulate its configuration from app
2018-04-03 12:26:35 +02:00
Daniel García Aubert
b6989ac82a
Create a controllers factory where all collaborators are created and controllers are mounted afterwards
2018-04-02 19:02:31 +02:00
Daniel García Aubert
6bf06116df
Build controllers (analysis and server info) in server
2018-03-28 20:12:11 +02:00
Daniel García Aubert
5bb5bc42ee
Create Map Controller while building server
2018-03-28 19:58:30 +02:00
Daniel García Aubert
57e10a8d2b
Create layergroup controllers in server construction
2018-03-28 19:37:31 +02:00
Daniel García Aubert
51fade6bd3
Ensure each controller only receives one router
2018-03-28 19:11:19 +02:00
Daniel García Aubert
22fdc3d1bf
Add query params when instantiating template
2018-03-28 15:53:34 +02:00
Daniel García Aubert
3576eb8081
Do not use template strings
2018-03-28 14:16:13 +02:00
Daniel García Aubert
9377b73aa3
Extract map error middleware
2018-03-28 14:12:21 +02:00
Daniel García Aubert
e5aff3f366
Extract layergroup-metadata middleware
2018-03-28 14:06:23 +02:00
Daniel García Aubert
78356ab298
Extract layergroupIdHeader middleware
2018-03-28 13:41:41 +02:00
Daniel García Aubert
947a367865
Extract layerStats middleware
2018-03-28 13:31:37 +02:00
Daniel García Aubert
e79d9ec2f9
Extract lastUpdatedTimeLayergroup middleware
2018-03-28 13:27:01 +02:00
Daniel García Aubert
16e8451166
Extract augment layergroup data middleware
2018-03-28 13:10:47 +02:00
Daniel García Aubert
1d54a8dccd
Extract increment map view count middleware
2018-03-28 13:01:23 +02:00
Daniel García Aubert
b68d2d9115
Extract checkJsonContentType middleware
2018-03-28 12:49:11 +02:00
Daniel García Aubert
64d540f23b
Extract initProfiler middlewar
2018-03-28 12:45:03 +02:00
Daniel García Aubert
d8d681e8bc
Create separated controllers (named & anonymous) for map controller
2018-03-28 12:39:39 +02:00
Daniel García Aubert
5b9f608667
Use express routers
2018-03-27 18:46:54 +02:00
Daniel García Aubert
7660046720
Merge branch 'master' into extract-common-mw
2018-03-27 17:25:33 +02:00
Daniel García Aubert
5f906e54e4
Merge branch 'master' into 903-locals-refactor
2018-03-27 15:44:54 +02:00
Daniel
f2a7953d9d
Merge pull request #915 from CartoDB/unify-headers-middlewared
...
Unify headers middlewares
2018-03-27 12:38:23 +02:00
Daniel García Aubert
f231dc13cf
Merge branch 'master' into unify-middlewares
2018-03-27 10:41:35 +02:00
Daniel García Aubert
a107ee67fa
Use arrow function
2018-03-27 10:32:22 +02:00
Daniel García Aubert
cb488cbde8
Extract middleware served by host header
2018-03-26 19:53:33 +02:00
Daniel García Aubert
59db640d0d
Typo
2018-03-26 16:05:53 +02:00
Daniel García Aubert
4bb35f5fab
Extract cors and user middlewares and set them up at application level
2018-03-26 15:37:44 +02:00
Daniel García Aubert
c5c8dd7ad7
Split layergroup controllers into small controllers
2018-03-23 21:20:37 +01:00
Daniel García Aubert
d3e2707fce
Tidy middlewares up: put rate limit middleware after authorization
2018-03-23 17:55:41 +01:00
Daniel García Aubert
4cba4c7a1f
Tidy middlewares up: cleanUpQeuryParams
2018-03-23 17:37:06 +01:00
Daniel García Aubert
3b1fd05940
Use layergroup token middleware where it's actually needed
2018-03-23 17:24:56 +01:00
Daniel García Aubert
5bc5c0ae86
Remove locals middleware
2018-03-23 16:53:00 +01:00
Daniel García Aubert
5fc801f8a6
Do not use locals middleware in named maps controller
2018-03-23 16:38:55 +01:00
Daniel García Aubert
f7a23c094c
Do not use locals middleware in named maps admin controller
2018-03-23 16:16:53 +01:00
Daniel García Aubert
516b1f765e
Do not use middleware local in map controller
2018-03-23 16:08:52 +01:00
Daniel García Aubert
f76606bc26
Do not use locals middleware in layergroup controller
2018-03-23 14:13:27 +01:00
Daniel García Aubert
7ba3394508
Do not merge req.params and req.query into res.locals (don't use locals middleware in analysis controller)
2018-03-23 14:10:27 +01:00
Simon Martín
f19eeff899
returning error mvt on rate limit
2018-03-23 13:30:47 +01:00
Daniel García Aubert
d3c9da6d5f
Fix layer filter by query params
2018-03-23 11:57:28 +01:00
Simon Martín
609bf13765
correct error message in rate limit
2018-03-23 11:42:53 +01:00
Daniel García Aubert
97a49fab2f
Remove function defined but nerver used
2018-03-23 11:33:40 +01:00
Daniel García Aubert
10ead27676
Pass only needed properties to named map provider cache (static endpoint)
2018-03-23 11:23:19 +01:00
Daniel García Aubert
8be7ea5cc1
Pass only needed properties to named map provider cache
2018-03-23 11:01:36 +01:00
Daniel García Aubert
ebefba9e32
Revert: move map-config assignment
2018-03-23 10:57:35 +01:00
Simon Martín
fb784d6a91
removing retry after when no necessary
2018-03-23 10:23:57 +01:00
Daniel García Aubert
c31639ebbd
Move assignments
2018-03-22 19:38:56 +01:00
Daniel García Aubert
4ff8d6fbc3
Pass only needed params to map backend
2018-03-22 19:37:08 +01:00
Daniel García Aubert
d029f81992
Pass only needed params to create layergroup map config provider
2018-03-22 19:36:42 +01:00
Daniel García Aubert
6b7c2675f1
Use database params module
2018-03-22 19:20:51 +01:00
Daniel García Aubert
4f8c184bc0
Pass only needed params to map config adapter
2018-03-22 19:14:18 +01:00
Daniel García Aubert
afc608fc5d
Pass only needed params to named map map config provider
2018-03-22 18:57:26 +01:00
Daniel García Aubert
8523875349
Remove function thet is never used
2018-03-22 18:29:00 +01:00
Daniel García Aubert
79955c7fac
Pass only needed params to tile backend
2018-03-22 18:27:40 +01:00
Daniel García Aubert
d3cbd70054
Pass only needed params to attributes backend backend
2018-03-22 18:16:41 +01:00
Daniel García Aubert
81706b8726
Pass only needed params to dataview backend (search)
2018-03-22 18:03:38 +01:00
Daniel García Aubert
2812a54210
Pass only needed params to dataview backend
2018-03-22 17:55:15 +01:00
Daniel García Aubert
258d768887
Use upercase for constants
2018-03-22 17:54:40 +01:00
Daniel García Aubert
1059066c05
Use module to get database parameters
2018-03-22 17:53:24 +01:00
Daniel García Aubert
875f3c07b3
Pass only needed params to MapStoreMapConfigProvider
2018-03-22 17:07:38 +01:00
Daniel García Aubert
8ce72ea842
Do not pass res.locals
to collaborators
2018-03-22 12:30:51 +01:00
Daniel García Aubert
e542d38ec7
Reorder middleware
2018-03-22 11:38:33 +01:00
Daniel García Aubert
b40ed13f47
Do not use step to deal with asyn code
2018-03-21 19:08:37 +01:00
Javier Goizueta
b9de49d5ab
Remove superfluous aggregation filter condition
...
The default aggregation doesn't admit filters, so this wasn't necessary.
2018-03-21 17:36:26 +01:00
Javier Goizueta
6ada8ba6a2
Implement aggregation filters
2018-03-21 17:01:32 +01:00
Daniel García Aubert
672b19b106
Magic number
2018-03-21 16:48:21 +01:00
Daniel García Aubert
4a2580c9ea
Missing semicolon
2018-03-21 16:43:34 +01:00
Daniel García Aubert
52c8c9341a
Remove function defined but never used
2018-03-21 16:40:09 +01:00
Daniel García Aubert
72c4a7abd6
Extract cache control header middleware
2018-03-21 16:38:37 +01:00
Daniel García Aubert
d022a1fa5e
Extract last-modified header middlleware
2018-03-21 14:43:00 +01:00
Daniel García Aubert
a142620b70
Make generic middlewares to calculate surrogate key and cache channel headers:
...
- In controllers: all reference to map config are now camelized, for instance: mapconfig -> mapConfig or mapconfigProvider -> mapConfigProvider
- In controllers: all map config providers created in req/res cycle are saved into `res.locals` and `mapConfigProvider` as key.
- In map-config-providers: all of them implement `.getAffectedTables()`, in order to calculate the tables involved for a given map-config. For that, `pgConnection` and `affectedTablesCache` are injected as constructor argument.
- Named Map Provider: rename references from `affectedTablesAndLastUpdate` to `affectedTables`.
- Named Map Provider Cache: In order to create new named map providers, needs affectedTablesCache.
- Extract locals middlewares (surrogate-key and cache-channel) from controllers and create an unified version of them.
- Extract last-modified middleware from named maps controller (draft).
2018-03-21 14:11:54 +01:00
Daniel García Aubert
f8d1e159f4
Please jshint
2018-03-20 11:09:05 +01:00
Daniel García Aubert
df999e040c
Merge branch 'spread-prepare-context-middleware' into unify-middlewares
2018-03-20 11:06:31 +01:00
Daniel García Aubert
2e13bc42a1
Merge branch 'master' into spread-prepare-context-middleware
2018-03-20 11:01:13 +01:00
Daniel García Aubert
9fd2519c12
Rename middleware
2018-03-20 09:34:50 +01:00
Daniel García Aubert
325bdfe92f
Move middleware
2018-03-20 09:34:06 +01:00
Daniel García Aubert
9211fa065b
Extract sendResponse middleware
2018-03-19 19:48:14 +01:00
Daniel García Aubert
8333b39928
Use res.body as placeholder of layergroup
2018-03-19 19:16:18 +01:00
Simon Martín
a830eb4ea0
Merge branch 'master' into rateLimits
2018-03-19 11:25:13 +01:00
Daniel García Aubert
91a7dc8cf0
Use const
2018-03-16 17:31:40 +01:00
Daniel García Aubert
e52cd28f1e
User res.body as placeholder of the response's body
2018-03-16 17:13:48 +01:00
Daniel García Aubert
7bdbd4cb03
Move variable declaration
2018-03-16 16:42:47 +01:00
Daniel García Aubert
313fc75ec8
Rename middleware
2018-03-16 16:28:50 +01:00
Daniel García Aubert
639a69a639
Reorder middlewares to optimize workflow
2018-03-16 16:12:36 +01:00
Daniel García Aubert
67d2d2fe95
Use spread operator
2018-03-16 14:20:41 +01:00
Daniel García Aubert
0aa8d63a6e
Unifiy allowQueryParams and cleanUpQueryParams middlewares
2018-03-16 14:03:59 +01:00
Daniel García Aubert
7b11cdcb74
Use template string
2018-03-16 13:08:00 +01:00
Daniel García Aubert
071a5a4bdf
Rename base paths
2018-03-16 13:04:42 +01:00
Daniel García Aubert
7ff7b0c2d1
Extract rest of the middlewares from prepare contex
2018-03-15 19:38:11 +01:00
Daniel García Aubert
30dab7df9f
Extract authorize middeware form prepareContext
2018-03-15 18:48:29 +01:00
Daniel García Aubert
afff06c7e6
Extract db-conn-setup middleware for prepare-context
2018-03-15 15:33:20 +01:00
Simon Martín
4e8cf136c8
rate limit middleware before auth
2018-03-14 18:06:06 +01:00
Daniel
f49d7478d7
Merge pull request #899 from CartoDB/refactor-named-maps-admin
...
Named Maps Admin: Extract middlewares form controller's context
2018-03-14 17:55:03 +01:00
Daniel
b4a1c9d648
Merge pull request #898 from CartoDB/refactor-analysis-controller
...
Refactor analysis controller
2018-03-14 17:50:15 +01:00
Simon Martín
48a7d28aa6
rate limit analysis catalog endpoint
2018-03-14 17:46:19 +01:00
Daniel García Aubert
04146f897d
Use template strings
2018-03-14 17:33:54 +01:00
Daniel García Aubert
a34658c97f
Use objects instead of param list
2018-03-14 17:31:37 +01:00
Simon Martín
cbfeb0158e
adding type and subtype to rate limit error
2018-03-14 17:27:59 +01:00
Daniel García Aubert
8d37e00869
Use objects instead of parameter list
2018-03-14 17:25:58 +01:00
Daniel García Aubert
421e611356
Use objects instead of a list of parameters
2018-03-14 17:22:47 +01:00
Daniel García Aubert
f078713d28
typo
2018-03-14 17:15:50 +01:00
Daniel García Aubert
a8d31d52cf
Pass only required params
2018-03-14 17:08:04 +01:00
Daniel García Aubert
091efe52fc
Extract sendResponse middleware from context
2018-03-14 13:32:43 +01:00
Daniel García Aubert
a5c508733a
Extract setContentTypeHeader middleware from controller's context
2018-03-14 13:31:39 +01:00
Daniel García Aubert
ce944d9a7d
Extract setCacheControlHeader from controller's context
2018-03-14 13:30:27 +01:00
Daniel García Aubert
8321b5adba
Extract setLastModifiedHeader from controller's context
2018-03-14 13:27:56 +01:00
Daniel García Aubert
667c972308
Extract setCacheChannelHeader and setSurrogateKeyHeader from controller's context
2018-03-14 13:25:42 +01:00
Daniel García Aubert
3dbe05be3a
Extarct setCacheChannelHeader middleware from controller's context
2018-03-14 13:19:56 +01:00
Daniel García Aubert
2d4ce19250
Extract incrementMapViews middleware from controllers middleware
2018-03-14 13:18:37 +01:00
Daniel García Aubert
3b3e0c0acd
Extract getImage middleware from controller's context
2018-03-14 13:15:38 +01:00
Daniel García Aubert
c3ddb933bb
Extract getStaticImageOptions middleware from controller's context
2018-03-14 13:11:17 +01:00
Daniel García Aubert
6aae60ece7
Extract getTile middleware from controller's context
2018-03-14 13:07:40 +01:00
Daniel García Aubert
6b3dc8ece0
Extract prepareLayerFilterFromPreviewLayers middleware from controller's context
2018-03-14 13:05:05 +01:00
Daniel García Aubert
7dd231a8c9
Extract getTemplate middleware form controller's context
2018-03-14 13:02:49 +01:00
Daniel García Aubert
35a3219012
Extract getAffectedTables middleware from controller's context
2018-03-14 13:01:07 +01:00
Daniel García Aubert
7598e6ab4b
Extract getNamedMapProvider middleware from controller's context
2018-03-14 12:58:56 +01:00
Simon Martín
e1a2c45b19
Headers following rfc6648
2018-03-14 12:09:20 +01:00
Simon Martín
0e43c54214
Merge branch 'master' into rateLimits
2018-03-13 18:09:44 +01:00
Daniel García Aubert
2cc4161239
Missing semicolon
2018-03-13 15:02:44 +01:00
Daniel García Aubert
fc8f3fdf27
Create send response middleware
2018-03-13 13:31:49 +01:00
Daniel García Aubert
24b76208ac
Improve naming
2018-03-13 13:21:40 +01:00
Daniel García Aubert
0de272b195
Extract middlewares form controller's context
2018-03-13 13:12:18 +01:00
Daniel
7faf40004c
Merge pull request #891 from CartoDB/refactor-map-controler
...
Refactor map controler
2018-03-13 12:44:53 +01:00
Daniel García Aubert
88ae2d473a
Typo
2018-03-13 11:43:08 +01:00
Daniel García Aubert
337b47685c
Remove controler context from middlewares
2018-03-13 11:42:25 +01:00
Daniel
2eb6e95fed
Merge pull request #895 from CartoDB/fix-performance-regression
...
Fix performance regression
2018-03-12 15:48:20 +01:00
Daniel García Aubert
db8130be4f
Honor jshint
2018-03-12 14:18:07 +01:00
Daniel García Aubert
379b649e95
Don't get mapconfig prematurely
2018-03-12 13:29:40 +01:00
Daniel García Aubert
cc76ccc626
Fix undeclared variable
2018-03-12 13:10:20 +01:00
Daniel García Aubert
25931a618b
Do not calculate affected tables when there are no affacted tables
2018-03-12 12:33:29 +01:00
Eneko Lakasta
5ad1e1b645
merge master
2018-03-12 11:52:38 +01:00
Daniel García Aubert
01ed513a79
Use 'const'
2018-03-09 17:02:13 +01:00
Daniel García Aubert
504f68b8aa
Missing semicolon
2018-03-09 16:18:33 +01:00
Daniel García Aubert
cbb08f5642
Extract function
2018-03-09 15:49:03 +01:00
Daniel García Aubert
02f93f3a14
Extract layergroup-metadata class
2018-03-09 12:58:05 +01:00
Raúl Marín
06604cd738
Merge pull request #888 from Algunenano/support_1368
...
Aggregation count: Do not return null categories
2018-03-09 11:06:40 +01:00
Raul Marin
089be35b5d
Aggregation count: Do not return null categories
2018-03-08 18:13:20 +01:00
Daniel García Aubert
bbcb335d60
Merge branch 'master' into refactor-map-controler
2018-03-08 13:18:43 +01:00
Daniel García Aubert
aae814a156
Use template strings
2018-03-08 12:35:54 +01:00
Daniel García Aubert
49bcc5368d
Use base number as radix to pare intergers
2018-03-08 12:30:27 +01:00
Daniel García Aubert
555e04f9e7
Use ternary operator
2018-03-08 12:27:49 +01:00
Daniel García Aubert
3f6f2e4e23
Use template string
2018-03-08 12:23:43 +01:00
Daniel García Aubert
abffc4b067
Uppercase for actual constants
2018-03-08 12:23:00 +01:00
Daniel García Aubert
363cb0b679
Extract middlewares from map-controller class
2018-03-08 12:16:24 +01:00
Daniel García Aubert
d26910ba9c
Extract checkJsonContentType middleware from MapController class
2018-03-07 19:11:03 +01:00
Daniel García Aubert
74b2f305ea
Extract initProfiler middleware from map-controller
2018-03-07 19:09:52 +01:00
Daniel García Aubert
6c2f893651
Rename map-store-map-config-provider middleware
2018-03-07 18:53:20 +01:00
Daniel García Aubert
faaf121eb6
Rename center and bbox middlewares
2018-03-07 18:51:43 +01:00
Daniel García Aubert
83ab65163d
Rename attributes middleware
2018-03-07 18:43:35 +01:00
Daniel García Aubert
9dcd5ff332
Impreve naming
2018-03-07 15:56:16 +01:00
Daniel García Aubert
c6635f63c1
Unify layer and tile middlewares
2018-03-07 15:39:59 +01:00
Daniel García Aubert
56213219e4
Rename middleware
2018-03-07 15:25:30 +01:00
Daniel García Aubert
7c2dc20dbe
Merge branch 'master' into middlewarify-layergroup-controller
2018-03-07 15:24:34 +01:00
Daniel García Aubert
c8e8317ea4
Do not attach middleware to LayergroupController classs
2018-03-07 15:20:47 +01:00
Daniel
8509796743
Merge pull request #882 from CartoDB/middleware-refactor
...
Middleware refactor
2018-03-07 15:19:04 +01:00
Daniel García Aubert
90aaed0f2c
Typo
2018-03-07 15:05:36 +01:00
Daniel García Aubert
48be15b742
Use const in favour of var
2018-03-07 15:01:04 +01:00
Daniel García Aubert
a95b3f2f99
Fix comment
2018-03-07 14:54:09 +01:00
Daniel García Aubert
b2cc7ab84f
Move functions to improve readablity
2018-03-07 14:53:13 +01:00
Daniel García Aubert
eb3414f07f
Follow middleware pattern
2018-03-07 14:48:21 +01:00
Daniel García Aubert
292dad130d
Move middlewares to the right place
2018-03-07 14:42:21 +01:00
Daniel García Aubert
ec41cddb19
Do not pass the whole res.locals to backends
2018-03-07 12:52:44 +01:00
Daniel García Aubert
5871f8290d
Use default param values
2018-03-07 12:46:18 +01:00
Daniel García Aubert
33089be2cd
Do not attach header middlewares to node status endpoint
2018-03-07 12:30:59 +01:00
Daniel García Aubert
d351c8d14c
Define var as const
2018-03-07 12:09:41 +01:00
Daniel García Aubert
82446e5ffa
Use template string to define routes
2018-03-07 12:05:53 +01:00
Daniel García Aubert
b786164e8a
Middlewarify metrics increment whether success or error
2018-03-07 11:56:57 +01:00
Daniel García Aubert
a66c19c6c7
Do not bind context when unneeded
2018-03-06 20:05:55 +01:00
Daniel García Aubert
94d1667d70
Refactor affected tables
2018-03-06 20:01:43 +01:00
Daniel García Aubert
3399db1cff
Add comment
2018-03-06 18:58:09 +01:00
Daniel García Aubert
874ea99d19
Remove step
2018-03-06 18:43:23 +01:00
Daniel García Aubert
7022fb87b4
Extract header, affected-tables and response middlewares
2018-03-06 18:28:40 +01:00
Daniel García Aubert
7c1e2a6af0
Avoid nested steps
2018-03-06 17:08:39 +01:00
Daniel García Aubert
2f011c3266
Remove nested steps
2018-03-06 17:01:51 +01:00
Daniel García Aubert
4762aa0897
Remove step from sendResponse function
2018-03-06 16:55:27 +01:00
Daniel García Aubert
f30f83331f
Extract tile error middleware
2018-03-06 16:44:37 +01:00
Daniel García Aubert
3695e1e3e5
Place function closer to where is called
2018-03-06 16:21:46 +01:00
Daniel García Aubert
585b5929aa
Middlewarify tile and layer endpoints
2018-03-06 16:19:53 +01:00
Eneko Lakasta
b0eacb2a79
add vary header to honor authorization header when caching
2018-03-06 12:46:38 +01:00
Daniel García Aubert
9b40370794
Now that mapConfigProvider is linked to 'res.locals' do not pass the whole 'res.locals' to map-config-provider to avoid converting circular structure to JSON
2018-03-06 12:44:17 +01:00
Daniel García Aubert
95f3d58383
Make jshint happy
2018-03-05 19:33:46 +01:00
Daniel García Aubert
0f0cde1093
Middlewarify static-api (bbox/center) endpoints
2018-03-05 19:26:26 +01:00
Daniel García Aubert
ca56df5cfe
Middlewarify attributes endpoint
2018-03-05 18:28:52 +01:00
Daniel García Aubert
d8a4209768
Middlewarify analysis-node-status endpoint
2018-03-05 18:13:19 +01:00
Daniel García Aubert
40712a2e62
Middlewarify search dataview endpoint
2018-03-05 18:05:42 +01:00
Daniel García Aubert
acb9ce33b1
Pass dataview-backend as middleware option
2018-03-05 18:04:50 +01:00
Daniel García Aubert
5e43a7145a
Middlewarify dataview endpoint
2018-03-05 17:44:04 +01:00
Daniel García Aubert
5de8c4f9c3
Make explicit that forceFormat
is optional
2018-03-05 11:19:17 +01:00
Simon Martín
9bc9fc46ff
using cartodb-redis for rate limit
2018-03-03 14:46:39 +01:00
Simon Martín
a2bf235553
Merge branch 'master' into rateLimits
2018-03-02 21:21:10 +01:00
Simon Martín
1b18b2b188
changing endpointGroup var name
2018-03-02 20:55:50 +01:00
Daniel García Aubert
6331bebb30
Going green: be able to request defaul named tiles in vector format
2018-03-02 18:25:23 +01:00
Simon Martín
4dd404771e
refactoring user_limits_api
2018-03-02 16:07:42 +01:00
Simon Martín
bf267e9c95
fix checking rate limit enabled
2018-03-02 15:48:31 +01:00
Simon Martín
843f70cdba
interchange var and middlewware names
2018-03-02 15:35:38 +01:00
Simon Martín
42e0e07c14
refactoring rate limit middleware
2018-03-02 15:33:50 +01:00
Simon Martín
dfdd2b9043
adding middlewares to composer in maps controller
2018-03-02 15:24:18 +01:00
Daniel García Aubert
8656fcd8d1
Use 'const'
2018-03-02 14:04:29 +01:00
Daniel García Aubert
f2f6b9d49c
ES6 goodies
2018-03-02 13:29:30 +01:00
Daniel García Aubert
82f1e6753b
Remove unreachable code
2018-03-02 13:14:02 +01:00
Daniel García Aubert
7ed717607a
Missing space before paramenter list
2018-03-02 13:08:57 +01:00
Daniel García Aubert
416970c819
Remove empty line
2018-03-01 19:10:35 +01:00
Daniel García Aubert
ccc28f3617
Add profiler step to lzma
2018-03-01 19:09:11 +01:00
Daniel García Aubert
5bac36b30f
Remove bad profiler usage
2018-03-01 18:53:05 +01:00
Daniel García Aubert
ef3ffddec7
Cosmetic changes
2018-03-01 18:49:44 +01:00
Daniel García Aubert
e6ba467d98
ES6 goodies
2018-03-01 18:47:07 +01:00
Daniel García Aubert
314508bcd8
Middleware naming convention
2018-03-01 18:46:04 +01:00
Daniel García Aubert
da18506e41
Follow middleware factory pattern
2018-03-01 18:45:04 +01:00
Daniel García Aubert
5eaee0b71e
Follow middleware naming convention
2018-03-01 18:12:07 +01:00
Daniel García Aubert
bd93e7dc7e
Follow middleware pattern
2018-03-01 18:09:49 +01:00
Daniel García Aubert
2c762813ba
Follow middleware pattern, return a function as the actual middleware
2018-03-01 15:52:48 +01:00
Simon Martín
136c6fa70b
new redis keys
2018-03-01 15:50:40 +01:00
Simon Martín
67b2343571
fix existing var name
2018-03-01 15:50:20 +01:00
Daniel García Aubert
3caa1d9c4a
ES6 cosmetics
2018-03-01 15:42:46 +01:00
Daniel García Aubert
b0c924ca03
Follow middleware pattern, should return a function as the actual middleware
2018-03-01 15:42:03 +01:00
Daniel García Aubert
f6f59023b4
Ungroup middlewares
2018-02-28 19:46:46 +01:00
Daniel García Aubert
9dc4e7c955
Use the right step name for profiling
2018-02-28 19:29:53 +01:00
Daniel García Aubert
faa44e54ae
Cosmetic changes
2018-02-28 19:29:10 +01:00
Daniel García Aubert
bfb743b851
Improve profiling steps
2018-02-28 19:27:49 +01:00
Daniel García Aubert
dad2e92dd3
Follow middleware naming convention
2018-02-28 19:26:47 +01:00
Daniel García Aubert
59c312ea40
Require modules at the beginning of module
2018-02-28 19:25:50 +01:00
Daniel García Aubert
48c5a458f3
Remove bad use of profiling step
2018-02-28 19:22:22 +01:00
Daniel García Aubert
c0830862c8
Follow middleware naming convention
2018-02-28 19:21:44 +01:00
Daniel García Aubert
42deb7abbe
Rename middleware
2018-02-28 19:20:51 +01:00
Daniel García Aubert
62deda6470
Improve naming
2018-02-28 19:13:49 +01:00
Daniel García Aubert
5c2248d419
Merge branch 'master' into project-auth-api
2018-02-28 14:43:12 +01:00
Simon Martín
335d91b42d
separate rate limit logic from middleware and EVALSHA
2018-02-28 13:11:18 +01:00
Daniel García Aubert
102b11b1b5
Follow middleware naming convention
2018-02-28 13:10:46 +01:00
Eneko Lakasta
26df09b13f
require debug at the top of file
2018-02-28 11:42:44 +01:00
Simon Martín
254991c56c
changing endpoint groups constant keys
2018-02-27 17:57:25 +01:00
Simon Martín
a492ab0143
improving naming
2018-02-27 17:36:03 +01:00
Simon Martín
b0d63b2ec0
changing module exports and middleware name
2018-02-27 16:52:27 +01:00
Simon Martín
85b0c63eb0
destructuring array assignment
2018-02-27 16:24:30 +01:00
Simon Martín
98a92f51e6
make jshint happy
2018-02-26 17:17:01 +01:00
Eneko Lakasta
8867cdbc02
use anonymous function instead of arrow function in middleware export to don't bind this
2018-02-26 15:57:42 +01:00
Simon Martín
f03ee4b836
removing hardcoded user
2018-02-26 11:20:31 +01:00
Simon Martín
90418b204e
getLowerRateLimit tests
2018-02-26 10:51:51 +01:00
Simon Martín
918674e01a
changing endpoint groups names
2018-02-23 21:09:27 +01:00
Simon Martín
9b01a05727
rate limit supporting multiple limits
2018-02-23 17:42:24 +01:00
Simon Martín
2937b6a804
updating redis keys
2018-02-21 17:25:26 +01:00
Simon Martín
08a5e57180
new config params and using them in middleware
2018-02-20 18:18:15 +01:00
Simon Martín
faab174a79
redis keys in easier way
2018-02-20 17:19:50 +01:00
Eneko Lakasta
521b441da5
default apikey is returned by metadata module if no apikey found, remove this code because is never going to be run
2018-02-20 12:53:33 +01:00
Eneko Lakasta
59ca00b33b
move apikey credentials getter to middleware file
2018-02-20 12:31:36 +01:00
Simon Martín
80918f5b9b
adding rate limit middlewware to named maps controller
2018-02-20 11:26:24 +01:00
Simon Martín
e061b3e631
adding rate limit middlewware to maps controller
2018-02-20 11:26:09 +01:00
Simon Martín
06ec3f80b9
adding rate limit middlewware to named maps admin controller
2018-02-20 11:25:56 +01:00
Simon Martín
e6011287f4
adding middleware to layergroup controller
2018-02-20 11:25:16 +01:00
Daniel García Aubert
7c7d606aa7
Remove trailing spaces
2018-02-19 19:05:13 +01:00
Daniel García Aubert
603ef4044c
Reduce cyclomatic complexity
2018-02-19 18:48:02 +01:00
Daniel García Aubert
2e3abfb2cd
Catch "name not found" errors from metadata backend and set http code status 404
2018-02-19 18:28:58 +01:00
Simon Martín
98907a886c
using a real endpoint in test
2018-02-19 17:08:26 +01:00
Eneko Lakasta
7e14247ea9
remove cause of unreachable code/dead code. Not necessary because carto redis assures at least the default api key
2018-02-19 17:06:59 +01:00
Simon Martín
e519984790
changing const names and exporting them
2018-02-19 17:01:41 +01:00
Eneko Lakasta
7b21bd26d0
Merge branch 'project-auth-api' into project-auth-api-fallback
2018-02-16 11:29:36 +01:00
Eneko Lakasta
4ac224688c
in fallback mode, use default api key if api key token doesnt exist
2018-02-16 11:20:04 +01:00
Eneko Lakasta
cda2616a8a
get and check api key credentials from api key: username and token
2018-02-15 17:49:47 +01:00
Eneko Lakasta
18dbeea003
get apikey token from request in named maps admin middleware
2018-02-15 15:20:52 +01:00
Eneko Lakasta
3e916c6054
check if req.query exist before getting req.query.api_key/map_key
2018-02-15 15:20:05 +01:00
Eneko Lakasta
fc420c2c0f
use for compatibility res.locals.api_key instead of res.locals.apikeyToken
2018-02-15 15:19:09 +01:00
Eneko Lakasta
5db0e9c8d8
add middleware for apikeyToken
2018-02-15 12:50:42 +01:00
Simon Martín
63d1c19263
validation in lua script
2018-02-15 12:44:27 +01:00
Eneko Lakasta
963737d3fb
create lib for getting api key token from request
2018-02-15 11:36:42 +01:00
Simon Martín
c059f44bf1
lua script and rate limit process
2018-02-14 18:39:57 +01:00
Eneko Lakasta
890f0d1ef6
add fallback for using metadata fallback
2018-02-14 17:31:05 +01:00
Simon Martín
5fca005a3f
Merge branch 'master' into rateLimits
2018-02-14 15:40:50 +01:00
Simon Martín
86d4f8e219
lua script v1
2018-02-14 15:40:12 +01:00
Rafa de la Torre
251fe96509
Cosmetic fix, as suggested in PR
2018-02-12 19:24:53 +01:00
Simon Martín
15bf74f770
starting rate limit middleware
2018-02-12 17:19:08 +01:00
Eneko Lakasta
e1a2ee2381
control API access grants
2018-02-08 13:07:25 +01:00
Eneko Lakasta
b82d26527a
remove comment
2018-02-08 12:35:44 +01:00
Eneko Lakasta
b0e9df1400
add pgConnection.getDatabaseParams
2018-02-08 12:04:03 +01:00
Eneko Lakasta
6ebf51ce45
let select apikey type in setDBAuth: regular, default, master
2018-02-08 11:29:17 +01:00
Eneko Lakasta
41f3606572
return unauthorized error when api key not found
2018-02-07 19:12:14 +01:00
Eneko Lakasta
ea0542dcb1
remove use of step
2018-02-07 18:48:59 +01:00
Eneko Lakasta
a4dbc1bac2
remove step and check existance of proper api key
2018-02-07 18:20:56 +01:00
Rafa de la Torre
065f56e161
Improve the speed of the aggregation dataview
...
Improve the performance of the aggregation dataview.
Instead of using a CTE (WITH) for filtered_source, which is only used in
one place to calculate ranks, inject it as a subquery.
This way the planner has a chance to ignore uneeded columns as well as
to parallelize the exectution of the window function (WindowAgg in the
query plan).
That is the part that takes most of the time of the query.
The improvement is about 20-40% in speed on PG10 with 4 cores.
2018-02-07 18:10:13 +01:00
Eneko Lakasta
95538707c9
add parameter asMaster to setDBAuth
2018-02-07 17:14:13 +01:00
Eneko Lakasta
4c76a921b1
use res.locals instead of req.params
2018-02-07 16:02:13 +01:00
Eneko Lakasta
85c1c987af
refactor setDBConn to not use step
2018-02-07 15:49:32 +01:00
Eneko Lakasta
bde86323fd
use master api key in setDBAuth
2018-02-07 15:36:24 +01:00
Eneko Lakasta
880e3f388d
remove use of _.extend calls
2018-02-07 12:46:10 +01:00
Eneko Lakasta
c1535b1a12
refactor setDBAuth to not use step
2018-02-07 12:40:36 +01:00
Raul Marin
f9fe3ace37
Add mapnik metrics option
2018-02-06 16:07:22 +01:00
Javier Goizueta
2e7784ddf2
Add comment to clafify aggregation resolution limit
2018-02-01 10:26:52 +01:00
Javier Goizueta
d88fbbaa87
Use camelCase
2018-01-31 18:55:28 +01:00
Javier Goizueta
7db0744f67
Simplify expression
2018-01-31 17:54:40 +01:00
Javier Goizueta
d1fcd797a3
Limit the minimum size of the the aggregation grid
...
Fixes #860
2018-01-31 17:46:13 +01:00
Javier Goizueta
27b5420358
Merge pull request #856 from CartoDB/841-the_geom_webmercator-type
...
Check the type of the_geom_webmercator for aggregation
2018-01-29 16:13:19 +01:00
Javier Goizueta
7641542e67
Check the type of the_geom_webmercator for aggregation
...
Fixes #841
2018-01-29 15:48:35 +01:00
Eneko Lakasta
2bd4c9e814
Merge pull request #851 from CartoDB/1259-category-widget-error-group-by-missing
...
use original column name in group by instead of alias
2018-01-29 15:38:07 +01:00
Eneko Lakasta
941ebf7d80
Merge branch 'master' into 1259-category-widget-error-group-by-missing
2018-01-29 14:51:59 +01:00
Simon Martín
c38bf6ade8
Merge branch 'master' into respect-types-aggreagation
2018-01-29 14:51:20 +01:00
Javier Goizueta
f644b3a226
Add cartodb_id to point-grid aggregation
...
Fixes #846
2018-01-29 12:49:27 +01:00
Simon Martín
8c839e214d
changing the value of string
2018-01-26 15:44:21 +01:00
Simon Martín
99421b613c
moving 'other' outside of the query allowing queries of different types
2018-01-26 15:24:21 +01:00
Simon Martín
bc7a556297
removing category cast to string in aggregation
2018-01-26 12:37:10 +01:00
Eneko Lakasta
220f1d6a73
use original column name in group by instead of alias
2018-01-18 15:27:54 +01:00
Daniel García Aubert
da32d96607
Fix regression: default to all layers if layer filter is not provided
2018-01-16 17:57:22 +01:00
Daniel García Aubert
76da828168
Use error label as middleware argument
2018-01-16 17:55:09 +01:00
Daniel García Aubert
ce4050e3e3
Extrac method to get only user params
2018-01-15 18:09:54 +01:00
Daniel García Aubert
b82767c60d
Pass a copy of res.locals w/o new data boud to named-map-provider-cache
2018-01-15 17:40:34 +01:00
Eneko Lakasta
0236935212
please jshint
2018-01-11 12:22:51 +01:00
Eneko Lakasta
ae48a01e26
extract setICUEnvVariable() to it's own module
2018-01-11 11:57:11 +01:00
Daniel
fc82ca7490
Merge pull request #834 from CartoDB/middlewarify-named-maps-controller
...
Middlewarify named maps controller
2018-01-09 11:40:59 +01:00
Daniel García Aubert
183c8291bc
Use arrow functions when it applies
2018-01-09 11:20:20 +01:00
Daniel García Aubert
d908ffdbca
Don't use arrow functions when there is no needed
2018-01-09 11:17:07 +01:00
Raul Ochoa
d5b5ef584d
Be explicit about requesting urlTemplate+subdomains format
2018-01-03 23:33:59 +00:00
Raul Ochoa
2cda43dc8d
Promote https urls over http
2018-01-03 22:18:59 +00:00
Raul Ochoa
f7f513a61a
Add urlTemplate URLs to metadata
...
This is useful when using client libraries like leaflet.
2018-01-03 20:53:03 +00:00
Raul Ochoa
f297374449
Merge pull request #837 from CartoDB/tilejson
...
Return tilejson in metadata
2018-01-03 20:13:44 +01:00
Raul Ochoa
060b93c314
Rename middleware fn name
2018-01-03 18:44:10 +00:00
Raul Ochoa
bf40b240d3
Return tilejson in metadata
...
It returns tilejson for each individual layer and also for all vector and raster layers.
2018-01-03 16:54:45 +01:00
Raul Ochoa
5d4d2bddd6
Implementation for getTilesUrls
...
This will be useful for generating the tilejson in the metadata
2018-01-03 16:05:19 +01:00
Daniel
788bc302a0
Merge pull request #833 from CartoDB/middlewarify-named-map-admin-controller
...
Middlewarify named map admin controller
2018-01-03 13:20:14 +01:00
Daniel García Aubert
1ba240d099
Rename middleware function
2018-01-03 13:15:11 +01:00
Daniel García Aubert
1c7da2c4b3
Going green: do not fail when map-config is vector-only and a layer doesn't have points
2018-01-03 12:00:25 +01:00
Daniel García Aubert
49c97e2cf2
Use default argument
2018-01-02 10:56:45 +01:00
Daniel García Aubert
41e65a9633
Remove max cyclomatic complexity
2018-01-01 18:06:56 +01:00
Daniel García Aubert
feae766e62
Create middleware to fetch named map template
2018-01-01 16:54:35 +01:00
Daniel García Aubert
e3bdeec8ca
Simplify middleware
2018-01-01 16:21:22 +01:00
Daniel García Aubert
80c4207c74
Remove underscore dependencie
2017-12-30 18:18:37 +01:00
Daniel García Aubert
80e4306fbc
Remove step and assert dependencies
2017-12-30 18:03:26 +01:00
Daniel García Aubert
543d257a20
Move sendResponse to a middleware
2017-12-30 17:18:12 +01:00
Daniel García Aubert
8a023e3d2f
Keep error label
2017-12-30 16:08:46 +01:00
Daniel García Aubert
f13b45862d
Move incrementMapViews to a middlewares
2017-12-30 16:04:24 +01:00
Daniel García Aubert
731fe4c00f
Move getStaticImageOptions and getImage to a middlewares
2017-12-30 15:21:20 +01:00
Daniel García Aubert
500cbb959f
Move method to a middleware
2017-12-30 14:13:23 +01:00
Daniel García Aubert
108a319143
Do not use step
2017-12-29 19:33:49 +01:00
Daniel García Aubert
ef5ea5b4cb
Create and use getNamedMapProvider middleware
2017-12-29 19:31:02 +01:00
Raul Ochoa
10d1381e51
Merge remote-tracking branch 'origin/master' into pg-mvt-do-not-filter-columns
2017-12-29 17:50:09 +00:00
Daniel García Aubert
dfef7ff3c0
Use spread assignment
2017-12-29 18:45:45 +01:00
Daniel García Aubert
83d0ce4040
Rename method
2017-12-29 18:25:08 +01:00
Daniel García Aubert
75f72c4d07
Return empty aggregation configuration when the map-config is vector-only and the layer has no aggregation
2017-12-29 17:52:28 +01:00
Daniel García Aubert
adb9e55fb2
Avoid snake_case notation
2017-12-29 16:30:42 +01:00
Daniel García Aubert
5d3726de44
Use original variable name
2017-12-29 16:24:38 +01:00
Daniel García Aubert
f186e4736b
Use template string
2017-12-29 16:19:00 +01:00
Daniel García Aubert
a00c2b1eef
Now main middlewares return a named function with the right context bound
2017-12-29 16:15:48 +01:00
Daniel García Aubert
64d601179d
Use const instead of var
2017-12-29 15:22:17 +01:00
Daniel García Aubert
cf2b73e473
Move to up intermediate middlewares
2017-12-29 15:19:52 +01:00
Daniel García Aubert
70932c23df
Remove step and assert dependencies
2017-12-29 15:17:29 +01:00
Daniel García Aubert
519d49bd10
Remove finish function and respond in the main middleware
2017-12-29 15:04:44 +01:00
Daniel García Aubert
bf814c4442
keep error label
2017-12-29 13:05:01 +01:00
Daniel García Aubert
f136993c50
Use checkContentType middleware
2017-12-29 12:44:56 +01:00
Daniel García Aubert
ba008ab518
Remove unused function
2017-12-29 12:36:56 +01:00
Daniel García Aubert
e4ed6ee1cc
Use authorizedByAPIKey middleware
2017-12-29 12:34:50 +01:00
Daniel García Aubert
fda7661dad
Create authorizedByAPIKey middleware
2017-12-29 12:23:52 +01:00
Daniel García Aubert
99b95cf839
Move check of default-aggregation to mapconfig model
2017-12-28 13:50:59 +01:00
Daniel García Aubert
9a1bc51fdb
Use aggregation-mapconfig's method to discover columns to be exposed used to aggregate
2017-12-28 13:12:41 +01:00
Daniel García Aubert
d42257127b
Add method to discover required columns or all of them if it's a default aggregation
2017-12-28 13:11:32 +01:00
Daniel García Aubert
418c8691d1
Support default full-sample aggregation for postgis vector renderer
2017-12-27 20:08:43 +01:00
Daniel García Aubert
9885045b41
Do not default to null
2017-12-27 12:48:06 +01:00
Daniel García Aubert
062e6f9594
Merge branch 'full-sample' of github.com:CartoDB/Windshaft-cartodb into pg-mvt-do-not-filter-columns
2017-12-27 12:45:43 +01:00
Daniel García Aubert
a43779b050
Get columns from layer query a set them into layer opptions
2017-12-22 18:19:57 +01:00
Raul Marin
031e1253ca
Numeric histograms: Avoid conflicts with 'bin' named columns
2017-12-22 17:12:57 +01:00
Raul Marin
8012d76b68
Timeseries: Avoid collisions with columns named 'timestamp'
2017-12-22 15:58:40 +01:00
Javier Goizueta
d726c9ad01
Fix point-sample aggregation
...
it failed in the case of aggregate columns with the name of base columns
2017-12-22 15:48:30 +01:00
Javier Goizueta
1ce8076699
Change default aggregation placement to point-sample
...
For consistency with the default aggregation.
2017-12-22 15:46:29 +01:00
Daniel García Aubert
b7ecde5c9d
Add function get columns for layer's query
2017-12-22 13:43:30 +01:00
Daniel García Aubert
efdfabf3e9
Remove method
2017-12-22 12:14:34 +01:00
Javier Goizueta
e9a4fc4b2c
Use full-sample aggregation only as default
...
Sampling is performed only when placement, columns or dimensions are specified;
otherwise the regular centroid/grid-point/grid-center is used without sampling.
2017-12-22 11:31:33 +01:00
Daniel García Aubert
a1d536642e
Merge branch 'full-sample' into pg-mvt-do-not-filter-columns
2017-12-21 20:01:07 +01:00
Daniel García Aubert
3c00266666
Add support for aggregated columns in mvt format
2017-12-21 20:00:17 +01:00
Daniel García Aubert
7f64d15944
Merge branch 'master' into full-sample
2017-12-20 15:58:58 +01:00
Daniel García Aubert
4b97b4fd26
Fix typo
2017-12-20 14:35:47 +01:00
Daniel García Aubert
60030784c1
Export supported placements and create static methods to expose them in a fancy way
2017-12-20 12:42:29 +01:00
Daniel García Aubert
cc9b190e5d
Minor style formats
2017-12-19 16:17:37 +01:00
Daniel García Aubert
5a3dd6a914
Use supported placemets of aggregation-query
2017-12-19 13:00:18 +01:00
Daniel García Aubert
bcd2fd8f88
Export supported placements
2017-12-19 12:59:33 +01:00
Daniel García Aubert
94a5e66881
Merge branch 'master' into full-sample
2017-12-19 12:47:36 +01:00
Daniel
1e08d946b1
Merge pull request #822 from CartoDB/aggregation-validation
...
Validate aggregation input params
2017-12-19 12:42:28 +01:00
Daniel García Aubert
f22216e6d2
Catch error threw from constructor and follow node callback pattern
2017-12-19 12:23:54 +01:00
Raul Marin
418f5faa11
Date histogram: Reduce the threshold to change in auto mode to 100
2017-12-19 12:09:14 +01:00
Raul Marin
bba6db9dbf
Date histogram: Add second, decade, century and millenium aggregations
2017-12-19 12:09:14 +01:00
Daniel García Aubert
326cad2f2c
Typo
2017-12-19 10:54:20 +01:00
Daniel García Aubert
34808d6147
Improve naming
2017-12-19 10:50:53 +01:00
Daniel García Aubert
79b04bbdfd
Rename param
2017-12-19 10:47:53 +01:00
Daniel García Aubert
45a663d5ae
Split columns validator
2017-12-19 10:43:34 +01:00
Daniel García Aubert
cace6169c0
Add function to create layer errors
2017-12-19 10:25:41 +01:00
Daniel García Aubert
bdce2f95f2
Add validations for columns
2017-12-18 20:42:26 +01:00
Javier Goizueta
506e16fc87
Experimental full-sample aggregation
2017-12-18 20:18:37 +01:00
Daniel García Aubert
c367743d76
Export SUPPORTED_AGGREGATE_FUNCTIONS
2017-12-18 20:06:16 +01:00
Daniel García Aubert
fa7140e736
Rename argument
2017-12-18 19:52:50 +01:00
Daniel García Aubert
c63226cd26
Improve function naming
2017-12-18 19:51:55 +01:00
Daniel García Aubert
777df6337b
Style typo
2017-12-18 19:47:11 +01:00
Daniel García Aubert
2dda0a80da
Improve error context
2017-12-18 19:35:12 +01:00
Daniel García Aubert
e2bd97eea6
Move validation to the constructor
2017-12-18 19:19:02 +01:00
Daniel García Aubert
fb03cd3424
Move aggregation validation to its own module
2017-12-18 19:17:43 +01:00
Daniel García Aubert
8a48b96c53
Rename file
2017-12-18 19:06:01 +01:00
Daniel García Aubert
76b0c94835
Rename file
2017-12-18 19:05:49 +01:00
Daniel García Aubert
6a36aa1f13
Order checks to validate if a layer should be adapted
2017-12-18 18:56:53 +01:00
Daniel García Aubert
800870e783
Remove local variable
2017-12-18 18:55:32 +01:00
Daniel García Aubert
6638ba91c3
Refactor supported geometry types
2017-12-18 18:53:44 +01:00
Daniel García Aubert
47e4b9da0d
Encapsulate threshold layer validation in aggregation-mapconfig
2017-12-18 18:43:14 +01:00
Daniel García Aubert
81e0c3a098
Add RESOLUTION default getter
2017-12-18 18:26:08 +01:00
Daniel García Aubert
2068861988
Add PLACEMENT default getter
2017-12-18 18:24:09 +01:00
Daniel García Aubert
878f3bd627
Move .sql() to aggregation-mapconfig
2017-12-18 18:17:01 +01:00
Daniel García Aubert
170fcc1973
Move static methods
2017-12-18 17:42:12 +01:00
Daniel García Aubert
d0c88ce21d
Improve naming
2017-12-18 17:26:41 +01:00
Javier Goizueta
e97147ddb4
Fix grid-point aggregation placement
2017-12-18 15:48:51 +01:00
Simon Martín
77f64bee8c
stringifyForLogs more usual case first
2017-12-18 14:54:36 +01:00
Daniel García Aubert
e81a16ce0d
Improve validation by applying refactor
2017-12-18 14:31:53 +01:00
Daniel García Aubert
153a792fcb
Improve validation by applying refactor
2017-12-18 14:25:44 +01:00
Daniel García Aubert
5c1b1e3214
Improve validation by applying refactor
2017-12-18 14:21:03 +01:00
Daniel García Aubert
0bca3d6f33
Validate placement, threshold and resolution
2017-12-18 13:42:27 +01:00
Simon Martín
14e90a6c76
add line at EOF
2017-12-18 12:59:44 +01:00
Simon Martín
a46f7b3099
nested options and using it
2017-12-18 12:34:56 +01:00
Simon Martín
cb7fb97a13
escape chars function
2017-12-18 11:14:27 +01:00
Javier Goizueta
423620b6c5
Merge pull request #813 from CartoDB/point-grid-bug
...
Fix point-grid aggregation bug
2017-12-15 11:27:56 +01:00
Ivan Malagon
8e9f61f9f1
Merge pull request #809 from CartoDB/analyses-filters-params
...
Add `no_filters` param to dataviews
2017-12-15 11:13:56 +01:00
Javier Goizueta
81e54660bb
Fix point-grid aggregation bug
2017-12-15 10:52:41 +01:00
Raul Ochoa
a0c24d132e
Use source query as attribute instead of function
2017-12-14 18:43:59 +00:00
Daniel García Aubert
07b4cb78b1
Merge branch 'master' into mapconfig-aggregation
2017-12-14 18:19:54 +01:00
Javier Goizueta
6b472c0b20
Experimental aggregation dimensions
...
This is not meant por public consumption (exposing SQL expressions is undesiderable)
2017-12-14 17:51:49 +01:00
Ivan Malagon
97f8c361ed
Merge branch 'master' into analyses-filters-params
2017-12-14 17:40:14 +01:00
Javier Goizueta
0c044636ef
Fix mode aggregation
2017-12-14 17:22:50 +01:00
Javier Goizueta
f95c310462
Redefine aggregation torque to match Torque
...
Now the resolution aggregation parameter has the same meaning as in Torque (-torque-resolution in CartoCSS)
2017-12-14 17:04:23 +01:00
Javier Goizueta
9d8ce6bc44
Refactor aggregation resolution
2017-12-14 17:04:23 +01:00
Javier Goizueta
507d105ab2
Add mode aggregation
2017-12-14 16:37:40 +01:00
Javier Goizueta
ba6cca46a1
Fix aggregation queries
2017-12-14 16:37:15 +01:00
Javier Goizueta
b81cfe418a
Always add a _cdb_feature_count to aggregated queries
2017-12-14 15:02:03 +01:00
Daniel García Aubert
8ee4a2c049
Merge branch 'mapconfig-aggregation' of github.com:CartoDB/Windshaft-cartodb into mapconfig-aggregation
2017-12-14 14:15:20 +01:00
Daniel García Aubert
a987f6ac05
Fix issue when the sql has single quotes defined and the aggregation metadata query was not able to estimate row count
2017-12-14 14:14:55 +01:00
Javier Goizueta
b0e47ecc62
Fix aggregation resolution parameter
...
It was implemented as the inverse of the intended value
2017-12-14 12:23:02 +01:00
Javier Goizueta
daa3fdca11
Fix bug in point-grid aggregation
2017-12-14 12:14:31 +01:00
Daniel García Aubert
0bc68d7144
Do not override sql_raw
2017-12-13 19:46:25 +01:00
Daniel García Aubert
52d1cd47db
Do not validate aggregation missing columns. It will fail afterwards in map validation
2017-12-13 19:24:17 +01:00
Daniel García Aubert
98e8d745b1
Support sql_wrap for aggregation
2017-12-13 17:01:43 +01:00
Daniel García Aubert
e8740af6ef
Fix issue when sql_wrap is provided and aggregation metadata query fails
2017-12-13 16:34:36 +01:00
Javier Goizueta
6d30903531
Merge branch 'mapconfig-aggregation' of github.com:CartoDB/Windshaft-cartodb into mapconfig-aggregation
...
# Conflicts:
# lib/cartodb/models/mapconfig/adapter/aggregation-mapconfig-adapter.js
2017-12-13 12:53:20 +01:00
Javier Goizueta
4a63fed943
Simplify Aggregation classes
...
We're using the same aggregation queries for the Raster and Vector cases, so we don't need the class hierarchies used to handled them differently.
AggregationProxy has been renamed to Aggregation
2017-12-13 12:35:17 +01:00
Daniel García Aubert
6fe73862f3
Create a MapConfig's subclass to delegate aggregation
2017-12-13 11:42:51 +01:00
Ivan Malagon
02ac25181e
Return error if no_filters and own_filter are present
2017-12-13 09:45:35 +01:00
Daniel García Aubert
239aa12622
Merge branch 'mapconfig-aggregation' of github.com:CartoDB/Windshaft-cartodb into mapconfig-aggregation
2017-12-12 20:28:50 +01:00