@loopback/docs 5.0.0 → 5.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +63 -0
- package/LICENSE +2 -2
- package/package.json +5 -5
- package/site/BelongsTo-relation.md +1 -1
- package/site/Context.md +1 -1
- package/site/Copyright-generator.md +8 -7
- package/site/Crafting-LoopBack-4.md +3 -3
- package/site/DEVELOPING.md +2 -2
- package/site/Discovering-models.md +5 -0
- package/site/Dynamic-models-repositories-controllers.md +2 -2
- package/site/Implementing-features.shelved.md +1 -1
- package/site/Include-filter.md +1 -1
- package/site/Interceptor-generator.md +1 -1
- package/site/LB3-vs-LB4-request-response-cycle.md +4 -4
- package/site/Model-generator.md +1 -1
- package/site/Model.md +2 -2
- package/site/{Polymorphic-relations.md → Polymorphic-relation.md} +2 -2
- package/site/REST-middleware-sequence.md +1 -1
- package/site/Repository-generator.md +2 -2
- package/site/Repository.md +1 -1
- package/site/Request-response-cycle.md +6 -6
- package/site/Rest-Crud-generator.md +7 -1
- package/site/Serving-static-files.md +1 -1
- package/site/Testing-your-application.md +1 -1
- package/site/apidocs/authentication-jwt.myuserservice.md +1 -1
- package/site/apidocs/authentication-jwt.refreshtokenrepository.md +1 -1
- package/site/apidocs/authentication-jwt.usercredentialsrepository.md +1 -1
- package/site/apidocs/authentication-jwt.userrepository.md +3 -3
- package/site/apidocs/authentication-passport.strategyadapter.md +1 -1
- package/site/apidocs/authentication.authenticateactionprovider.md +5 -5
- package/site/apidocs/authentication.authenticationmetadata.md +5 -5
- package/site/apidocs/authentication.authenticationmiddlewareprovider.md +1 -1
- package/site/apidocs/authentication.authenticationoptions.md +4 -4
- package/site/apidocs/authentication.authenticationstrategy.md +3 -3
- package/site/apidocs/authentication.authenticationstrategyprovider.md +3 -3
- package/site/apidocs/authentication.authmetadataprovider.md +1 -1
- package/site/apidocs/authentication.md +3 -3
- package/site/apidocs/authorization.authorizationcontext.md +7 -7
- package/site/apidocs/authorization.authorizationinterceptor.md +1 -1
- package/site/apidocs/authorization.authorizationmetadata.md +8 -8
- package/site/apidocs/authorization.authorizationoptions.md +6 -6
- package/site/apidocs/authorization.authorizationrequest.md +6 -6
- package/site/apidocs/authorization.authorizemethoddecoratorfactory.md +2 -2
- package/site/apidocs/boot.baseartifactbooter.md +5 -5
- package/site/apidocs/boot.bootable.md +4 -4
- package/site/apidocs/boot.bootmixin.md +44 -44
- package/site/apidocs/boot.instancewithbooters.md +3 -3
- package/site/apidocs/boot.md +10 -10
- package/site/apidocs/context-explorer.contextbinding.md +4 -4
- package/site/apidocs/context-explorer.contextgraph.md +2 -2
- package/site/apidocs/context.binding.md +11 -11
- package/site/apidocs/context.bindingelement.md +4 -4
- package/site/apidocs/context.bindinginspectoptions.md +3 -3
- package/site/apidocs/context.bindingkey.md +4 -4
- package/site/apidocs/context.bindingscope.md +2 -2
- package/site/apidocs/context.bindingtagfilter.md +3 -3
- package/site/apidocs/context.config.getter.md +1 -1
- package/site/apidocs/context.config.view.md +1 -1
- package/site/apidocs/context.configinjectionmetadata.md +4 -4
- package/site/apidocs/context.context.find.md +1 -1
- package/site/apidocs/context.context.md +15 -15
- package/site/apidocs/context.contextinspectoptions.md +3 -3
- package/site/apidocs/context.contextobserver.md +4 -4
- package/site/apidocs/context.contextsubscriptionmanager.md +5 -5
- package/site/apidocs/context.contextview.md +7 -7
- package/site/apidocs/context.contextviewevent.md +3 -3
- package/site/apidocs/context.defaultconfigurationresolver.md +1 -1
- package/site/apidocs/context.dynamicvalueproviderclass.md +3 -3
- package/site/apidocs/context.genericinterceptorchain.md +1 -1
- package/site/apidocs/context.inject.binding.md +1 -1
- package/site/apidocs/context.inject.getter.md +1 -1
- package/site/apidocs/context.inject.md +2 -2
- package/site/apidocs/context.inject.setter.md +1 -1
- package/site/apidocs/context.inject.tag.md +1 -1
- package/site/apidocs/context.inject.view.md +1 -1
- package/site/apidocs/context.injectable.md +1 -1
- package/site/apidocs/context.injectbindingmetadata.md +3 -3
- package/site/apidocs/context.injection.md +8 -8
- package/site/apidocs/context.injectiondescriptor.md +5 -5
- package/site/apidocs/context.injectionelement.md +4 -4
- package/site/apidocs/context.injectionmetadata.md +5 -5
- package/site/apidocs/context.intercept.md +2 -2
- package/site/apidocs/context.interceptionhandler.md +1 -1
- package/site/apidocs/context.interceptor.md +1 -1
- package/site/apidocs/context.interceptorbindingoptions.md +5 -5
- package/site/apidocs/context.invocationcontext.md +7 -7
- package/site/apidocs/context.invocationsource.md +4 -4
- package/site/apidocs/context.jsonarray.md +1 -1
- package/site/apidocs/context.jsonobject.md +1 -1
- package/site/apidocs/context.md +9 -9
- package/site/apidocs/context.notification.md +3 -3
- package/site/apidocs/context.proxysource.md +2 -2
- package/site/apidocs/context.resolutioncontext.md +5 -5
- package/site/apidocs/context.resolutionerror.md +1 -1
- package/site/apidocs/context.resolutionoptions.md +5 -5
- package/site/apidocs/context.resolutionsession.md +5 -5
- package/site/apidocs/context.subscription.md +3 -3
- package/site/apidocs/core.application.md +13 -13
- package/site/apidocs/core.applicationconfig.md +4 -4
- package/site/apidocs/core.applicationmetadata.md +5 -5
- package/site/apidocs/core.component.md +9 -9
- package/site/apidocs/core.lifecycleobserverregistry.md +8 -8
- package/site/apidocs/core.server.md +3 -3
- package/site/apidocs/core.service.md +1 -1
- package/site/apidocs/core.serviceoptions.md +3 -3
- package/site/apidocs/cron.croncomponent.md +1 -1
- package/site/apidocs/cron.md +1 -1
- package/site/apidocs/express.basemiddlewarebindingoptions.md +4 -4
- package/site/apidocs/express.expressapplication.md +2 -2
- package/site/apidocs/express.expressmiddlewareinterceptorprovider.md +4 -4
- package/site/apidocs/express.expressserver.md +7 -7
- package/site/apidocs/express.handlercontext.md +4 -4
- package/site/apidocs/express.invokemiddlewareoptions.md +7 -7
- package/site/apidocs/express.middleware.md +1 -1
- package/site/apidocs/express.middlewarebindingoptions.md +6 -6
- package/site/apidocs/express.middlewarechain.md +1 -1
- package/site/apidocs/express.middlewarecontext.md +3 -3
- package/site/apidocs/express.middlewarecreationoptions.md +4 -4
- package/site/apidocs/express.middlewareinterceptorbindingoptions.md +4 -4
- package/site/apidocs/express.middlewaremixin.md +28 -28
- package/site/apidocs/express.middlewareview.md +1 -1
- package/site/apidocs/filter.andclause.md +3 -3
- package/site/apidocs/filter.filter.md +9 -9
- package/site/apidocs/filter.inclusion.md +5 -5
- package/site/apidocs/filter.md +3 -3
- package/site/apidocs/filter.orclause.md +3 -3
- package/site/apidocs/graphql.graphqlresolutioncontext.md +2 -2
- package/site/apidocs/graphql.graphqlserver.md +3 -3
- package/site/apidocs/graphql.graphqlserveroptions.md +6 -6
- package/site/apidocs/graphql.loopbackcontainer.md +1 -1
- package/site/apidocs/http-caching-proxy.proxyoptions.md +7 -7
- package/site/apidocs/http-server.basehttpoptions.md +4 -4
- package/site/apidocs/http-server.httpoptions.md +3 -3
- package/site/apidocs/http-server.httpserver.md +8 -8
- package/site/apidocs/http-server.httpsoptions.md +3 -3
- package/site/apidocs/index.md +1 -1
- package/site/apidocs/logging.winstonloggerprovider.md +1 -1
- package/site/apidocs/metadata.classdecoratorfactory.md +3 -3
- package/site/apidocs/metadata.decoratorfactory.md +11 -11
- package/site/apidocs/metadata.decoratoroptions.md +5 -5
- package/site/apidocs/metadata.designtimemethodmetadata.md +5 -5
- package/site/apidocs/metadata.inspectionoptions.md +3 -3
- package/site/apidocs/metadata.metadataaccessor.md +1 -1
- package/site/apidocs/metadata.metadatainspector.md +2 -2
- package/site/apidocs/metadata.methoddecoratorfactory.md +3 -3
- package/site/apidocs/metadata.methodmultidecoratorfactory.md +3 -3
- package/site/apidocs/metadata.methodparameterdecoratorfactory.md +3 -3
- package/site/apidocs/metadata.parameterdecoratorfactory.md +3 -3
- package/site/apidocs/metadata.propertydecoratorfactory.md +3 -3
- package/site/apidocs/metrics.metricsoptions.md +7 -7
- package/site/apidocs/mock-oauth2-provider.myuser.md +10 -10
- package/site/apidocs/model-api-builder.modelapibuilder.md +3 -3
- package/site/apidocs/openapi-spec-builder.builderbase.md +1 -1
- package/site/apidocs/openapi-spec-builder.componentsspecbuilder.md +1 -1
- package/site/apidocs/openapi-spec-builder.openapispecbuilder.md +1 -1
- package/site/apidocs/openapi-spec-builder.operationspecbuilder.md +1 -1
- package/site/apidocs/openapi-v3.controllerspec.md +5 -5
- package/site/apidocs/openapi-v3.deprecated.md +2 -2
- package/site/apidocs/openapi-v3.md +9 -9
- package/site/apidocs/openapi-v3.oasenhancer.md +3 -3
- package/site/apidocs/openapi-v3.oasenhancerservice.md +1 -1
- package/site/apidocs/openapi-v3.param.query.md +1 -1
- package/site/apidocs/openapi-v3.requestbody.array.md +3 -3
- package/site/apidocs/openapi-v3.requestbody.file.md +3 -3
- package/site/apidocs/openapi-v3.requestbody.md +1 -1
- package/site/apidocs/openapi-v3.responsedecoratormetadataitem.md +6 -6
- package/site/apidocs/openapi-v3.restendpoint.md +5 -5
- package/site/apidocs/openapi-v3.tags.md +2 -2
- package/site/apidocs/openapi-v3.tagsdecoratormetadata.md +3 -3
- package/site/apidocs/openapi-v3.visibility.md +2 -2
- package/site/apidocs/pooling.pooledvalue.md +4 -4
- package/site/apidocs/pooling.poolfactory.md +1 -1
- package/site/apidocs/pooling.poolingservice.md +2 -2
- package/site/apidocs/pooling.poolingserviceoptions.md +4 -4
- package/site/apidocs/repository-json-schema.filterschemaoptions.md +4 -4
- package/site/apidocs/repository-json-schema.jsonschemaoptions.md +7 -7
- package/site/apidocs/repository-json-schema.md +3 -3
- package/site/apidocs/repository-tests.crudfeatures.md +8 -8
- package/site/apidocs/repository.anytype.md +2 -2
- package/site/apidocs/repository.arraytype.md +2 -2
- package/site/apidocs/repository.baserepositoryclass.md +3 -3
- package/site/apidocs/repository.belongstoaccessor.md +3 -3
- package/site/apidocs/repository.belongstodefinition.md +7 -7
- package/site/apidocs/repository.booleantype.md +2 -2
- package/site/apidocs/repository.buffertype.md +2 -2
- package/site/apidocs/repository.connector.md +5 -5
- package/site/apidocs/repository.count.md +3 -3
- package/site/apidocs/repository.crudrepository.md +1 -1
- package/site/apidocs/repository.crudrepositoryimpl.md +2 -2
- package/site/apidocs/repository.datasource.md +5 -5
- package/site/apidocs/repository.datetype.md +2 -2
- package/site/apidocs/repository.defaultbelongstorepository.md +1 -1
- package/site/apidocs/repository.defaultcrudrepository.definepersistedmodel.md +1 -1
- package/site/apidocs/repository.defaultcrudrepository.md +21 -21
- package/site/apidocs/repository.defaulthasmanyrepository.md +1 -1
- package/site/apidocs/repository.defaulthasmanythroughrepository.md +1 -1
- package/site/apidocs/repository.defaulthasonerepository.md +1 -1
- package/site/apidocs/repository.defaultkeyvaluerepository.md +2 -2
- package/site/apidocs/repository.defaultreferencesmanyrepository.md +1 -1
- package/site/apidocs/repository.defaulttransactionalrepository.md +2 -2
- package/site/apidocs/repository.entitycrudrepository.md +5 -5
- package/site/apidocs/repository.entityrepository.md +1 -1
- package/site/apidocs/repository.executablerepository.md +1 -1
- package/site/apidocs/repository.hasmanydefinition.md +7 -7
- package/site/apidocs/repository.hasmanyrepositoryfactory.md +3 -3
- package/site/apidocs/repository.hasonedefinition.md +7 -7
- package/site/apidocs/repository.hasonerepositoryfactory.md +3 -3
- package/site/apidocs/repository.keyvaluerepository.md +1 -1
- package/site/apidocs/repository.md +14 -14
- package/site/apidocs/repository.modeldefinition.md +1 -1
- package/site/apidocs/repository.modeldefinitionsyntax.md +7 -7
- package/site/apidocs/repository.modelrepositoryclass.md +3 -3
- package/site/apidocs/repository.modelsettings.md +7 -7
- package/site/apidocs/repository.modeltype.md +2 -2
- package/site/apidocs/repository.nulltype.md +2 -2
- package/site/apidocs/repository.numbertype.md +2 -2
- package/site/apidocs/repository.objecttype.md +1 -1
- package/site/apidocs/repository.propertydefinition.md +9 -9
- package/site/apidocs/repository.propertyform.md +5 -5
- package/site/apidocs/repository.referencesmanyaccessor.md +3 -3
- package/site/apidocs/repository.referencesmanydefinition.md +6 -6
- package/site/apidocs/repository.relationdefinitionbase.md +7 -7
- package/site/apidocs/repository.repositorycomponent.md +4 -4
- package/site/apidocs/repository.repositorymetadata._constructor_.md +1 -1
- package/site/apidocs/repository.repositorymixin.md +50 -50
- package/site/apidocs/repository.repositorymixindoc.md +1 -1
- package/site/apidocs/repository.schemamigrationoptions.md +4 -4
- package/site/apidocs/repository.stringtype.md +2 -2
- package/site/apidocs/repository.transaction.md +3 -3
- package/site/apidocs/repository.transactionalrepository.md +1 -1
- package/site/apidocs/repository.type.md +3 -3
- package/site/apidocs/repository.uniontype.md +2 -2
- package/site/apidocs/rest-crud.crudrestapibuilder.md +1 -1
- package/site/apidocs/{rest-crud.crudrestcontroller.create.md → rest-crud.crudrestcontroller.find.md} +8 -8
- package/site/apidocs/rest-crud.crudrestcontroller.md +4 -4
- package/site/apidocs/rest-crud.crudrestcontrolleroptions.md +4 -3
- package/site/apidocs/rest-crud.crudrestcontrolleroptions.readonly.md +23 -0
- package/site/apidocs/rest-crud.modelcrudrestapiconfig.md +4 -3
- package/site/apidocs/rest-crud.modelcrudrestapiconfig.readonly.md +23 -0
- package/site/apidocs/rest-explorer.restexplorerbindings.md +1 -1
- package/site/apidocs/rest.apiexploreroptions.md +5 -5
- package/site/apidocs/rest.baseroute.md +3 -3
- package/site/apidocs/rest.bodyparser.md +3 -3
- package/site/apidocs/rest.controllerroute.md +4 -4
- package/site/apidocs/rest.defaultsequence.md +5 -5
- package/site/apidocs/rest.findroutemiddlewareprovider.md +1 -1
- package/site/apidocs/rest.httphandler.md +5 -5
- package/site/apidocs/rest.httpserverlike.md +3 -3
- package/site/apidocs/rest.infospecenhancer.md +1 -1
- package/site/apidocs/rest.invokemethodmiddlewareprovider.md +1 -1
- package/site/apidocs/rest.md +1 -1
- package/site/apidocs/rest.middlewaresequence.md +3 -3
- package/site/apidocs/rest.node.md +7 -7
- package/site/apidocs/rest.openapispecform.md +4 -4
- package/site/apidocs/rest.openapispecoptions.md +7 -7
- package/site/apidocs/rest.parseparamsmiddlewareprovider.md +1 -1
- package/site/apidocs/rest.redirectroute.md +8 -8
- package/site/apidocs/rest.regexprouter.md +3 -3
- package/site/apidocs/rest.requestbodyparser.md +1 -1
- package/site/apidocs/rest.requestbodyparseroptions.md +7 -7
- package/site/apidocs/rest.requestcontext.md +7 -7
- package/site/apidocs/rest.requestwithsession.md +3 -3
- package/site/apidocs/rest.resolvednode.md +4 -4
- package/site/apidocs/rest.resolvedroute.md +4 -4
- package/site/apidocs/rest.restapplication.md +3 -3
- package/site/apidocs/rest.restbindings.md +1 -1
- package/site/apidocs/rest.resthttperrors.validationerrordetails.md +6 -6
- package/site/apidocs/rest.restserver.md +22 -22
- package/site/apidocs/rest.restserverresolvedoptions.md +13 -13
- package/site/apidocs/rest.route.md +2 -2
- package/site/apidocs/rest.routeentry.md +5 -5
- package/site/apidocs/rest.routesource.md +2 -2
- package/site/apidocs/rest.sendresponsemiddlewareprovider.md +1 -1
- package/site/apidocs/rest.session.md +3 -3
- package/site/apidocs/rest.sessionuserprofile.md +5 -5
- package/site/apidocs/rest.trie.md +1 -1
- package/site/apidocs/rest.trierouter.md +3 -3
- package/site/apidocs/rest.validationoptions.md +8 -8
- package/site/apidocs/rest.valuevalidationoptions.md +4 -4
- package/site/apidocs/security.defaultsubject.md +4 -4
- package/site/apidocs/security.md +2 -2
- package/site/apidocs/security.permission.md +1 -1
- package/site/apidocs/security.principal.md +3 -3
- package/site/apidocs/security.role.md +3 -3
- package/site/apidocs/security.scope.md +3 -3
- package/site/apidocs/security.subject.md +5 -5
- package/site/apidocs/security.typedprincipal.md +3 -3
- package/site/apidocs/security.userprofile.md +4 -4
- package/site/apidocs/service-proxy.md +1 -1
- package/site/apidocs/service-proxy.servicemixin.md +43 -43
- package/site/apidocs/service-proxy.serviceproxy.md +2 -2
- package/site/apidocs/socketio.defaultsocketiosequence.md +5 -5
- package/site/apidocs/socketio.httpserverresolvedoptions.md +7 -7
- package/site/apidocs/socketio.socketio.md +1 -1
- package/site/apidocs/socketio.socketioapplication.md +1 -1
- package/site/apidocs/socketio.socketiobooter.md +1 -1
- package/site/apidocs/socketio.socketioconnectioncontext.md +1 -1
- package/site/apidocs/socketio.socketiocontrollerfactory.md +4 -4
- package/site/apidocs/socketio.socketioinvokemethodprovider.md +1 -1
- package/site/apidocs/socketio.socketiometadata.md +4 -4
- package/site/apidocs/socketio.socketiorejectprovider.md +1 -1
- package/site/apidocs/socketio.socketiosendprovider.md +1 -1
- package/site/apidocs/socketio.socketioserver.md +4 -4
- package/site/apidocs/socketio.socketioserveroptions.md +4 -4
- package/site/apidocs/testlab.expresscontextstub.md +6 -6
- package/site/apidocs/testlab.handlercontextstub.md +5 -5
- package/site/apidocs/testlab.hostport.md +4 -4
- package/site/apidocs/testlab.httpoptions.md +3 -3
- package/site/apidocs/testlab.httpsoptions.md +3 -3
- package/site/apidocs/testlab.md +1 -1
- package/site/apidocs/testlab.restapplicationlike.md +3 -3
- package/site/apidocs/testlab.restserverlike.md +4 -4
- package/site/apidocs/testlab.testsandbox.md +1 -1
- package/site/apidocs/testlab.testsandboxoptions.md +3 -3
- package/site/apidocs/tsdocs.apidocsoptions.md +9 -9
- package/site/apidocs/tsdocs.extractoroptions.md +8 -8
- package/site/apidocs/tsdocs.lernapackage.md +7 -7
- package/site/apidocs/typeorm.md +1 -1
- package/site/apidocs/typeorm.typeormmixin.md +61 -61
- package/site/changelogs/bodyparsers/rest-msgpack/CHANGELOG.md +30 -0
- package/site/changelogs/examples/access-control-migration/CHANGELOG.md +30 -0
- package/site/changelogs/examples/binding-resolution/CHANGELOG.md +30 -0
- package/site/changelogs/examples/context/CHANGELOG.md +30 -0
- package/site/changelogs/examples/express-composition/CHANGELOG.md +30 -0
- package/site/changelogs/examples/file-transfer/CHANGELOG.md +30 -0
- package/site/changelogs/examples/graphql/CHANGELOG.md +30 -0
- package/site/changelogs/examples/greeter-extension/CHANGELOG.md +30 -0
- package/site/changelogs/examples/greeting-app/CHANGELOG.md +30 -0
- package/site/changelogs/examples/hello-world/CHANGELOG.md +30 -0
- package/site/changelogs/examples/lb3-application/CHANGELOG.md +33 -0
- package/site/changelogs/examples/log-extension/CHANGELOG.md +33 -0
- package/site/changelogs/examples/metrics-prometheus/CHANGELOG.md +30 -0
- package/site/changelogs/examples/multi-tenancy/CHANGELOG.md +34 -1
- package/site/changelogs/examples/passport-login/CHANGELOG.md +30 -0
- package/site/changelogs/examples/references-many/CHANGELOG.md +29 -0
- package/site/changelogs/examples/rest-crud/CHANGELOG.md +33 -0
- package/site/changelogs/examples/rpc-server/CHANGELOG.md +30 -0
- package/site/changelogs/examples/soap-calculator/CHANGELOG.md +30 -0
- package/site/changelogs/examples/socketio/CHANGELOG.md +30 -0
- package/site/changelogs/examples/todo/CHANGELOG.md +30 -0
- package/site/changelogs/examples/todo-jwt/CHANGELOG.md +33 -0
- package/site/changelogs/examples/todo-list/CHANGELOG.md +30 -0
- package/site/changelogs/examples/validation-app/CHANGELOG.md +30 -0
- package/site/changelogs/examples/webpack/CHANGELOG.md +30 -0
- package/site/changelogs/extensions/apiconnect/CHANGELOG.md +30 -0
- package/site/changelogs/extensions/authentication-jwt/CHANGELOG.md +30 -0
- package/site/changelogs/extensions/authentication-passport/CHANGELOG.md +30 -0
- package/site/changelogs/extensions/context-explorer/CHANGELOG.md +30 -0
- package/site/changelogs/extensions/cron/CHANGELOG.md +30 -0
- package/site/changelogs/extensions/graphql/CHANGELOG.md +30 -0
- package/site/changelogs/extensions/health/CHANGELOG.md +30 -0
- package/site/changelogs/extensions/logging/CHANGELOG.md +30 -0
- package/site/changelogs/extensions/metrics/CHANGELOG.md +30 -0
- package/site/changelogs/extensions/pooling/CHANGELOG.md +30 -0
- package/site/changelogs/extensions/socketio/CHANGELOG.md +30 -0
- package/site/changelogs/extensions/typeorm/CHANGELOG.md +32 -0
- package/site/changelogs/fixtures/mock-oauth2-provider/CHANGELOG.md +309 -0
- package/site/changelogs/packages/authentication/CHANGELOG.md +30 -0
- package/site/changelogs/packages/authorization/CHANGELOG.md +30 -0
- package/site/changelogs/packages/boot/CHANGELOG.md +33 -0
- package/site/changelogs/packages/booter-lb3app/CHANGELOG.md +30 -0
- package/site/changelogs/packages/build/CHANGELOG.md +28 -0
- package/site/changelogs/packages/cli/CHANGELOG.md +62 -0
- package/site/changelogs/packages/context/CHANGELOG.md +30 -0
- package/site/changelogs/packages/core/CHANGELOG.md +33 -0
- package/site/changelogs/packages/eslint-config/CHANGELOG.md +27 -0
- package/site/changelogs/packages/express/CHANGELOG.md +30 -0
- package/site/changelogs/packages/filter/CHANGELOG.md +34 -0
- package/site/changelogs/packages/http-caching-proxy/CHANGELOG.md +30 -0
- package/site/changelogs/packages/http-server/CHANGELOG.md +35 -0
- package/site/changelogs/packages/metadata/CHANGELOG.md +30 -0
- package/site/changelogs/packages/model-api-builder/CHANGELOG.md +30 -0
- package/site/changelogs/packages/monorepo/CHANGELOG.md +24 -0
- package/site/changelogs/packages/openapi-spec-builder/CHANGELOG.md +30 -0
- package/site/changelogs/packages/openapi-v3/CHANGELOG.md +36 -0
- package/site/changelogs/packages/repository/CHANGELOG.md +39 -0
- package/site/changelogs/packages/repository-json-schema/CHANGELOG.md +33 -0
- package/site/changelogs/packages/repository-tests/CHANGELOG.md +31 -0
- package/site/changelogs/packages/rest/CHANGELOG.md +30 -0
- package/site/changelogs/packages/rest-crud/CHANGELOG.md +36 -0
- package/site/changelogs/packages/rest-explorer/CHANGELOG.md +30 -0
- package/site/changelogs/packages/security/CHANGELOG.md +30 -0
- package/site/changelogs/packages/service-proxy/CHANGELOG.md +30 -0
- package/site/changelogs/packages/testlab/CHANGELOG.md +24 -0
- package/site/changelogs/packages/tsdocs/CHANGELOG.md +30 -0
- package/site/decorators/Decorators_openapi.md +3 -3
- package/site/deployment/Deploy-for-GDPR-readiness.md +1 -1
- package/site/migration/LB3-vs-LB4-booting.md +1 -1
- package/site/migration/auth/passport.md +2 -2
- package/site/readmes/loopback-next/examples/lb3-application/README.md +1 -1
- package/site/readmes/loopback-next/examples/log-extension/README.md +1 -1
- package/site/readmes/loopback-next/examples/rest-crud/README.md +1 -1
- package/site/readmes/loopback-next/examples/todo-jwt/README.md +1 -1
- package/site/readmes/loopback-next/packages/boot/README.md +1 -1
- package/site/readmes/loopback-next/packages/build/README.md +2 -2
- package/site/readmes/loopback-next/packages/rest-crud/README.md +3 -2
- package/site/sidebars/lb4_sidebar.yml +4 -0
- package/site/tutorials/core/11-summary.md +1 -1
- package/site/tutorials/core/3-context-in-action.md +3 -3
- package/site/tutorials/soap-calculator/soap-calculator-tutorial-add-controller.md +1 -1
- package/site/tutorials/soap-calculator/soap-calculator-tutorial-scaffolding.md +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,69 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [5.1.2](https://github.com/loopbackio/loopback-next/compare/@loopback/docs@5.1.1...@loopback/docs@5.1.2) (2022-08-25)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @loopback/docs
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
## [5.1.1](https://github.com/loopbackio/loopback-next/compare/@loopback/docs@5.1.0...@loopback/docs@5.1.1) (2022-07-14)
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
### Bug Fixes
|
|
18
|
+
|
|
19
|
+
* **docs:** docs link for discovering models ([1e48456](https://github.com/loopbackio/loopback-next/commit/1e48456fde20e691d85b506f5c8e296c3c64b1fe))
|
|
20
|
+
* **docs:** documentation fix for creater text in polymorphic relation ([3252073](https://github.com/loopbackio/loopback-next/commit/3252073231bfb7af9ed45f12f9ebd68286e313ed))
|
|
21
|
+
* **docs:** documentation fix in deployment docs ([9e9cea2](https://github.com/loopbackio/loopback-next/commit/9e9cea28e6e960c8d5e10e4be246101d8d3ba6df))
|
|
22
|
+
* **docs:** documentation fix in repository ([59de2af](https://github.com/loopbackio/loopback-next/commit/59de2af817b9674a42f243c1de8be6a0b0afdadc))
|
|
23
|
+
* **docs:** documentation fix in req response cycle ([5c1447a](https://github.com/loopbackio/loopback-next/commit/5c1447a6ef46ab381539d4a1d23252f310a5721e))
|
|
24
|
+
* **docs:** documentation fix in req response cycle ([9f5487e](https://github.com/loopbackio/loopback-next/commit/9f5487e7e89d5a1775c6e4b01a64831c56405dd3))
|
|
25
|
+
* **docs:** documentation fix in service static files ([103fe91](https://github.com/loopbackio/loopback-next/commit/103fe91e271967d80ed8cbc0a8211c3d9366f0c4))
|
|
26
|
+
* **docs:** documentation fix of for infered text ([0150199](https://github.com/loopbackio/loopback-next/commit/01501990531acaf5beba786180bb6c63b56de69e))
|
|
27
|
+
* **docs:** documentation fix of for overridden text ([2f45572](https://github.com/loopbackio/loopback-next/commit/2f4557228d4cce50ddff742abe10cc306ffbb1e7))
|
|
28
|
+
* **docs:** documentation fix of for repository generator ([0c5efab](https://github.com/loopbackio/loopback-next/commit/0c5efab81c7a0f79da066574f23ec00448b36195))
|
|
29
|
+
* **docs:** documentation fix typo from sematics ([57e325a](https://github.com/loopbackio/loopback-next/commit/57e325a8b2be674478c0a2c1ba394703c323609e))
|
|
30
|
+
* **docs:** documentation typo fix from extention to extension ([7d16db0](https://github.com/loopbackio/loopback-next/commit/7d16db08f539b477d779428ce0fa1fc920d223db))
|
|
31
|
+
* **docs:** documentation typo fix in context in action ([b02f55b](https://github.com/loopbackio/loopback-next/commit/b02f55bfff45cb856f38c60974c5434015b29785))
|
|
32
|
+
* **docs:** documentation typo fix in filters query and relation ([2521d95](https://github.com/loopbackio/loopback-next/commit/2521d950bba75c197fd1ac5aab437ed8127a5a09))
|
|
33
|
+
* **docs:** documentation typo fix in request response cycle ([19d2bf3](https://github.com/loopbackio/loopback-next/commit/19d2bf364ba8a20eb3a3229fa9677c340878a3ce))
|
|
34
|
+
* **docs:** documentation typo update for recevies ([41ccae8](https://github.com/loopbackio/loopback-next/commit/41ccae8505e9b68e20739c7023b84de98ffe0e8e))
|
|
35
|
+
* **docs:** documentation update for context ([390fa12](https://github.com/loopbackio/loopback-next/commit/390fa124142a489b92f1dbae677ec66ebd915f9d))
|
|
36
|
+
* **docs:** documentation update for non global interceptor ([e6eacff](https://github.com/loopbackio/loopback-next/commit/e6eacffa3b36c1769861ad5a4db71c615c17b1f3))
|
|
37
|
+
* **docs:** documentation updates for datasoure to datasource ([c05a7e6](https://github.com/loopbackio/loopback-next/commit/c05a7e6f8b50c2db51a157f94c2b77fbcc8b7406))
|
|
38
|
+
* **docs:** fix document typo from moreved to removed ([468a014](https://github.com/loopbackio/loopback-next/commit/468a01451d5e802ba87b82c3d9d12ac0703d6920))
|
|
39
|
+
* **docs:** fix in docs for typos in bootind and other docs ([2912fa9](https://github.com/loopbackio/loopback-next/commit/2912fa9216af3f107790672f6fa1331065b2ec9d))
|
|
40
|
+
* **docs:** fix in docs of crafting loopback for extensible typo ([ff023d2](https://github.com/loopbackio/loopback-next/commit/ff023d231c8db16910aa830e783f54b94af843dd))
|
|
41
|
+
* **docs:** fix in docs of crafting loopback for typo ([0329dd0](https://github.com/loopbackio/loopback-next/commit/0329dd0479314225d4634bd0e8fa1c9c765a084b))
|
|
42
|
+
* **docs:** fix in docs of crafting loopback for typo ([610f10a](https://github.com/loopbackio/loopback-next/commit/610f10a105f2f9dab23d4344112e7ad52e5ea31a))
|
|
43
|
+
* **docs:** fix in docs of dynamic models for typo ([71a8ab6](https://github.com/loopbackio/loopback-next/commit/71a8ab6ef9e8ff566298221551373b7672404643))
|
|
44
|
+
* **docs:** fix in docs of dynamic models for typo respositories ([e3f295d](https://github.com/loopbackio/loopback-next/commit/e3f295dabe09ca6510ba067721316989b4e7f60d))
|
|
45
|
+
* **docs:** fix in documentation of belongs to relation ([850c5b8](https://github.com/loopbackio/loopback-next/commit/850c5b83ae78e70f12cd32d37958f803a1694ad7))
|
|
46
|
+
* **docs:** fix typo in documentation from begining to beginning ([ca1bd55](https://github.com/loopbackio/loopback-next/commit/ca1bd55c9781b2e9a3527c4d27ef14282afb9bb2))
|
|
47
|
+
* **docs:** middleware sequence document update ([f0875e2](https://github.com/loopbackio/loopback-next/commit/f0875e27b9499f706bf8cf95fe36a02ce2d3a28b))
|
|
48
|
+
* **docs:** model documentation fix for typo ([e7448c7](https://github.com/loopbackio/loopback-next/commit/e7448c7e6818c0a214a90c03b51d2b7907dce032))
|
|
49
|
+
* **docs:** model generator documentation typo fix ([428b357](https://github.com/loopbackio/loopback-next/commit/428b3573488c8e911e8c73f1355d3b54d51456c9))
|
|
50
|
+
* **docs:** passport documentation fix for typo ([8852b0a](https://github.com/loopbackio/loopback-next/commit/8852b0aeeefc6080628ce95ccd17f1bb6a719c8e))
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
# [5.1.0](https://github.com/loopbackio/loopback-next/compare/@loopback/docs@5.0.0...@loopback/docs@5.1.0) (2022-06-13)
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
### Features
|
|
60
|
+
|
|
61
|
+
* **cli:** add option to create relations in cli discover command ([37a5f73](https://github.com/loopbackio/loopback-next/commit/37a5f73ada12b64035ef32b01411c28d72058887))
|
|
62
|
+
* **cli:** add option to mark id field as not required in discover command ([497b21d](https://github.com/loopbackio/loopback-next/commit/497b21d84d970a8dcc714d059108cabdf99d46e0))
|
|
63
|
+
* **rest-crud:** add option to create readonly rest-crud apis ([6ae1423](https://github.com/loopbackio/loopback-next/commit/6ae142302ca61363a357559ba42243bdaf4f7256))
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
|
|
6
69
|
## [5.0.0](https://github.com/loopbackio/loopback-next/compare/@loopback/docs@4.0.4...@loopback/docs@5.0.0) (2022-05-05)
|
|
7
70
|
|
|
8
71
|
|
package/LICENSE
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
Copyright (c) IBM Corp. 2017,2020.
|
|
1
|
+
Copyright (c) IBM Corp. and LoopBack contributors 2017,2020.
|
|
2
2
|
Node module: @loopback/docs
|
|
3
3
|
This project is licensed under the MIT License, full text below.
|
|
4
4
|
|
|
@@ -6,7 +6,7 @@ This project is licensed under the MIT License, full text below.
|
|
|
6
6
|
|
|
7
7
|
MIT License
|
|
8
8
|
|
|
9
|
-
MIT License Copyright (c) IBM Corp. 2017,2020
|
|
9
|
+
MIT License Copyright (c) IBM Corp. and LoopBack contributors 2017,2020
|
|
10
10
|
|
|
11
11
|
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
|
12
12
|
this software and associated documentation files (the "Software"), to deal in
|
package/package.json
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@loopback/docs",
|
|
3
3
|
"description": "Documentation files rendered at [https://loopback.io](https://loopback.io)",
|
|
4
|
-
"version": "5.
|
|
4
|
+
"version": "5.1.2",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"LoopBack",
|
|
7
7
|
"docs"
|
|
8
8
|
],
|
|
9
9
|
"license": "MIT",
|
|
10
|
-
"author": "IBM Corp.",
|
|
11
|
-
"copyright.owner": "IBM Corp.",
|
|
10
|
+
"author": "IBM Corp. and LoopBack contributors",
|
|
11
|
+
"copyright.owner": "IBM Corp. and LoopBack contributors",
|
|
12
12
|
"homepage": "https://github.com/loopbackio/loopback-next/tree/master/docs",
|
|
13
13
|
"repository": {
|
|
14
14
|
"type": "git",
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
"tslib": "^2.4.0"
|
|
37
37
|
},
|
|
38
38
|
"devDependencies": {
|
|
39
|
-
"@loopback/build": "^9.0.
|
|
39
|
+
"@loopback/build": "^9.0.3"
|
|
40
40
|
},
|
|
41
|
-
"gitHead": "
|
|
41
|
+
"gitHead": "296d9a9577fd058d1a2b2386087686cefa65a7a9"
|
|
42
42
|
}
|
|
@@ -319,7 +319,7 @@ In LoopBack 3, the REST APIs for relations were exposed using static methods
|
|
|
319
319
|
with the name following the pattern `__{methodName}__{relationName}__` (e.g.
|
|
320
320
|
`Order.__get__customer`). While we recommend to create a new controller for each
|
|
321
321
|
hasMany relation in LoopBack 4, we also think it's best to use the main CRUD
|
|
322
|
-
controller as the place where to
|
|
322
|
+
controller as the place where to expose `belongsTo` API.
|
|
323
323
|
|
|
324
324
|
## Handling recursive relations
|
|
325
325
|
|
package/site/Context.md
CHANGED
|
@@ -298,7 +298,7 @@ A context event listener should conform to the following signature:
|
|
|
298
298
|
|
|
299
299
|
```ts
|
|
300
300
|
/**
|
|
301
|
-
* Synchronous event listener for the `Context` as
|
|
301
|
+
* Synchronous event listener for the `Context` as an event emitter
|
|
302
302
|
*/
|
|
303
303
|
export type ContextEventListener = (event: ContextEvent) => void;
|
|
304
304
|
```
|
|
@@ -22,7 +22,7 @@ lb4 copyright [options]
|
|
|
22
22
|
The following is an example of such headers.
|
|
23
23
|
|
|
24
24
|
```js
|
|
25
|
-
// Copyright IBM Corp. 2020. All Rights Reserved.
|
|
25
|
+
// Copyright IBM Corp. and LoopBack contributors 2020. All Rights Reserved.
|
|
26
26
|
// Node module: @loopback/cli
|
|
27
27
|
// This file is licensed under the MIT License.
|
|
28
28
|
// License text available at https://opensource.org/licenses/MIT
|
|
@@ -35,7 +35,8 @@ Please note the command expects `git` is installed.
|
|
|
35
35
|
|
|
36
36
|
### Options
|
|
37
37
|
|
|
38
|
-
`--owner` : _(Optional)_ The owner of the copyright, such as
|
|
38
|
+
`--owner` : _(Optional)_ The owner of the copyright, such as
|
|
39
|
+
`IBM Corp. and LoopBack contributors`.
|
|
39
40
|
|
|
40
41
|
`--license` : _(Optional)_ The name of the license, such as `MIT`.
|
|
41
42
|
|
|
@@ -74,15 +75,15 @@ The command prompts you for:
|
|
|
74
75
|
directory of your package, its content will be read as the license header
|
|
75
76
|
template without prompting.
|
|
76
77
|
|
|
77
|
-
The default owner is `IBM Corp
|
|
78
|
-
`package.json`.
|
|
78
|
+
The default owner is `IBM Corp. and LoopBack contributors` and license is `MIT`
|
|
79
|
+
with the following `package.json`.
|
|
79
80
|
|
|
80
81
|
```json
|
|
81
82
|
{
|
|
82
83
|
"name": "@loopback/boot",
|
|
83
84
|
"version": "2.0.2",
|
|
84
|
-
"author": "IBM Corp.",
|
|
85
|
-
"copyright.owner": "IBM Corp.",
|
|
85
|
+
"author": "IBM Corp. and LoopBack contributors",
|
|
86
|
+
"copyright.owner": "IBM Corp. and LoopBack contributors",
|
|
86
87
|
"license": "MIT"
|
|
87
88
|
}
|
|
88
89
|
```
|
|
@@ -93,7 +94,7 @@ The following output is captured when `lb4 copyright` is run against
|
|
|
93
94
|
[`loopback4-example-shopping`](https://github.com/loopbackio/loopback4-example-shopping).
|
|
94
95
|
|
|
95
96
|
```
|
|
96
|
-
? Copyright owner: IBM Corp.
|
|
97
|
+
? Copyright owner: IBM Corp. and LoopBack contributors
|
|
97
98
|
? License name: (Use arrow keys or type to search)
|
|
98
99
|
❯ MIT (MIT License)
|
|
99
100
|
ISC (ISC License)
|
|
@@ -50,7 +50,7 @@ LoopBack fits into a typical end-to-end API processing flow.
|
|
|
50
50
|

|
|
51
51
|
|
|
52
52
|
LoopBack has grown significantly in features and users with many years of
|
|
53
|
-
development and multiple releases. LoopBack has been well-
|
|
53
|
+
development and multiple releases. LoopBack has been well-received by the
|
|
54
54
|
developer community. As an indication, the community has developed
|
|
55
55
|
[many extensions](https://github.com/pasindud/awesome-loopback). The core team
|
|
56
56
|
has also learned a lot from what we have done as well as great feedback from the
|
|
@@ -434,8 +434,8 @@ its vast ecosystem.
|
|
|
434
434
|
Some of the gaps between what Express offers and LoopBack's needs are:
|
|
435
435
|
|
|
436
436
|
- Lack of extensibility
|
|
437
|
-
> Express is only
|
|
438
|
-
>
|
|
437
|
+
> Express is only extensible via middleware. It neither exposes a registry nor
|
|
438
|
+
> provides APIs to manage artifacts such as middleware or routers.
|
|
439
439
|
- Lack of composability
|
|
440
440
|
> Express is not composable. For example, `app.use()` is the only way to
|
|
441
441
|
> register a middleware. The order of middleware is determined by the order of
|
package/site/DEVELOPING.md
CHANGED
|
@@ -679,12 +679,12 @@ to preserve backward compatibility.
|
|
|
679
679
|
However, we do recognize that often a breaking change is the most sensible thing
|
|
680
680
|
to do. When that time comes:
|
|
681
681
|
|
|
682
|
-
- Describe
|
|
682
|
+
- Describe incompatibilities for release notes
|
|
683
683
|
- Look for more breaking changes to include in the release: search for comments
|
|
684
684
|
containing `TODO(semver-major)` and `@deprecated`.
|
|
685
685
|
- Update list of supported versions
|
|
686
686
|
|
|
687
|
-
### Describe
|
|
687
|
+
### Describe incompatibilities for release notes
|
|
688
688
|
|
|
689
689
|
In the pull request introducing the breaking change, provide a descriptive
|
|
690
690
|
[footer](#footer-optional) explaining the breaking change to our users. This
|
|
@@ -39,6 +39,8 @@ Models can be discovered from a supported datasource by running the
|
|
|
39
39
|
|
|
40
40
|
`--views`: Choose whether to discover views. Default is true
|
|
41
41
|
|
|
42
|
+
`--relations`: Choose whether to create relations. Default is false
|
|
43
|
+
|
|
42
44
|
`--all`: Skips the model prompt and discovers all of them
|
|
43
45
|
|
|
44
46
|
`--outDir`: Specify the directory into which the `model.model.ts` files will be
|
|
@@ -47,6 +49,9 @@ placed. Default is `src/models`
|
|
|
47
49
|
`--schema`: Specify the schema which the datasource will find the models to
|
|
48
50
|
discover
|
|
49
51
|
|
|
52
|
+
`--optionalId`: Specify if the Id property of generated models will be marked as
|
|
53
|
+
not required
|
|
54
|
+
|
|
50
55
|
### Interactive Prompts
|
|
51
56
|
|
|
52
57
|
Based on the option, the tool may prompt you for:
|
|
@@ -75,8 +75,8 @@ const bookDef = new ModelDefinition({
|
|
|
75
75
|
|
|
76
76
|
A LoopBack model class is created by passing a `ModelDefinition` object to
|
|
77
77
|
`@loopback/repository`'s helper function `defineModelClass()`. It expects a base
|
|
78
|
-
model to extend (typically `Model` or `Entity`),
|
|
79
|
-
object. In this case it will be `Entity`.
|
|
78
|
+
model to extend (typically `Model` or `Entity`), followed by the model
|
|
79
|
+
definition object. In this case it will be `Entity`.
|
|
80
80
|
|
|
81
81
|
```ts
|
|
82
82
|
const BookModel = defineModelClass<typeof Entity, {id: number; title?: string}>(
|
|
@@ -7,7 +7,7 @@ permalink: /doc/en/lb4/Implementing-features.html
|
|
|
7
7
|
---
|
|
8
8
|
|
|
9
9
|
{% include previous.html content=" This article continues from \[Defining your
|
|
10
|
-
testing
|
|
10
|
+
testing strategy(./Defining-your-testing-strategy.md).
|
|
11
11
|
" %}
|
|
12
12
|
|
|
13
13
|
## Incrementally implement features
|
package/site/Include-filter.md
CHANGED
|
@@ -286,7 +286,7 @@ await postRepository.findById('123', {
|
|
|
286
286
|
|
|
287
287
|
{% include important.html content="The `limit` filter will be applied on a per parent record basis. So each parent record will include a max of `limit` number of records.
|
|
288
288
|
Previously, we had a bug where `limit` will be applied globally, so not all parent's records will include related objects depending on the `limit` value.
|
|
289
|
-
To keep backward
|
|
289
|
+
To keep backward compatibility with this, in the weird case it is needed, you can use `totalLimit` instead. For more details [see here](https://github.com/loopbackio/loopback-next/issues/6832)
|
|
290
290
|
" %}
|
|
291
291
|
|
|
292
292
|
#### Access included objects
|
|
@@ -118,7 +118,7 @@ import {
|
|
|
118
118
|
} from '@loopback/core';
|
|
119
119
|
|
|
120
120
|
/**
|
|
121
|
-
* This class will be bound to the application as a global `Interceptor` during
|
|
121
|
+
* This class will be bound to the application as a non-global `Interceptor` during
|
|
122
122
|
* `boot`
|
|
123
123
|
*/
|
|
124
124
|
@injectable({tags: {key: TestInterceptor.BINDING_KEY}})
|
|
@@ -43,7 +43,7 @@ methods.
|
|
|
43
43
|
[#1293](https://github.com/loopbackio/loopback-next/issues/1293)
|
|
44
44
|
and
|
|
45
45
|
[#2035](https://github.com/loopbackio/loopback-next/issues/2035)
|
|
46
|
-
to track the progress on supporting Express
|
|
46
|
+
to track the progress on supporting Express middleware in LoopBack 4." %}
|
|
47
47
|
|
|
48
48
|
If you want to mount an Express router in a LoopBack 4 application, you can use
|
|
49
49
|
the
|
|
@@ -351,7 +351,7 @@ export class ExampleController {
|
|
|
351
351
|
```
|
|
352
352
|
|
|
353
353
|
Similarly, the request and response objects can be injected into services and
|
|
354
|
-
|
|
354
|
+
repositories along with other objects from the [context](./Context.md).
|
|
355
355
|
|
|
356
356
|
It may be tempting to use an Express router (because of familiarity) instead of
|
|
357
357
|
a controller to add custom endpoints to the application, but bear it in mind
|
|
@@ -475,7 +475,7 @@ async create(book: Book, options?: Options): Promise<Book> {
|
|
|
475
475
|
}
|
|
476
476
|
```
|
|
477
477
|
|
|
478
|
-
Similarly, various other repository methods in LoopBack 4 can be
|
|
478
|
+
Similarly, various other repository methods in LoopBack 4 can be overridden to
|
|
479
479
|
access the model data in the context of their operation.
|
|
480
480
|
|
|
481
481
|
{% include tip.html content="
|
|
@@ -485,6 +485,6 @@ may also be used to access the user submitted data in some cases." %}
|
|
|
485
485
|
## Summary
|
|
486
486
|
|
|
487
487
|
The phase-based middleware chain of LoopBack 3 is replaced by the sequence class
|
|
488
|
-
in LoopBack 4. Controllers, services, and
|
|
488
|
+
in LoopBack 4. Controllers, services, and repositories are part of the
|
|
489
489
|
request/response cycle in LoopBack 4; they provide interfaces and points of
|
|
490
490
|
access to the request object, the response object, and the model data.
|
package/site/Model-generator.md
CHANGED
|
@@ -47,7 +47,7 @@ The tool will prompt you for:
|
|
|
47
47
|
- For more information, see
|
|
48
48
|
[here](https://loopback.io/doc/en/lb4/Model.html#overview).
|
|
49
49
|
|
|
50
|
-
- **Allow
|
|
50
|
+
- **Allow additional properties.** _(allowAdditionalProperties)_ Defaults to
|
|
51
51
|
**false**. To allow arbitrary properties in addition to well-defined
|
|
52
52
|
properties, disable strict mode.
|
|
53
53
|
|
package/site/Model.md
CHANGED
|
@@ -146,7 +146,7 @@ export class Customer {
|
|
|
146
146
|
## Common Tasks
|
|
147
147
|
|
|
148
148
|
- [Define models at runtime](Creating-model-runtime.md)
|
|
149
|
-
- [Discover models from databases](
|
|
149
|
+
- [Discover models from databases](Discovering-models.md)
|
|
150
150
|
|
|
151
151
|
## Model Metadata
|
|
152
152
|
|
|
@@ -814,7 +814,7 @@ explicitly either on the property itself or via the `type` option of the
|
|
|
814
814
|
property decorator. Aliased types or types that extracted from a class or
|
|
815
815
|
interface (e.g. `public name: OtherClass['otherProperty']`) will not work
|
|
816
816
|
properly and will result in the property type being resolved as an empty object
|
|
817
|
-
rather than the intended type in the generated OpenAPI
|
|
817
|
+
rather than the intended type in the generated OpenAPI specification. This is due
|
|
818
818
|
to a limitation and flaw in the way TypeScript currently generates the metadata
|
|
819
819
|
that is used to generate the OpenAPI specification for the application." %}
|
|
820
820
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
lang: en
|
|
3
|
-
title: 'Polymorphic
|
|
3
|
+
title: 'Polymorphic Relation'
|
|
4
4
|
keywords: LoopBack 4.0, LoopBack 4, Node.js, TypeScript, OpenAPI, Model Relation
|
|
5
5
|
sidebar: lb4_sidebar
|
|
6
6
|
permalink: /doc/en/lb4/Polymorphic-relation.html
|
|
@@ -62,7 +62,7 @@ deliverable_type: string;
|
|
|
62
62
|
|
|
63
63
|
The only difference on the repository class is that instead of having a single
|
|
64
64
|
repository getter, a dictionary of subclass repository getters is passed into
|
|
65
|
-
the repository factory
|
|
65
|
+
the repository factory creator.
|
|
66
66
|
|
|
67
67
|
```javascript
|
|
68
68
|
export class DeliveryRepository extends DefaultCrudRepository {
|
|
@@ -62,7 +62,7 @@ export class TodoListApplication extends BootMixin(
|
|
|
62
62
|
}
|
|
63
63
|
```
|
|
64
64
|
|
|
65
|
-
The
|
|
65
|
+
The middleware-based sequence itself is basically a named middleware chain. Each
|
|
66
66
|
middleware serves as an action within the sequence. The `handle` function
|
|
67
67
|
executes registered middleware in cascading fashion.
|
|
68
68
|
|
|
@@ -62,7 +62,7 @@ model already created in their respective directories.
|
|
|
62
62
|
|
|
63
63
|
### Arguments
|
|
64
64
|
|
|
65
|
-
`<name>` - Optional argument
|
|
65
|
+
`<name>` - Optional argument specifying the repository name to be generated. In
|
|
66
66
|
case you select multiple models, the first model will take this argument for its
|
|
67
67
|
repository file name.
|
|
68
68
|
|
|
@@ -91,7 +91,7 @@ The tool will prompt you for:
|
|
|
91
91
|
- **Please select the repository base class.** _(repository)_ if the name of a
|
|
92
92
|
valid base class has been supplied from the command line, the prompt is
|
|
93
93
|
skipped, otherwise it will present you a list of repositories. The default
|
|
94
|
-
repository is
|
|
94
|
+
repository is inferred from the datasource type.
|
|
95
95
|
|
|
96
96
|
Any repository in the `src/repository` folder with the file format
|
|
97
97
|
`*.repository.base.ts` will be added to the list too.
|
package/site/Repository.md
CHANGED
|
@@ -105,7 +105,7 @@ When a `DataSource` is instantiated, the configuration properties will be used
|
|
|
105
105
|
to initialize the connector to connect to the backend system. You can define a
|
|
106
106
|
DataSource using Juggler in your LoopBack 4 app as follows:
|
|
107
107
|
|
|
108
|
-
{% include code-caption.html content="src/
|
|
108
|
+
{% include code-caption.html content="src/datasources/db.datasource.ts" %}
|
|
109
109
|
|
|
110
110
|
```ts
|
|
111
111
|
import {juggler} from '@loopback/repository';
|
|
@@ -13,7 +13,7 @@ the APIs that create the endpoints on the server. We will then follow the path
|
|
|
13
13
|
taken by a request, to see how it makes its way through the various parts of the
|
|
14
14
|
framework to return a result.
|
|
15
15
|
|
|
16
|
-
### Setting up the request/response
|
|
16
|
+
### Setting up the request/response infrastructure
|
|
17
17
|
|
|
18
18
|
The endpoints on a LoopBack app can be categorized into controller endpoints and
|
|
19
19
|
non-controller endpoints. Controller endpoints are those that are created by
|
|
@@ -30,7 +30,7 @@ controller method.
|
|
|
30
30
|
{% include tip.html content="Apart from controller files in the `controllers` directory,
|
|
31
31
|
controllers may be added to the app by [components](https://loopback.io/doc/en/lb4/Components.html)." %}
|
|
32
32
|
|
|
33
|
-
In the request/response cycle section we will see how
|
|
33
|
+
In the request/response cycle section we will see how implementation details
|
|
34
34
|
determine the course of a request to these endpoints - they may or may not
|
|
35
35
|
actually interact with a model.
|
|
36
36
|
|
|
@@ -116,7 +116,7 @@ route for invocation.
|
|
|
116
116
|
##### 2. ParseParams
|
|
117
117
|
|
|
118
118
|
[ParseParams](https://loopback.io/doc/en/lb4/apidocs.rest.parseparamsprovider.html)
|
|
119
|
-
parses LoopBack-relevant request
|
|
119
|
+
parses LoopBack-relevant request parameters from the request body, URL segment,
|
|
120
120
|
and query parameters.
|
|
121
121
|
|
|
122
122
|
It is also responsible for validating the property types of the request body, as
|
|
@@ -127,7 +127,7 @@ HTTP 422 error.
|
|
|
127
127
|
|
|
128
128
|
[InvokeMethod](https://loopback.io/doc/en/lb4/apidocs.rest.invokemethodprovider.html)
|
|
129
129
|
is responsible for calling the endpoint handler, passing in the route found by
|
|
130
|
-
`FindRoute` and the
|
|
130
|
+
`FindRoute` and the parameters found by `ParseParams`.
|
|
131
131
|
|
|
132
132
|
For non-controller endpoints, control is passed on to the respective handlers at
|
|
133
133
|
this stage, which may then handle the response sending process themselves. For
|
|
@@ -234,8 +234,8 @@ use them.
|
|
|
234
234
|
between controllers and the data. They use an underlying datasource and a
|
|
235
235
|
connector to interact with the data.
|
|
236
236
|
|
|
237
|
-
Controller methods can call corresponding methods in the
|
|
238
|
-
|
|
237
|
+
Controller methods can call corresponding methods in the repository to read from
|
|
238
|
+
or write to the database.
|
|
239
239
|
|
|
240
240
|
Repositories can be injected in the controller constructor so controller methods
|
|
241
241
|
may use them.
|
|
@@ -27,6 +27,8 @@ src/datasources
|
|
|
27
27
|
|
|
28
28
|
`--basePath` : _(Optional)_ base path of the model endpoint
|
|
29
29
|
|
|
30
|
+
`--readonly` : _(Optional)_ create readonly APIs e.g find and count
|
|
31
|
+
|
|
30
32
|
### Configuration file
|
|
31
33
|
|
|
32
34
|
This generator supports a config file with the following format, see the
|
|
@@ -37,7 +39,8 @@ file.
|
|
|
37
39
|
{
|
|
38
40
|
"datasource": "validDataSourceName",
|
|
39
41
|
"model": "validModelName",
|
|
40
|
-
"basePath": "/<base-path>"
|
|
42
|
+
"basePath": "/<base-path>",
|
|
43
|
+
"readonly": "<boolean>"
|
|
41
44
|
}
|
|
42
45
|
```
|
|
43
46
|
|
|
@@ -74,6 +77,9 @@ The tool will prompt you for:
|
|
|
74
77
|
supplied from the command line with `--basePath` option or more than one
|
|
75
78
|
models are selected, the prompt is skipped.
|
|
76
79
|
|
|
80
|
+
- **Create readonly APIs.** _(readonly)_ If readonly had been supplied from the
|
|
81
|
+
command line with `--readonly` option, the prompt is skipped.
|
|
82
|
+
|
|
77
83
|
### Output
|
|
78
84
|
|
|
79
85
|
Once all the prompts have been answered, the CLI will do the following for each
|
|
@@ -43,7 +43,7 @@ export class TodoListApplication extends BootMixin(
|
|
|
43
43
|
```
|
|
44
44
|
|
|
45
45
|
You can call `app.static()` multiple times to configure the app to serve static
|
|
46
|
-
assets from different
|
|
46
|
+
assets from different directories.
|
|
47
47
|
|
|
48
48
|
```ts
|
|
49
49
|
app.static('/files', path.join(__dirname, 'files'));
|
|
@@ -970,7 +970,7 @@ describe('Product (acceptance)', () => {
|
|
|
970
970
|
await app.boot();
|
|
971
971
|
|
|
972
972
|
// change to use the test datasource after the app has been booted so that
|
|
973
|
-
// it is not
|
|
973
|
+
// it is not overridden
|
|
974
974
|
app.dataSource(testdb);
|
|
975
975
|
await app.start();
|
|
976
976
|
|
|
@@ -18,7 +18,7 @@ permalink: /doc/en/lb4/apidocs.authentication-jwt.myuserservice.html
|
|
|
18
18
|
```typescript
|
|
19
19
|
export declare class MyUserService implements UserService<User, Credentials>
|
|
20
20
|
```
|
|
21
|
-
<b>Implements:</b> [UserService](./authentication.userservice.md)<!-- --><[User](./authentication-jwt.user.md)<!-- -->, [Credentials](./authentication-jwt.credentials.md)
|
|
21
|
+
<b>Implements:</b> [UserService](./authentication.userservice.md)<!-- --><[User](./authentication-jwt.user.md)<!-- -->, [Credentials](./authentication-jwt.credentials.md)<!-- -->>
|
|
22
22
|
|
|
23
23
|
## Constructors
|
|
24
24
|
|
|
@@ -18,7 +18,7 @@ permalink: /doc/en/lb4/apidocs.authentication-jwt.refreshtokenrepository.html
|
|
|
18
18
|
```typescript
|
|
19
19
|
export declare class RefreshTokenRepository extends DefaultCrudRepository<RefreshToken, typeof RefreshToken.prototype.id, RefreshTokenRelations>
|
|
20
20
|
```
|
|
21
|
-
<b>Extends:</b> [DefaultCrudRepository](./repository.defaultcrudrepository.md)<!-- --><[RefreshToken](./authentication-jwt.refreshtoken.md)<!-- -->, typeof [RefreshToken.prototype.id](./authentication-jwt.refreshtoken.id.md)<!-- -->, [RefreshTokenRelations](./authentication-jwt.refreshtokenrelations.md)
|
|
21
|
+
<b>Extends:</b> [DefaultCrudRepository](./repository.defaultcrudrepository.md)<!-- --><[RefreshToken](./authentication-jwt.refreshtoken.md)<!-- -->, typeof [RefreshToken.prototype.id](./authentication-jwt.refreshtoken.id.md)<!-- -->, [RefreshTokenRelations](./authentication-jwt.refreshtokenrelations.md)<!-- -->>
|
|
22
22
|
|
|
23
23
|
## Constructors
|
|
24
24
|
|
|
@@ -18,7 +18,7 @@ permalink: /doc/en/lb4/apidocs.authentication-jwt.usercredentialsrepository.html
|
|
|
18
18
|
```typescript
|
|
19
19
|
export declare class UserCredentialsRepository extends DefaultCrudRepository<UserCredentials, typeof UserCredentials.prototype.id, UserCredentialsRelations>
|
|
20
20
|
```
|
|
21
|
-
<b>Extends:</b> [DefaultCrudRepository](./repository.defaultcrudrepository.md)<!-- --><[UserCredentials](./authentication-jwt.usercredentials.md)<!-- -->, typeof [UserCredentials.prototype.id](./authentication-jwt.usercredentials.id.md)<!-- -->, [UserCredentialsRelations](./authentication-jwt.usercredentialsrelations.md)
|
|
21
|
+
<b>Extends:</b> [DefaultCrudRepository](./repository.defaultcrudrepository.md)<!-- --><[UserCredentials](./authentication-jwt.usercredentials.md)<!-- -->, typeof [UserCredentials.prototype.id](./authentication-jwt.usercredentials.id.md)<!-- -->, [UserCredentialsRelations](./authentication-jwt.usercredentialsrelations.md)<!-- -->>
|
|
22
22
|
|
|
23
23
|
## Constructors
|
|
24
24
|
|
|
@@ -18,7 +18,7 @@ permalink: /doc/en/lb4/apidocs.authentication-jwt.userrepository.html
|
|
|
18
18
|
```typescript
|
|
19
19
|
export declare class UserRepository extends DefaultCrudRepository<User, typeof User.prototype.id, UserRelations>
|
|
20
20
|
```
|
|
21
|
-
<b>Extends:</b> [DefaultCrudRepository](./repository.defaultcrudrepository.md)<!-- --><[User](./authentication-jwt.user.md)<!-- -->, typeof [User.prototype.id](./authentication-jwt.user.id.md)<!-- -->, [UserRelations](./authentication-jwt.userrelations.md)
|
|
21
|
+
<b>Extends:</b> [DefaultCrudRepository](./repository.defaultcrudrepository.md)<!-- --><[User](./authentication-jwt.user.md)<!-- -->, typeof [User.prototype.id](./authentication-jwt.user.id.md)<!-- -->, [UserRelations](./authentication-jwt.userrelations.md)<!-- -->>
|
|
22
22
|
|
|
23
23
|
## Constructors
|
|
24
24
|
|
|
@@ -30,8 +30,8 @@ export declare class UserRepository extends DefaultCrudRepository<User, typeof U
|
|
|
30
30
|
|
|
31
31
|
| Property | Modifiers | Type | Description |
|
|
32
32
|
| --- | --- | --- | --- |
|
|
33
|
-
| [userCredentials](./authentication-jwt.userrepository.usercredentials.md) |
|
|
34
|
-
| [userCredentialsRepositoryGetter](./authentication-jwt.userrepository.usercredentialsrepositorygetter.md) |
|
|
33
|
+
| [userCredentials](./authentication-jwt.userrepository.usercredentials.md) | <code>readonly</code> | [HasOneRepositoryFactory](./repository.hasonerepositoryfactory.md)<!-- --><[UserCredentials](./authentication-jwt.usercredentials.md)<!-- -->, typeof [User.prototype.id](./authentication-jwt.user.id.md)<!-- -->> | |
|
|
34
|
+
| [userCredentialsRepositoryGetter](./authentication-jwt.userrepository.usercredentialsrepositorygetter.md) | <code>protected</code> | [Getter](./context.getter.md)<!-- --><[UserCredentialsRepository](./authentication-jwt.usercredentialsrepository.md)<!-- -->> | |
|
|
35
35
|
|
|
36
36
|
## Methods
|
|
37
37
|
|
|
@@ -32,7 +32,7 @@ export declare class StrategyAdapter<U> implements AuthenticationStrategy
|
|
|
32
32
|
|
|
33
33
|
| Property | Modifiers | Type | Description |
|
|
34
34
|
| --- | --- | --- | --- |
|
|
35
|
-
| [name](./authentication-passport.strategyadapter.name.md) |
|
|
35
|
+
| [name](./authentication-passport.strategyadapter.name.md) | <code>readonly</code> | string | |
|
|
36
36
|
|
|
37
37
|
## Methods
|
|
38
38
|
|
|
@@ -20,7 +20,7 @@ Provides the authentication action for a sequence
|
|
|
20
20
|
```typescript
|
|
21
21
|
export declare class AuthenticateActionProvider implements Provider<AuthenticateFn>
|
|
22
22
|
```
|
|
23
|
-
<b>Implements:</b> [Provider](./context.provider.md)<!-- --><[AuthenticateFn](./authentication.authenticatefn.md)
|
|
23
|
+
<b>Implements:</b> [Provider](./context.provider.md)<!-- --><[AuthenticateFn](./authentication.authenticatefn.md)<!-- -->>
|
|
24
24
|
|
|
25
25
|
## Example
|
|
26
26
|
|
|
@@ -39,10 +39,10 @@ context.bind('authentication.actions.authenticate').toProvider(AuthenticateActio
|
|
|
39
39
|
|
|
40
40
|
| Property | Modifiers | Type | Description |
|
|
41
41
|
| --- | --- | --- | --- |
|
|
42
|
-
| [getStrategies](./authentication.authenticateactionprovider.getstrategies.md) |
|
|
43
|
-
| [setCurrentUser](./authentication.authenticateactionprovider.setcurrentuser.md) |
|
|
44
|
-
| [setRedirectStatus](./authentication.authenticateactionprovider.setredirectstatus.md) |
|
|
45
|
-
| [setRedirectUrl](./authentication.authenticateactionprovider.setredirecturl.md) |
|
|
42
|
+
| [getStrategies](./authentication.authenticateactionprovider.getstrategies.md) | <code>readonly</code> | [Getter](./context.getter.md)<!-- --><[AuthenticationStrategy](./authentication.authenticationstrategy.md) \| [AuthenticationStrategy](./authentication.authenticationstrategy.md)<!-- -->\[\] \| undefined> | |
|
|
43
|
+
| [setCurrentUser](./authentication.authenticateactionprovider.setcurrentuser.md) | <code>readonly</code> | [Setter](./context.setter.md)<!-- --><[UserProfile](./security.userprofile.md)<!-- -->> | |
|
|
44
|
+
| [setRedirectStatus](./authentication.authenticateactionprovider.setredirectstatus.md) | <code>readonly</code> | [Setter](./context.setter.md)<!-- --><number> | |
|
|
45
|
+
| [setRedirectUrl](./authentication.authenticateactionprovider.setredirecturl.md) | <code>readonly</code> | [Setter](./context.setter.md)<!-- --><string> | |
|
|
46
46
|
|
|
47
47
|
## Methods
|
|
48
48
|
|
|
@@ -23,10 +23,10 @@ export interface AuthenticationMetadata
|
|
|
23
23
|
|
|
24
24
|
## Properties
|
|
25
25
|
|
|
26
|
-
| Property | Type | Description |
|
|
27
|
-
| --- | --- | --- |
|
|
28
|
-
| [options?](./authentication.authenticationmetadata.options.md) | { \[name: string\]: any; } | <i>(Optional)</i> Options for the authentication strategy |
|
|
29
|
-
| [skip?](./authentication.authenticationmetadata.skip.md) | boolean | <i>(Optional)</i> A flag to skip authentication |
|
|
30
|
-
| [strategy](./authentication.authenticationmetadata.strategy.md) | string | Name of the authentication strategy |
|
|
26
|
+
| Property | Modifiers | Type | Description |
|
|
27
|
+
| --- | --- | --- | --- |
|
|
28
|
+
| [options?](./authentication.authenticationmetadata.options.md) | | { \[name: string\]: any; } | <i>(Optional)</i> Options for the authentication strategy |
|
|
29
|
+
| [skip?](./authentication.authenticationmetadata.skip.md) | | boolean | <i>(Optional)</i> A flag to skip authentication |
|
|
30
|
+
| [strategy](./authentication.authenticationmetadata.strategy.md) | | string | Name of the authentication strategy |
|
|
31
31
|
|
|
32
32
|
|
|
@@ -18,7 +18,7 @@ permalink: /doc/en/lb4/apidocs.authentication.authenticationmiddlewareprovider.h
|
|
|
18
18
|
```typescript
|
|
19
19
|
export declare class AuthenticationMiddlewareProvider implements Provider<Middleware>
|
|
20
20
|
```
|
|
21
|
-
<b>Implements:</b> [Provider](./context.provider.md)<!-- --><[Middleware](./express.middleware.md)
|
|
21
|
+
<b>Implements:</b> [Provider](./context.provider.md)<!-- --><[Middleware](./express.middleware.md)<!-- -->>
|
|
22
22
|
|
|
23
23
|
## Constructors
|
|
24
24
|
|