package sihl-token
 sectionYPositions = computeSectionYPositions($el), 10)"
  x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
  >
  
  
On This Page
  - Changed
- Added
- [0.6.0] - 2021-04-30
- [0.5.0] - 2021-04-10
- [0.4.1] - 2021-03-31
- [0.4.0] - 2021-03-27
- [0.3.0] - 2021-03-12
- [0.2.2] - 2020-12-17
- [0.2.1] - 2020-12-09
- [0.2] - 2020-12-07
- [0.1.10] - 2020-11-18
- [0.1.9] - 2020-11-16
- [0.1.8] - 2020-11-12
- [0.1.7] - 2020-11-03
- [0.1.6] - 2020-10-31
- [0.1.5] - 2020-10-14
- [0.1.4] - 2020-09-24
- [0.1.3] - 2020-09-14
- [0.1.2] - 2020-09-09
- [0.1.1] - 2020-09-07
- [0.1.0] - 2020-09-03
- [0.0.56] - 2020-08-17
- [0.0.55] - 2020-08-17
  Token service implementations for Sihl
Install
    
    dune-project
 Dependency
Authors
Maintainers
Sources
  
    
      1.0.0-rc2.tar.gz
    
    
        
    
  
  
  
    
  
  
    
  
        md5=ca63753c880ab1d043bc3653909f049f
    
    
  sha512=55579ced17dc7a80e1e12e45c0ecfc673d194dbbaefc4eb77f525e9d3f6eae4e34773334014a413d7ca8f883a9e56fdd6ef47d80b4fd066230f31021738153fb
    
    
  doc/CHANGES.html
[1.0.0] - 2021-05-03
Changed
- The search_queryforSihl.Database.prepare_search_requesthas to return the total amount of rows for that query without limit. On PostgreSQL and MariaDB this can be done withCOUNT(*) OVER() as total. Nocount_queryis needed anymore.
User service
- Add optional given_nameandname
- Deprecate update_detailsin favor ofupdate
- Consistent use of named arguments in service API
Added
- Optional argument format_filterfor formatting the search keyword when filtering inSihl.Database.prepare_search_request
[0.6.0] - 2021-04-30
Added
- Add CLI generators as built-in CLI commands gen.service(for generating CRUD services),gen.view(for generating CRUD views) andgen.html(for generating CRUD RESTful resources)
- Sihl.Web.Rest.{query, to_query_string, of_query_string, next_page, previous_page, last_page, first_page, query_filter, query_sort, query_limit, query_offset}
- Add ParcelJS based asset pipeline to template project in template
- Database helpers to conveniently run exactly one caqti request Sihl.Database.find,Sihl.Database.find_opt,Sihl.Database.execandSihl.Database.collect
- The searchfunction of the user service fromsihl-usertakes an optional argumentoffset. This allows you to implement offset based pagination.
Changed
- Replace the usaged of Lwt.Syntaxwithlwt_ppxfor nicer error messages in your Sihl apps
- Rework built-in commands (startis nowserver, commands are namespaced with.)
- The command function in Sihl.Command.makereturnsunit option Lwt.tand Sihl takes care of printing the usage ifLwt.return Noneis returned
- Replaced Sihl.Database.prepare_requestswithSihl.Database.prepare_search_request
- Replaced Sihl.Database.run_requestwithSihl.Database.run_search_request
- Make search query type 'a Sihl.Database.prepared_search_queryabstract to reduce API clutter. The search queries are highly specific to the implementation and are not likely to be re-used independently fromrun_search_request.
- Change queryto fully fledgedsearchinSihl.Rest.SERVICEto support paginated, filtered and sorted views
[0.5.0] - 2021-04-10
Added
- Sihl.Web.Restprovides helpers to quickly create HTML resources. This is useful to expose any service of type- Sihl.Web.Rest.SERVICEthrough the Internet by making it part of a web app.
[0.4.1] - 2021-03-31
Fixed
- Register timezone removal migration in sihl-queue. This makes it easy to change the timezone on the server without breaking applications.
[0.4.0] - 2021-03-27
Changed
- Get rid of Sihl.Web.Middleware.htmx,Sihl.Web.Htmxcan be used directly now
- Sihl.Web.Csrf.findreturns- string option, use- Option.getif you are sure that the CSRF middleware has been applied
- Take custom unauthenticated_handlerforSihl.Web.Middleware.bearer_tokenand enforce existence ofBearertoken inAuthorizationheader
- Web helpers moved from Sihl.Web.HttptoSihl.Web. InSihl.Web.Httpthere is only the Opium based HTTP service.
- Replace middlewares with helpers where they don't have to be middlewares such as bearer token (Sihl.Web.Request.bearer_token), htmx (Sihl.Web.Htmx) and session (Sihl.Web.Session)
- Remove formmiddleware (Sihl.Web.Middleware.form), useSihl.Web.Requestdirectly to parse form requests
- Replace Sihl.Web.Flash.find_customwithSihl.Web.Flash.findandSihl.Web.Flash.set_customwithSihl.Web.Fash.setto support key-value based semantics. If you need to store your custom string, simply store it under a key likeSihl.Web.Flash.set [("custom", value)] respand retrieve it withSihl.Web.Flash.find "custom" request
- Use conformist0.4.0
Added
- Read Request-ID-Xheader if present instead of generating a random id forSihl.Web.Id
- Implement composable router API Sihl.Web.{get, post, ...}andSihl.Web.choose.
- Implement job queue dashboard for sihl-queue
[0.3.0] - 2021-03-12
Fixed
- Replace functor based approach with service facade pattern based approach to increase ergonomy
- Move user_tokenmiddleware tosihl-tokenpackage
Added
- Implement MariaDB and PostgreSql backends for all services except storage service
- JSON Web Token backend for the token service
- Default middlewares for server side rendered forms and JSON API
[0.2.2] - 2020-12-17
Fixed
- Merge form data and urlencoded form parsing and provide them in one middleware
[0.2.1] - 2020-12-09
Fixed
- Two subsequent POSTrequest works now with the CSRF middleware
[0.2] - 2020-12-07
Fixed
- Extract sihl-core,sihl-type,sihl-contract,sihl-user,sihl-persistenceandsihl-webas separate opam packages
- Increase session key size to 20 bytes
- Sign session cookies with SIHL_SECRET
- Simplify session service API
- Implement generic flash storage on top of session storage and replace the specific message service
- Update to httpaf-based Opium 0.19.0
Added
- File log reporter to store logs in logs/error.logandlogs/app.log
- Add log source to log text
[0.1.10] - 2020-11-18
Fixed
- Properly load .envfiles based on project root, can be set usingENV_FILES_PATH
- Add custom error types for user actions to allow overriding errors displayed to users
Added
- Determine project rood using markers such as the .git folder
[0.1.9] - 2020-11-16
Fixed
- Get rid of Core.Ctx.t
- Make sure migrations and repo cleaners are registered when registering service
- Sihl.Core.*modules are now accessible directly under- Sihl.*
[0.1.8] - 2020-11-12
Fixed
- Get rid of Result.get_okbecause it swallows errors
[0.1.7] - 2020-11-03
Fixed
- Simplify Database.ServiceAPI: Only providetransaction,queryandfetch_pool
- Fixe dune package names, private dune packages don't have generic names like httpordatabasecausing conflicts in a Sihl app
[0.1.6] - 2020-10-31
Fixed
- Database.Serviceand- Repository.Serviceare assumed to have just one implementation, so they are referenced directly in service implementations instead of passing them as functor arguments
- Extract Random.Servicefrom utils as standalone top level service
- Merge utils into one utils.mlfile
HTTP API
- Sihl.Http.Responseand- Sihl.Http.Requesthave consistent API
- Sihl.Middlewarecontains all provided middlewares
- Implement multi-part form data parsing
[0.1.5] - 2020-10-14
Fixed
- Remove seed service since the same functionality
- Simplify app abstraction, instead of with_use service APIs directly
- Extract storage service as sihl-storageopam package
- Extract email service as sihl-emailopam package
- Extract queue service as sihl-queueopam package
- Move configuration and logging into core, neither of the are implemented as services
- Replace pcrewithreas regex library to get rid of a system dependency on pcre
- Split up Sihl.DataintoSihl.Migration,Sihl.RepositoryandSihl.Database
- Move module signatures from Foo.Service.SigtoFoo.Sig, the services might live in a third party opam package, but the signatures are staying insihl
- Move Sihl.ApptoSihl.Core.Appand simplify app API
- Move log service, config service and cmd service into core (they don't have to be provided to other services through functors)
- Simplify Sihl app creation and service configuration
[0.1.4] - 2020-09-24
Fixed
- Remove reasonandtyxml-jsxas dependency as they are not used anymore
Added
- Various combinators for Sihl.Seed.tincluding constructor and field accessors
[0.1.3] - 2020-09-14
Added
- Seed Service with commands seedlistandseedrun <name>
Fixed
- Lifecycle API: A service now has two additional functions startandstop, which are used in the lifecycle definition
- Database service query functions query,atomicandwith_connectioncan now be nested
[0.1.2] - 2020-09-09
Fixed
- Re-export Sihl.Queue.Job.t
- Export content types under Sihl.Web
[0.1.1] - 2020-09-07
Fixed
- Don't raise exception when user login fails if it is a user error
- Remove dev tools as dev dependencies
Added
- Storage service can remove files
- Move README.md documentation to ocamldoc based documentation
[0.1.0] - 2020-09-03
Fixed
- DB connection leaks caused deadlocks
- Provide all service dependencies using functors
- Move Opium & Cohttp specific stuff into the web server service implementation to allow for swappable implementation based on something like httpaf
- Inject log service to all other services by default
Added
- Support letters 0.2.0 for SMTP emailing
- Switch to exception based service API
- HTTP Response API to respond with file Sihl.Web.Res.file
[0.0.56] - 2020-08-17
Fixed
- Stop running integration tests during OPAM release
[0.0.55] - 2020-08-17
Added
- Initial release of Sihl
 sectionYPositions = computeSectionYPositions($el), 10)"
  x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
  >
  
  
  On This Page
  - Changed
- Added
- [0.6.0] - 2021-04-30
- [0.5.0] - 2021-04-10
- [0.4.1] - 2021-03-31
- [0.4.0] - 2021-03-27
- [0.3.0] - 2021-03-12
- [0.2.2] - 2020-12-17
- [0.2.1] - 2020-12-09
- [0.2] - 2020-12-07
- [0.1.10] - 2020-11-18
- [0.1.9] - 2020-11-16
- [0.1.8] - 2020-11-12
- [0.1.7] - 2020-11-03
- [0.1.6] - 2020-10-31
- [0.1.5] - 2020-10-14
- [0.1.4] - 2020-09-24
- [0.1.3] - 2020-09-14
- [0.1.2] - 2020-09-09
- [0.1.1] - 2020-09-07
- [0.1.0] - 2020-09-03
- [0.0.56] - 2020-08-17
- [0.0.55] - 2020-08-17