ShiftSoftware / ShiftSoftware/ShiftTemplates
Built-In Data Level Access: Flexible & Re-Usable API
Open
Nobody has claimed this yet.
- Dominant language
- C#
- Stars
- 2
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Description
The Existing Data Level Access API has the following flaws:
- Tightly Coupled with the default Shift Entity Secure Controller end-points: It can not be re-used externally by:
- Custom end-points on the same controller.
- Other methods of serving data from repositories: for example Azure Functions.
- Other sources of data (other than Shift Repositories): For example Cosmos DB containers
- The Predicate does not allow flexible operations
public ProductCategoryController(ProductCategoryRepository repository, IConfiguration configuration) : base(StockPlusPlusActionTree.ProductCategory, x =>
x.FilterBy(x => x.ID, StockPlusPlusActionTree.DataLevelAccess.ProductCategory)
.DecodeHashId<ProductCategoryListDTO>()
.IncludeCreatedByCurrentUser(x => x.CreatedByUserID)
)
{
this.repository = repository;
this.configuration = configuration;
}
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading the ProductCategoryController, ProductCategoryRepository, and the existing Shift Entity Secure Controller endpoints referenced in the issue. Compare how the API handles custom endpoints, Azure Functions, and other data sources such as Cosmos DB containers; done means a reusable data-level access API with more flexible predicate operations.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- azure, csharp
- Domain
- api, backend, database
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100