loopbackio / loopbackio/loopback-next

Storage component

Ouverte
#4,854 3 commentaires 3 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

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

Description

## Suggestion
Hello i'm writting a new component called Storage under /packages/storage folder and i want to know if you're okay with my implementation.

## Use Cases
For store files, images, videos. providers could be added through extensions thanks to Storage extension point.

## Examples
```ts

// application.ts
import { StorageComponent } from '@loopback/storage'
import { S3Storage } from '@loopback/storage-s3'

export class App extends Application {
constructor(opt: ApplicationConfig = {}) {
super(options);
this.component(StorageComponent)
app.add(createBindingFromClass(S3Storage))
}
}
// controller
import { StorageService } from '@loopback/storage'
import { LOCAL_STORAGE } from '@loopback/storage-local' // could be @loopback/storage-s3 or @loopback/storage-gcs

class UploadController {
constructor(
@service()
public storageService: StorageService,
) {}

async upload() {
// here LOCAL_STORAGE provide a key and type signatures for that provider
await this.storageService.create(LOCAL_STORAGE, {
filename: '/tmp/test.txt',
content: new Buffer(10)
});
}
}```

## Acceptance criteria

TBD - will be filled by the team.

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

Commencez par examiner la proposition concernant le nouveau composant /packages/storage et ses exemples d’utilisation de TypeScript. L’issue ne nomme aucun fichier d’implémentation ni aucun test, et ses critères d’acceptation sont encore TBD ; le travail n’est donc pas prêt à commencer tant que l’équipe n’a pas défini le point d’extension du provider, les opérations de stockage prises en charge et les vérifications d’achèvement.

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

Évaluation

Stack technique
typescript
Domaine
backend
Type d'issue
Fonctionnalité
Difficulté
5/5
Temps estimé
Plus d'une semaine
Activité
À l'abandon
Clarté
À clarifier
Accessibilité débutants
15/100

Recevez les nouvelles issues par e-mail

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