-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Make WeOS framework one that makes it easy to make SOLID applications #279
Labels
breaking-change
This indicates that this ticket will most likely be a breaking change
enhancement
New feature or request
v2
Comments
akeemphilbert
added
enhancement
New feature or request
breaking-change
This indicates that this ticket will most likely be a breaking change
labels
Mar 26, 2024
akeemphilbert
added a commit
that referenced
this issue
Mar 30, 2024
* Added Uber's fx as the dependency injection manager * Created Producer function for insantiating and starting Echo, Command Dispatcher and Resource Repository. * Added code to initialize a gorm connection based on the config * Added basic route initializer that sets up the health endpoint * Decided to go all in on everything being a resource * Added a resource repository that will be used to persist at resource (this is an event dispatcher which projections will subscribe to) * Added BasicResource as an event sourced resource * Added server.go as the binary option of WeOS v2 * Copied over some of the documentation from v1 * Started working on the resource controllers
akeemphilbert
added a commit
that referenced
this issue
Mar 30, 2024
* Added interface for event store * Setup GORM based event store * Changed the resourced repository to have the event dispatcher injected (instead of making it implement the event dispatcher)
akeemphilbert
added a commit
that referenced
this issue
Mar 31, 2024
* Updated write controller to NOT use commands * Added Initialize method to resource repository to instantiate resource from projection or create a new one * Made it so that the ResourceRepository stores the reference to projections * Added GORM projections that serves as the default projection that stores resources as well as the event store which stores the events. * Added Routes for resources that are linked to the DefaultWriteController
akeemphilbert
added a commit
that referenced
this issue
Apr 1, 2024
* Updated command dispatcher to return typed object. * Updated the command dispatcher to have CommandOptions to make it easier to add things the command needs * Switched to using struct for controller params so that it's easier to update * Updated the route initializer to set the routes from the api config and use default controllers for handlers * Started work on adding back the CORS and zap logger middlewares * Updated the UnmarshalJSON of resource for work around with the JSONMAP data type from Gorm
akeemphilbert
added a commit
that referenced
this issue
Apr 2, 2024
* Made it so that the port could be set via `WEOS_PORT` environment variable * Created middleware for managing security * Setup security in route initializer when security is setup * Added httpClient to the container * Updated the go version v1.22 because one of the libraries needed go v1.21
akeemphilbert
added a commit
that referenced
this issue
Apr 4, 2024
* Split up modules so that it's easier to setup the integration test without running the app * Removed the health endpoint from the api spec since it's added automatically * Removed the result group tag because it didn't seem to work (at least in the integration test) * Added fixes for getting environment variables into the file as well as for the routes to be setup correctly * Fixed reference to extension since they no longer come back as a RawMessage * Changed the sequence number to int64 * Fixed issue where event handlers were not being triggered * Added api config to the middleware params * Updated the command dispatcher / handler signature so that the response is value based (not a pointer)
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
breaking-change
This indicates that this ticket will most likely be a breaking change
enhancement
New feature or request
v2
We've been using WeOS to create microservices. Along the way, we started using RDF to describe data in those microservices. Since RDF was not considered in the design of WeOS we've been re-implementing those concepts across many services. This update is aimed at aligning WeOS more closely with RDF and potentially the SOLID specification so that app built with WeOS would be compatible with SOLID
Plan
The text was updated successfully, but these errors were encountered: