[Host.Outbox.PostgreSql] Outbox provider for PostgreSql#393
[Host.Outbox.PostgreSql] Outbox provider for PostgreSql#393zarusz merged 2 commits intozarusz:masterfrom
Conversation
Signed-off-by: Richard Pringle <richardpringle@gmail.com>
e6e3841 to
eefca03
Compare
|
@EtherZa As always — fantastic contribution and solid direction! When you get a chance, could you take a quick look at the SonarCloud warnings? Some of them might be false positives, but a quick review could help fine-tune things. I'll be doing a more in-depth review over the next few days. Thanks again for your great work! |
40841af to
b496cfd
Compare
|
I've gone through the SonarCloud complaints and resolved most of them while hiding the SQL injection concern. The outbox table/schema names are being injected into the migration scripts, which does pose a potential injection point, but as it would need to be manipulated by the same audience that uses it, I feel that the concern becomes moot (SQL Server migration has a similar implementation). Code duplication is due to "copying" code from the SQL outbox implementation. I looked at abstracting this into a common library, but the SQL transport stub makes it a little scrappy. I chose to rather "reinvent the wheel" in the PostgreSql libs to keep the code together with minor tweaks where required. |
b95ac8f to
9068205
Compare
src/SlimMessageBus.Host.Outbox.PostgreSql/PostgreSqlOutboxMessage.cs
Outdated
Show resolved
Hide resolved
9068205 to
758d404
Compare
|
Thanks @zarusz. I have made the two changes and updated the README.md. Please let me know if there is anything else you would like tweaked, otherwise it's good to go from my end. |
Signed-off-by: Richard Pringle <richardpringle@gmail.com>
758d404 to
0cf03e7
Compare
|


A
Host.Outbox.PostgreSql[.DbContext]implementation of theHost.Outbox.Sql[.DbContext]provider for use with PostgreSQL.Outbox message by reference
HasIdinterface in favour of using object references to abstract the provider implementation from theOutboxSendingTask. This has been bundled as its own commit in the PR for traceability/review.#392 Host.Outbox.PostgreSql
SlimMessageBus.Host.Outbox.PostgreSqlandSlimMessageBus.Host.Outbox.PostgreSql.DbContextas flavours of theSql ServerimplementationsSample.OutboxWebApito select the target provider via enum selectionSqlOutboxTemplateand its consumers to use an interface instead of a direct reference to the class-sorry, this is a fairly chunky submission