Closed raymondfeng closed 3 years ago
- Built-in models
- User/Team/Organization
- Application
- AccessToken
User, Group, Role, Permission models was added on loopback-authorization-extension
A visual builder/app inspector to develop, modify and debug a Loopback4 app. ARC, but more functionality API Connect Developer Toolkit, but without the IBM account tie-in. Node-RED, but for Loopback :)
I'd like to add an idea for some low-hanging but powerful fruit: There's a great visual model builder I'm using called GenMyModel.com (free for solo use). You can export your data model as .xmi file. And I've just convinced one of my clients to let me re-create their back end with lb4. Would be nice if I could feed the .xmi to loopback and it would auto-scaffold everything in one command including lb4 model, controllers, and database. Then I can just go and tweak the routing and functionality as needed. I might build that extension myself if I get time in a few months.
I'd like to add an idea for some low-hanging but powerful fruit: There's a great visual model builder I'm using called GenMyModel.com (free for solo use). You can export your data model as .xmi file. And I've just convinced one of my clients to let me re-create their back end with lb4. Would be nice if I could feed the .xmi to loopback and it would auto-scaffold everything in one command including lb4 model, controllers, and database. Then I can just go and tweak the routing and functionality as needed. I might build that extension myself if I get time in a few months.
Thank you @consultantcraig for posting this idea. Our CLI tool can be invoked in a non-interactive headless mode where answers from prompts are supplied via a JSON file. I think it should be possible to build a tool you have described using this feature.
I can also imagine adding a new command to the CLI that will accept a single JSON file with a list of commands & their arguments to run. With such command in place, your .xmi
converter can be simple - just convert .xmi
into JSON input expected by LB4 CLI.
Having said that, I don't think we will have bandwidth to make these CLI improvements ourselves in the near future. However, we are happy to help you along the way if you decide to contribute it yourself.
Schematics support with the CLI like in Angular CLI
SLC ARC with visual builder like version 3. Not command line based like apic discover.
Left and Inner Joins on queries. Perhaps just use GraphQL with something like Join Monster to generate smart SQL behind the scenes.
I'd also like a simple solution to modelling a database table which doesn't have a typical primary key (e.g. a column named id). I often have to build applications that read data from an IW that was designed more for management reports, where the tables use "real data" columns for their primary key. A simple example could be an order view/table where the order number is the primary key, or a product table where the part number (or SKU) is the PK. Or a list of employees where w3 ID is the PK. It's a common scenario when an application needs to interface to a database that's owned by a third-party.
Similarly, there are times when I want to include data within one LB4 model that is sourced from more than one table in the database layer. Sample use case: an Inventory model, where I would like to include the product description from the Product table along with the inventory data.
Better documentation with more useful examples about WebSocket e.g: https://github.com/strongloop/loopback-next/issues/4044
Messaging connectors and bridge: strong-pubsub strong-pubsub-bridge strong-pubsub-connection-mqtt
Merging #509 into this issue so that we have all extension wish list in one place
Cross posting #509 (comment) from @MartinCerny-awin .
20 in the original post
Audit Log
Log changes performed on models. It would help to keep track of who used, created or changed an entity and the point in time this happened.
The same model that is being audited would be created with added properties mentioned in what should be stored section. This model will get updated when audit action happens.
When should audit happen (taken from #2872)
- We give users the option which RESTfull endpoint (or which model) they want to have the audit middleware active for. Or introducing exceptions option which makes the middleware active for all endpoints except the ones mentioned in exceptions
- We give them option which req.methods they want to have this middleware active for... I think it does not make sense to have this middleware active for req.method == 'GET' since this middleware would become a bottleneck of the application and you would not get that useful information either.
What should be stored
- Model properites
- Created timestamp
- Modified timestamp
- HTTP method
- Path
- User Id
We created this extension few months back. I hope it caters to the list of requirements. If not, please feel free to raise a feature request. We'll try to add that soon. https://www.npmjs.com/package/@sourceloop/audit-log
A list of potential extensions for LoopBack Next.
Add a 👍 reaction to any of the comments below if you are interested in seeing these features / extensions