Releases
v1.0.0
Version 1.0.0 (First Stable)
Features
Add yahoo openid provider (@adhocore ) 5549179
Add microsoft (Jitendra Adhikari) 6f30dd5
Register goic middleware (Jitendra Adhikari) 93150d9
Middleware : Add recover middleware (Jitendra Adhikari) 2b80bdc
Cmd.urlshc : Add urlshc command (Jitendra Adhikari) 0840fe3
Service.url : Check url reach (host) if configured (Jitendra Adhikari) 769303c
Request.url : Append host to input (Jitendra Adhikari) ea8d41d
Tmpl : Toggle check on copy from history row (Jitendra Adhikari) 93d47cd
Add /banner route and resource for og:image (Jitendra Adhikari) 9cea00f
Tmpl : Add og tags (Jitendra Adhikari) 24238cd
*****: Add favicon and robots router and template (Jitendra Adhikari) f24ea69
Tmpl : Add copy btn in history row, simplify dynamic row (Jitendra Adhikari) 272fe11
Tmpl : Add history table, rename copy button (Jitendra Adhikari) cffbc7a
Controller : Show UI in homepage (Jitendra Adhikari) 17596cc
Tmpl : Add home html template (Jitendra Adhikari) 6083ff0
Import.service : Make cache deactivation async, increment hits to compare threshold (Jitendra Adhikari) 5df0b30
Controller : Make hits increment async (Jitendra Adhikari) 6a42a0f
Service.url : Make cache deactivation async (Jitendra Adhikari) 485c6fa
Controller : Add x-cached header for cached data (Jitendra Adhikari) a7c85e5
Service.client : Lookup return flag to signify cached value (Jitendra Adhikari) eafedea
Cache : Add redis cache with lookup, persist and deactivate feature (Jitendra Adhikari) e85a297
Controller : Add endpoint to serve short url (Jitendra Adhikari) 2ffe1d6
Service.url : Add service to lookup origin & inc hits by shortcode (Jitendra Adhikari) c2807c2
Common : Add shortcode regex (Jitendra Adhikari) 1a0eed6
Router : Register short url delete endpoint (Jitendra Adhikari) c978a13
Controller : Add delete endpoint (Jitendra Adhikari) 9ab63ed
Common : Add no short code error (Jitendra Adhikari) 9e60505
Service.url : Add service to delete short url (Jitendra Adhikari) 2beece1
Common : Add auth token errors (Jitendra Adhikari) 1e388a2
Middleware : Add auth middleware to validate header token for admin (Jitendra Adhikari) fa7781c
Router : Register admin list/search controller (Jitendra Adhikari) a2eff44
Controller : Add admin list/search endpoint controller (Jitendra Adhikari) ff7987d
Common : Add data not found error (Jitendra Adhikari) 29e29d7
Service.url : Add service to list urls by filter for admin (Jitendra Adhikari) ad056f0
Request : Add UrlFilter definition with offset getter for search (Jitendra Adhikari) 8e2ced5
Response.body : Add Merge helper (Jitendra Adhikari) 5245e72
Controller : Add client api controller for short url (Jitendra Adhikari) ff2be5d
Common : Add short code length constant (Jitendra Adhikari) 07bb669
Service : Add short url creation service (Jitendra Adhikari) 1fd622e
Request : Add short url create request struct with validator (Jitendra Adhikari) 53e699c
Common : Add errors to be used in validation throughout (Jitendra Adhikari) 667dbca
Util : Add random length helper util (Jitendra Adhikari) 410ed52
Orm : Add postgres connection handler for gorm (Jitendra Adhikari) 0b8a769
Add DateLayout const, use time.UTC instead of common.UTC (Jitendra Adhikari) 8e014b5
Model : Add url model (Jitendra Adhikari) dda5a92
Model : Add keyword model (Jitendra Adhikari) 88b5ecd
Controller : Add not found handler (Jitendra Adhikari) 06c0041
Router : Add route registrar with multi endpoints handler (Jitendra Adhikari) 185a98e
Main : Listen and serve request, register default route (Jitendra Adhikari) 6ac7282
Controller : Add frontend controller (Jitendra Adhikari) 8d0ff88
Response : Add json response writer (Jitendra Adhikari) 265872f
Init module (Jitendra Adhikari) 796e171
Bug Fixes
Typo (Jitendra Adhikari) 691a3c7
Service.url : Use generic error (Jitendra Adhikari) a98fe7a
Cache : Redis uses different env (Jitendra Adhikari) 179c51f
Request : Validate url with regex (Jitendra Adhikari) 0ba06fc
Request : Exclude pattern (Jitendra Adhikari) 604c8cb
Tmpl : Use short href (Jitendra Adhikari) 167edf0
Request : Blacklist local urls (Jitendra Adhikari) fa7eb8b
Tmpl : Hide copy btn on error (Jitendra Adhikari) b83105a
Cache : User h is not usable (Jitendra Adhikari) 9a52035
Init-db : Make executable (Jitendra Adhikari) 4dccb36
Main : Use port dynamically (Jitendra Adhikari) 04e7272
Cache.redis : A;ways populate cached model (Jitendra Adhikari) 9c6a30e
Service.url : Ignore empty short code early (Jitendra Adhikari) 7168e83
Service.url : Select deleted field (Jitendra Adhikari) 84bdc5d
Service.url : When checking dupe, exclude deleted (Jitendra Adhikari) f4c3f59
Middleware : Use req.URL.Path for portability (Jitendra Adhikari) f05c70b
Internal Refactors
Middleware : Switch type usage (Jitendra Adhikari) 25d190a
Router : Wrap handler with recover (Jitendra Adhikari) 3b4aa88
Orm : Use panic (Jitendra Adhikari) 6a73c42
Cmd.urlshc : Precheck missing url opt (Jitendra Adhikari) e9e13f8
Move tmpl/ to assets/ (Jitendra Adhikari) 4cd4444
Service.url : Make validateURLInput public (Jitendra Adhikari) 281f830
Validate url len, keyword char, rephrase url filter error msg (Jitendra Adhikari) e08c0e7
*****: Use 2000 as default port (Jitendra Adhikari) 9703bd3
Tmpl : Add source code url, fix per w3c validator (Jitendra Adhikari) 1154b53
Use PORT instead of APP_PORT (Jitendra Adhikari) 9bc61b6
Orm,cache : Use DATABASE_URL and REDIS_URL env instead (Jitendra Adhikari) a855083
*****: Use 301 permanent redirect instead (Jitendra Adhikari) 80972d8
Postman : Move "/" to "/status" (Jitendra Adhikari) 1bc5865
Router : Move "/" to "/status" (Jitendra Adhikari) 425becc
Cache.redis : Use pool instead (Jitendra Adhikari) 7d6a96a
Cache : Support redis user/pass (Jitendra Adhikari) e19b3bc
Controller : Adapt to changed service layer (with cache) (Jitendra Adhikari) 7d2cd1c
Service.url : Integrate with cache layer for delete (Jitendra Adhikari) ede27c2
Service.url : Integrate with cache layer for lookup (Jitendra Adhikari) 511336c
Config.env : Add some hints (Jitendra Adhikari) bef7a66
Orm : Use test db for APP_ENV=test (Jitendra Adhikari) 1d38256
Router : Refactor to handle ServeShortUrl request (Jitendra Adhikari) 67c09eb
Main : Attach mux handler from router (Jitendra Adhikari) 2d889ce
Router : Use mux instead to make it middleware friendly (Jitendra Adhikari) 0e25641
Service.url : Add doc, always use offset (Jitendra Adhikari) 31b1a60
Controller.client : Simplify with body.Merge (Jitendra Adhikari) 4735648
Request.url : Cleanup and simplify GetExpiresOn (Jitendra Adhikari) b83110e
Main : Switch to router instead (Jitendra Adhikari) 13281b9
Miscellaneous
Deps : Bump deps, hopefully fix the yaml sec vuln (Jitendra Adhikari) 9c5b64d
Add dummy credentials (Jitendra) 3f5e92a
Fix editorconfig (Jitendra Adhikari) 627a79a
Bump adhocore/goic (Jitendra Adhikari) 9d41a8d
Bump adhocore/goic (Jitendra Adhikari) 1ecfdba
Bump adhocore/goic (Jitendra Adhikari) 6a1eff7
Add adhocore/goic (Jitendra Adhikari) d488da6
Init/setup github codeql (Jitendra Adhikari) 9b74a9b
Common : Add server error (Jitendra Adhikari) f59e0d7
Minor tweak homepage html (Jitendra Adhikari) 096d2af
Use short url to source code (Jitendra Adhikari) cfa183c
Timeout 1s (Jitendra Adhikari) 72fe0c5
Add check conf (Jitendra Adhikari) 28d5aff
No tag autocomplete (Jitendra Adhikari) 9e6eda4
Fix typo (Jitendra Adhikari) 9cc8775
Tmpl : Use nbsp (Jitendra Adhikari) a4ce4e3
Config : Fix db host (Jitendra Adhikari) 17481d4
Config : Add DATABASE_URL and REDIS_URL (Jitendra Adhikari) 1c94cfb
Common : Normalize error msg (Jitendra Adhikari) 7303f67
Cleanup (Jitendra Adhikari) d4bee1c
Docker cache (Jitendra Adhikari) ede9a0f
Flush redis before test (Jitendra Adhikari) db9163a
Add gha test (Jitendra Adhikari) baa12e0
Gh codeowner (Jitendra Adhikari) 727159e
Common : Popular website hits count (Jitendra Adhikari) fc8c61b
Config : Redis cache host:port (Jitendra Adhikari) 89e4c0d
Deps : Add redigo module (Jitendra Adhikari) ca3e959
Gha lint (Jitendra Adhikari) 26dab7f
Config : Document APP_PORT (Jitendra Adhikari) d2c3e7c
Postman : Add collection and environment (Jitendra Adhikari) 9e1dcf7
Config : Add env example config (Jitendra Adhikari) 6543454
Git : Add .env to ignore (Jitendra Adhikari) a5171a5
Deps : Add postgres driver and gorm (Jitendra Adhikari) be3d3b8
Cs : Add editorconfig config (Jitendra Adhikari) 2302817
Add gitignore (Jitendra Adhikari) 7319b5c
Documentations
Add urlshc terminal client (Jitendra Adhikari) 60e8be9
Add screenshot (Jitendra Adhikari) 8a3d83b
Update readme (Jitendra Adhikari) 249ba2f
Move "/" to "/status" (Jitendra Adhikari) 313ddda
About redis cache (Jitendra Adhikari) 195f010
Cache : Add method docs (Jitendra Adhikari) 8d77f86
About test env and cov (Jitendra Adhikari) aa5709a
Create url short code param and behavior (Jitendra Adhikari) 8566c94
Postman redirect (Jitendra Adhikari) 0123a51
Readme : Add installation/setup/testing steps, endpoint docs and postman (Jitendra Adhikari) 2cfafe0
*****: Add method docs for all source (Jitendra Adhikari) 336cd19
Init repo (Jitendra Adhikari) 5f7bdd1
Builds
Docker : No CGO in alpine container (Jitendra Adhikari) 7df35ec
Docker : Env map should be .env only (Jitendra Adhikari) 63a5d22
Docker : Use alpine images (Jitendra Adhikari) 7292580
Docker : APP_DB_DSN is no longer needed (Jitendra Adhikari) 5abe992
Docker : Add redis cache (Jitendra Adhikari) 70face3
Docker : Add docker-compose (Jitendra Adhikari) 3e8e036
Docker : Add init-test-db (Jitendra Adhikari) 68dd75a
You can’t perform that action at this time.