Feature Requests
Feature, docs and use-case samples requests for ServiceStack. If you can, focus on the end-user benefit / use-case, rather than the technical details so we can focus on the end-goal and free us to work on how best to achieve it. Features can also include supporting content, e.g. a starter project on how to use ServiceStack with another product (e.g. SS + SharePoint).
-
Kinesis Data Streams/Firehose Plugin for RequestLogger
Would be very helpful to be able to stream RequestLogger data to AWS Kinesis Data Streams and Kinesis Data Firehose.
1 vote -
PocoDynamo Async APIs
The ServiceStack.Aws.DynamoDb has only limited APIs that are async (currently 3 methods).
I would like to see the rest of the APIs get an async overload.
I hope that's enough of a description.
1 vote -
OrmLite Support saving of PhysicalAddress
Saving classes with properties of type PhysicalAddress does not work. The reason should be the serialization:
[Test]
public void JsvStringSerializerWorksForPhysicalAddress()
{
var address = PhysicalAddress.Parse("0123456789AB");var serializer = new JsvStringSerializer();
var result = serializer.SerializeToString(address);
StringAssert.Contains("0123456789AB", result);
}1 vote -
Generate 1 Testmethod for each end point and create the object structure in MStest/Nunit/Xunit
Currently we have to write a testmethod for each endpoint and define the DTOs and then provide data to test. Instead if we have a testfile generated which can act like template and teams just write data against it. This helps teams to have proper test coverage and would save the time to create these request and response models.(Which already ServicestackVS reference does)
2 votes -
Support random/round-robin db server selection in OrmLiteConnectionFactory
The OrmLiteConnectionFactory can register several database servers, as described here:
https://stackoverflow.com/a/13693254/178143However, to use the servers that is no "default", then you have to do it manually by using the name.
I would suggest having a setting where the database server used is either random, round-robin or some other way. Sure, its not rocket science perhaps to write a wrapper for that yourself, but maybe it would be neat to have support in the framework.
Thank you.
1 vote -
Allow Join with UpdateOnly
Trying to UpdateOnly, when onlyField is typed as SqlExpression and the query has a Join an error will be thrown that says "The multi-part identifier "DepartmentJobCode.DepartmentId" could not be bound."
Example:
var jobsQuery = _db.From<dev.ScheduleEvent>().Join<dev.DepartmentJobCode>((se,jc)=> se.Job == jc.JobTitleId)
.Where<dev.DepartmentJobCode>(e => Sql.In(e.DepartmentId, departments))
.Update(x => new { x.Published, x.ModifiedBy});db.UpdateOnly(new dev.ScheduleEvent { Published = false, ModifiedBy = userId}, onlyFields: jobsQuery);
7 votes -
1 vote
-
IPocoDynamo Transaction Support
1h
https://aws.amazon.com/blogs/aws/new-amazon-dynamodb-transactions/Add Transactions to IPocoDynamo
4 votes -
Auto Batched Requests - return responses up to error
When an error occurs processing a batch of requests, the responses for the successful requests are lost. It would be helpful if these successful response are returned along with the error that stopped further processing.
3 votes -
Support Upsert with MySQL
AWS Charges by the IOp, not supporting UPSERT effectively doubles the cost (and reduces the performance) of running mysql/mariadb on that platform with the SELECT/INSERT behavior of OrmLite
7 votes -
Create a CognitoAuthFeature
I'd like to be able to incorporate my Cognito User Pool as an authentication and role provider.
33 votes -
Autoquery to support Group By
The AutoQuery plugin is great especially for use with many front end grids/tables, however it lacks the ability to Group By. Can you implement it to have feature parity to work with many of the front end grid components (ie kendo grid/devexpress/etc)?
32 votes -
Two Factor Authentication Feature
Two Factor Authentication is a pretty standard thing nowadays, it even comes baked into the typical ASP.NET Core Identity system. It would be nice if Service Stack had this feature as well. We are working on porting a legacy application from ASP.NET to ServiceStack and this is a requirement for government applications (some form of TFA).
23 votes -
Add a MQ Server support for Azure Storage Queues
Storage Queues are cheaper and more performant than azure service bus if guaranteed first-in-first-out, etc is not required.
They do offer 'At-Least-Once' guaranteed delivery, where Redis is 'fire and forget'.
Combining this with full featured CosmoDb caching instead of Redis would make a compelling low-cost option.
11 votes -
Increase the number of generics parameters of Select, SelectDistinct and GroupBy
While some methods of SqlExpression<T> supports up to 15 generic parameters (Where, And, Or) others like Select, SelectDistinct and GroupBy only supports a couple. When building complex queries, it's easy to select data from more than 7 tables, or group by fields from more than 4 tables.
Could you implement more Select, SelectDistinct and GroupBy overloads like you did for Where, And and Or?
There is no specific number of parameters needed, but I think that the default 15 is a good start.
4 votes -
Support for ServiceStack Client in NativeScript applications
I think that ServiceStack TypeScript client does not work in NativeScript + Angular2 applications, as I am getting a bunch of weird errors when trying that (in Fetch module).
I installed the module as this:
npm install --save @servicestack/clientIs there support for the TypeScript client in NativeScript applications? If not, Id like there to be =)
7 votes -
PocoDynamo - Support Distributed Locks
The Redis client supports distributed locks, which is a really useful feature, the same is possible using DynamoDB.
Reference Implementation:
https://github.com/awslabs/dynamodb-lock-client4 votes -
Improve QueryStringSerializer.SerializeToString to use lowercase bools
Right now, bools are serialized uppercase since that's the default ToString behavior of .NET.
Consider changing this behavior by checking for bool when serializing and using .ToString().ToLower(), or introduce a setting to control this. It's web standard to use lowercase bools in query strings.
More info/discussion:
https://github.com/ServiceStack/Issues/issues/5868 votes -
PocoDynamo - Support Condition Expressions
Support Condition Expressions for PutItem, UpdateItem and DeleteItem operations.
1 vote -
Add SAML 2.0 auth provider
Add SAML 2.0 as built in auth provider. Really useful for Azure AD SSO.
8 votes
- Don't see your idea?