loopbackio / loopbackio/loopback-next

Model type "buffer" is not working

Ouverte
#8,560 0 commentaires 3 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

bug
Langage dominant
TypeScript
Étoiles
5.1k
Forks
1.1k
Merge moyen
2 j 21 h
PR mergées (30 j)
27

Description

### Describe the bug

Getting below error after creating model with **buffer** type property.

> Request POST /tests failed with status code 500. Error: type must be JSONType or JSONType[]: buffer

**Model Property** (Entity):
`@property({
type: 'buffer',
})
image?: Buffer;
`
Steps to reproduce:
1. Create new app: lb4 app
2. Add new model with buffer type property (not required field): lb4 model
3. Add any type of db: lb4 datasource
4. Create repository: lb4 repository
5. Create controller with all CRUD operations: lb4 controller
6. Test POST request on explorer

### Logs

```shell
Request POST /tests failed with status code 500. Error: type must be JSONType or JSONType[]: buffer
at getJSONTypes (/Users/shailendrasingh/Documents/workspace/testapp/node_modules/ajv/lib/compile/validate/dataType.ts:36:9)
at getSchemaTypes (/Users/shailendrasingh/Documents/workspace/testapp/node_modules/ajv/lib/compile/validate/dataType.ts:20:17)
at typeAndKeywords (/Users/shailendrasingh/Documents/workspace/testapp/node_modules/ajv/lib/compile/validate/index.ts:159:31)
at subSchemaObjCode (/Users/shailendrasingh/Documents/workspace/testapp/node_modules/ajv/lib/compile/validate/index.ts:147:3)
at subschemaCode (/Users/shailendrasingh/Documents/workspace/testapp/node_modules/ajv/lib/compile/validate/index.ts:124:7)
at KeywordCxt.subschema (/Users/shailendrasingh/Documents/workspace/testapp/node_modules/ajv/lib/compile/validate/index.ts:491:5)
at applyPropertySchema (/Users/shailendrasingh/Documents/workspace/testapp/node_modules/ajv/lib/vocabularies/applicator/properties.ts:45:11)
at Object.code (/Users/shailendrasingh/Documents/workspace/testapp/node_modules/ajv/lib/vocabularies/applicator/properties.ts:32:9)
at keywordCode (/Users/shailendrasingh/Documents/workspace/testapp/node_modules/ajv/lib/compile/validate/index.ts:523:9)
at /Users/shailendrasingh/Documents/workspace/testapp/node_modules/ajv/lib/compile/validate/index.ts:265:9
at CodeGen.code (/Users/shailendrasingh/Documents/workspace/testapp/node_modules/ajv/lib/compile/codegen/index.ts:525:33)
at CodeGen.block (/Users/shailendrasingh/Documents/workspace/testapp/node_modules/ajv/lib/compile/codegen/index.ts:680:20)
at iterateKeywords (/Users/shailendrasingh/Documents/workspace/testapp/node_modules/ajv/lib/compile/validate/index.ts:262:7)
at groupKeywords (/Users/shailendrasingh/Documents/workspace/testapp/node_modules/ajv/lib/compile/validate/index.ts:241:7)
at /Users/shailendrasingh/Documents/workspace/testapp/node_modules/ajv/lib/compile/validate/index.ts:233:38
at CodeGen.code (/Users/shailendrasingh/Documents/workspace/testapp/node_modules/ajv/lib/compile/codegen/index.ts:525:33)
```

### Additional information

_No response_

### Reproduction

https://github.com/shailendramonu/testlb4app

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Ouvrez la reproduction liée et recréez le model, datasource, repository, controller généré ainsi que la requête POST décrite dans l’issue. Suivez le chemin de validation qui rejette la propriété Buffer facultative du model, puis ajoutez une couverture montrant que la requête POST n’échoue plus avec l’erreur AJV JSONType.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
nodejs, typescript
Domaine
api, backend
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.