remult

Full-stack CRUD, simplified, with SSOT TypeScript entities

MIT License

Downloads
18.3K
Stars
2.7K
Committers
36

Bot releases are hidden (Show)

remult - v0.22.6

Published by noam-honig about 1 year ago

What's Changed

  • Implemented $contains for mongo
  • Implemented contains for graphql

Full Changelog: https://github.com/remult/remult/compare/v0.22.5...v0.22.6

remult - v0.22.5

Published by noam-honig about 1 year ago

remult - v0.22.4

Published by noam-honig about 1 year ago

  • Fixed an issue where an update with only a few fields, would update all other fields to their default values.

Full Changelog: https://github.com/remult/remult/compare/v0.22.3...v0.22.4

remult - v0.22.3

Published by yoni-rapoport about 1 year ago

  • Fixed an issue with the many-to-one relation where the 'many' table did not store the ID as a string in cases where the 'one' table's ID column was not an integer
  • Added tests for MariaDB and fixed issues
remult - v0.22.2

Published by noam-honig about 1 year ago

  • Fixed #216 wrong date type saved on update

Full Changelog: https://github.com/remult/remult/compare/v0.22.1...v0.22.2

remult - v0.22.1

Published by noam-honig about 1 year ago

Fixed issue #215 - DisableTransactions in MongoDB, debugging Cosmos DB for MongoDB

Full Changelog: https://github.com/remult/remult/compare/v0.22.0...v0.22.1

remult - v0.22.0

Published by noam-honig over 1 year ago

  • Added ToJson and FromJson methods the the Repository object. These are extremely useful in the context of SSR (next etc...) where you need to send plain json over the wire, but still want to have dates and other cool stuff in your app
  • Fixed an issue with the many-to-one relation where the 'many' table did not store the ID as an 'integer' in cases where the 'one' table's ID column was an integer
  • Fixed issue where using displayValue or validate on a spread object, marked it as new, and always triggered a post call
  • Added Remult.run
  • isBackend will return true or false based on dataProvider.isProxy equal false or runningOnServer member
  • Backend method will call backend based on isBackend method,
  • Replaced deprecated cuid with paralleldrive/cuid2
  • Fixed an issue where when getDb was called without a remult parameter, it wouldn't use the default remult
  • Fixed liveQuery's apply changes to also support state that it's initial value is undefined.
  • Typescript 5 style decorators are now supported in development, but to deploy you still need experimentalDecorators .
    • Also, the decorators now do type checking, so if you put @Fields.string() on a number, it'll give you an error
    • And - no longer need for the Generics in the decorators setting.
      • @Entity<Task>(...) is now @Entity(...)
      • @Fields.string<Task>(...) is now @Fields.string(...)
    • Why didn't we implement typescript 5 decorators in runtime? the implementation for that is not yet fully supported with tools such as esbuild etc... so implementing it is trying to hit a moving target.
      At this time we recommend using experimentalDecorator:false for development, to get the typing, but experimentalDecorator:true for deploying and functionality.
  • Added 404 on missing route for next app router - issue #211
  • Fixed an issue where live query would not unsubscribe automatically to a query that failed to fetch.
  • Fixed an issue where, when using the cache with findId or findFirst, and requesting to load fields, if the cache contained a row without those fields, it would return the cached row without those fields.
  • Fixed an issue where in a filter that contained multiple instances of the same custom filter, with an 'and' condition did not work correctly
  • Graphql Mutations now display validation errors in the graphql way
remult - v0.21.1

Published by noam-honig over 1 year ago

  • Fixed issue with Field.Json fails to insert in case of array

Full Changelog: https://github.com/remult/remult/compare/v0.21.0...v0.21.1

remult - v0.21.0

Published by noam-honig over 1 year ago

  • Major improvements to the GraphQL support:
    • Better Query support
    • Mutation Support
    • Improved compatibility to standard GraphQL structures
    • Breaking Change Note that the GraphQL Schema has changed, and client code needs to be adjusted. If you run into any issues, please open a github issue or reach out to us on discord.
  • Improved SQL Log to Console see PR #204,

Big Thanks

  • to jycouet for his first two pull requests, and his help forming the GraphQL Schema according to best practices
  • to talmosko for his help and improvements for the tutorials and documentation

Full Changelog: https://github.com/remult/remult/compare/v0.20.5...v0.21.0

remult - v0.20.6

Published by noam-honig over 1 year ago

  • Fixed an issue when apiPrefilter was an arrow function; it did not affect the get of a specific resource

Full Changelog: https://github.com/remult/remult/compare/v0.20.5...v0.20.6

remult - v.0.20.5

Published by noam-honig over 1 year ago

  • fixed issue #200 transactions on mongo db

Full Changelog: https://github.com/remult/remult/compare/v0.20.4...v0.20.5

remult - v0.20.4

Published by noam-honig over 1 year ago

  • fixed issue with columns in postgres with casing in the db - sa createdAt
  • Issue #196 fixed - load options in live query
  • Fixed issue with apiReadAllowed:false when apiUpdateAllowed is set to undefined

Full Changelog: https://github.com/remult/remult/compare/v0.20.3...v0.20.4

remult - v0.20.3

Published by noam-honig over 1 year ago

What's Changed

  • Improved Open API Support

Full Changelog: https://github.com/remult/remult/compare/v0.20.2...v0.20.3

remult - v.0.20.2

Published by noam-honig over 1 year ago

  • createdAt & updatedAt are by default allowApiUpdate false
  • Added apiPrefix to BackendMethod options to allow more control over backend method routes. #189
remult - v0.20.1

Published by noam-honig over 1 year ago

  • Improved support for compound id entity
  • Minor bug fixes
  • Improved memory usage
remult - v0.20.0

Published by noam-honig over 1 year ago

  • Simple wrapper function for using Remult inside Next.js API routes - docs
  • Sveltekit integration - docs
  • Next.js App Router integration - docs
remult - v0.19.3

Published by noam-honig over 1 year ago

  • Fixed #179
remult - v0.19.2

Published by noam-honig over 1 year ago

  • Fixed #177
  • Added live query support for Fastify
remult - v0.19.1

Published by noam-honig over 1 year ago

  • Added Fields.json
  • Improved deno postgres support
remult -

Published by noam-honig over 1 year ago

  • Repository
    • Added a validate method that returns an ErrorInfo object if invalid.
    • Added a fields member that can be used to access the metadata of specific fields, for example:
      repo.fields.title.caption
      //or
      repo.fields.title.inputType
      
    • The insert, validate, create, save and update value will now run fromJson and toJson for field values that do not match their type - for consistent behavior with the api
  • FieldMetadata
    • Added apiUpdateAllowed to query if update is allowed for this field
    • Added includedInApi to query of this field would be returned from the backend as part of the api
    • Added displayValue that can be used to achieve a consistent way a field is displayed.
    • Added toInput and fromInput methods that'll help with translating values from and to inputs.
  • getId method added to IdMetadata to enable extracting the id from immutable objects, this is mainly useful for entities where the id column is not called id :)
    repo.metadata.idMetadata.getId(task)
    

Breaking Changes

  • In EntityMetadata the apiUpdateAllowed, apiDeleteAllowed and apiInsertAllowed that previously were boolean fields, are now methods that accepts item and return true or false. This is useful for cases where the apiAllowed rules refer to the specific values of an entity.
    // Previously
    if (repo.metadata.apiDeleteAllowed) {
    }
    // Now
    if (repo.metadata.apiDeleteAllowed(task)) {
    }
    
  • The validate method in EntityRef and ControllerRef that previously returned true if valid, now returns undefined if valid and ErrorInfo if invalid
  • FieldMetadata's ValueConverter field's members are now mandatory and no longer optional - it's expected that they'll be implemented