Full-stack CRUD, simplified, with SSOT TypeScript entities
MIT License
Bot releases are hidden (Show)
Published by noam-honig 7 months ago
skipLibCheck: false
Full Changelog: https://github.com/remult/remult/compare/v0.25.7...v0.25.8
Published by noam-honig 7 months ago
deleteMany
and updateMany
insert
is called in the front-end with an array of items, a single POST call is made to the serveraddParameterAndReturnSqlToken
to param
. addParameterAndReturnSqlToken
will be deprecated in future versionsinitRequest
or getUser
caused server to crash, instead of return a bad request errorbackendPrefilter
was not applied to id based update
, save
or delete
in the backendFull Changelog: https://github.com/remult/remult/compare/v0.25.6...v0.25.7
Published by noam-honig 7 months ago
orderByNullsFirst
in PostgresDataProvider
to change the default postgres behavior where nulls are lasttableName
option argument for dbNamesOf
that'll add the table name to each fieldconst orders = await dbNamesOf(Order)
return `(select count(*) from ${orders} where ${orders}.${orders.id}=1)
Now:
const orders = await dbNamesOf(Order, { tableNames:true })
return `(select count(*) from ${orders} where ${orders.id}=1)
withRemult
to next js page routerFull Changelog: https://github.com/remult/remult/compare/v0.25.5...v0.25.6
Published by noam-honig 8 months ago
admin
option to servers, enabling the /api/admin
route with a built in entity explorerreflect-metadata
sveltekit
using api/[...remult]/+server.ts
route instead of a hookFull Changelog: https://github.com/remult/remult/compare/v0.25.4...v0.25.5
Published by noam-honig 9 months ago
Full Changelog: https://github.com/remult/remult/compare/v0.25.2...v0.25.3
Published by noam-honig 9 months ago
defaultMessage
of validatorsFull Changelog: https://github.com/remult/remult/compare/v0.25.1...v0.25.2
Published by noam-honig 9 months ago
defaultGetLimit
caused issues with include queriesFull Changelog: https://github.com/remult/remult/compare/v0.25.0...v0.25.1
Published by noam-honig 9 months ago
required
as a FieldOption
maxLength
in StringFieldOptions
Validators
class:
@Fields.string({
validate:(task)=> task.title.length > 5 || "too short"
})
valueValidator
helper function:
@Fields.string({
validate: valueValidator(value => value.length > 5)
})
createValueValidator
, createValueValidatorWithArgs
, createValidator
& createValidatorWithArgs
FieldOptions
.validate
the receive ValidateFieldEvent
object as the second parameter instead of FieldRef
required
and unique
based on api changeunique
validator to only run on the backendconst db = new JsonDataProvider(new JsonEntityOpfsStorage())
repo(Task, db)
.find()
.then((tasks) => console.table(tasks))
SqlJsDataProvider
for use with front end sqlite implementation sql.js
const db = new SqlDatabase(
new SqlJsDataProvider(initSqlJs().then((x) => new x.Database())),
)
repo(Task, db)
.find()
.then((tasks) => console.table(tasks))
clone
to EntityRef
findOne
didn't workXXX is not a known entity, did you forget to set @Entity() or did you forget to add the '@' before the call to Entity?
was thrown in cases where multiple instances of remult were in memoryFull Changelog: https://github.com/remult/remult/compare/v0.24.1...v0.25.0
Published by noam-honig 10 months ago
Full Changelog: https://github.com/remult/remult/compare/v0.24.0...v0.24.1
Published by noam-honig 10 months ago
"firstName"
) to enforce specific casing in PostgreSQL.
caseInsensitiveIdentifiers: true
when using createPostgresDataProvider
.sqlExpression
field option in entities using the knex
data provider.schema
parameter to PostgresDataProvider
& createPostgresDataProvider
.findOne
method in Repository
with a unified options
parameter for simplicity.withRemultAsync
function in remultExpress
for contexts outside the normal request lifecycle.withRemult
function for obtaining a valid remult context in server scenarios.EntityMetadata
in CaptionTransformer.transformCaption
method.dbName
attribute in EntityMetadata
& FieldMetadata
.wrapIdentifier
optional parameter in dbNamesOf
function.dbNames
as an optional parameter in the filterToRaw
method of SqlDatabase
.wrapIdentifier
method in SqlDatabase
for wrapping identifiers before sending to the database.getDbName
method in EntityMetadata
& FieldMetadata
(to be removed in future versions).run
method from Remult
.withRemultPromise
to withRemultAsync
in RemultServer
.Full Changelog: https://github.com/remult/remult/compare/v0.23.5...v0.24.0
Published by noam-honig 10 months ago
Full Changelog: https://github.com/remult/remult/compare/v0.23.5...v0.23.6
Published by noam-honig 10 months ago
toOne
relation filter null for non nullable fields to worktoOne
relation filter on $id:0 failed to worktoMany
relation on api with defaultIncluded
Full Changelog: https://github.com/remult/remult/compare/v0.23.4...v0.23.5
Published by noam-honig 10 months ago
Full Changelog: https://github.com/remult/remult/compare/v0.23.3...v0.23.4
Published by noam-honig 10 months ago
Full Changelog: https://github.com/remult/remult/compare/v0.23.2...v0.23.3
Published by noam-honig 10 months ago
Published by noam-honig 10 months ago
Added Relations - see Relations
Added LifecycleEvent info for saving,saved,deleting,deleted - see Entity Lifecycle Hooks
saving
in FieldOptions
now has a second parameter if EntityLifeCycle hook - and the fieldRef is the 3rd parameter.Saving, Saved, Deleting, Deleted all run only on the backend now
include in api now supports expressions that use the current row
if(repo.fields.name.includedInApi)
you now need if(repo.fields.name.includedInApi(instance))
Changed the way an entity id is defined see Entity id's doc
Example:
@Entity<OrderDetails>("orderDetails", { id: { orderId: true, productCode: true } })
added repo function which is A convenient shortcut function to quickly obtain a repository for a specific entity type in Remult.
await repo(Task).find()
Added support for (Hapi api server)[https://hapi.dev/]
Fixed exception with toRawFilter
Fixed json db to support db names
Fixed issue with sort result after live query
Fix issue with compound id on middleware based servers
Added with remult for sveltekit for usage before the remult hook
Fixed issue with requireId not respecting in statement #290
findId
was changed to no longer use cache by default
Full Changelog: https://github.com/remult/remult/compare/v0.22.12...v0.23.0
Published by noam-honig 11 months ago
repo.validate
without specifying fieldsFull Changelog: https://github.com/remult/remult/compare/v0.22.9...v0.22.10
Published by noam-honig about 1 year ago
Full Changelog: https://github.com/remult/remult/compare/v0.22.8...v0.22.9
Published by noam-honig about 1 year ago
Full Changelog: https://github.com/remult/remult/compare/v0.22.7...v0.22.8
Published by noam-honig about 1 year ago