Arpit Mohan
49b7051cea
Moving the method comparison in gorilla mux to the end and not in the chain
...
This allows mux to compare and match the requests based on the HTTP method as well. If we compare the methods in the middleware chain, then mux will try to redirect the request to the first match it finds.
2019-03-16 17:05:20 +05:30
Arpit Mohan
1133b53437
Adding Google authentication via Goth. All endpoints can now be authenticated.
...
Other changes include:
* Also removing httprouter mux in favour of gorilla for being more mature and having more integrations and resources available for debugging.
* Adding http middlewares for logging req processing time and handling authentication.
TODO: Need to add context in the middleware as well. Will be useful for logging and debugging.
2019-03-16 15:47:47 +05:30
Arpit Mohan
edaf7e3025
Correcting the project structure as per idiomatic go
2019-03-10 15:51:19 +05:30
Arpit Mohan
ce34ff4a83
Completing the CRUD for the query API. Also being able to execute a saved query.
...
TODO: Handle parameters while executing a saved query.
2019-02-28 09:41:35 +05:30
Arpit Mohan
b38df1c07d
Minor refactoring
2019-02-28 00:46:17 +05:30
Arpit Mohan
dc66c070d6
Adding viper configuration to make the server configurable.
...
The config file `config.yml` must be in the same location as the binary. It must be named `config.yml`. For different environments, symlink the configuration file to the environment speciifc file.
2019-02-28 00:35:50 +05:30
Arpit Mohan
3cfadc1c51
Completing the CRUD API for component model. Also adding more basic structs for other models
2019-02-27 22:05:03 +05:30
Arpit Mohan
eb2af8e534
Minor comments
2019-02-27 09:44:02 +05:30
Arpit Mohan
13a0247fd7
Creating a generic map to struct function to convert any map objects into struct objects
...
Also creating a services package. This will hold all the business logic. The controllers will be very light.
2019-02-27 09:29:30 +05:30
Arpit Mohan
4016562f09
Making the ExecuteQuery function generic to return a map of rows instead of a struct
...
This will help us to execute arbitrary queries and map them to results at a later stage.
2019-02-26 23:49:20 +05:30
Arpit Mohan
acbb5a55e0
Moving gorm ORM library for Golang database connections
...
Also creating the Create API for components
2019-02-26 23:22:37 +05:30
Arpit Mohan
13156380ce
Adding the factory pattern to switch between databases.
...
Also adding a basic GET API for components
Making modifications to the Makefile to create a dist/ folder.
2019-02-26 22:36:21 +05:30
Arpit Mohan
f72597051c
Adding the factory method to derive postgres implementation for db
2019-02-22 10:16:46 +05:30
Arpit Mohan
6560d1005c
Adding the files for the APIs
2019-02-22 08:53:03 +05:30
Arpit Mohan
2be56a1f12
Adding httprouter as the HTTP multiplexer and also setting up postgres db connection and executing a random query
...
This basically sets up some rough structure of the code
2019-02-22 08:48:08 +05:30
Arpit Mohan
21de87596c
Adding the go module init file go.mod
2019-02-21 23:21:07 +05:30
Arpit Mohan
82289b5041
Initial commit. Adding the Makefile and hello world code
2019-02-21 10:08:45 +05:30
Arpit Mohan
53ae0ba4e5
Initial commit
2019-02-17 05:41:20 +00:00