Une API TypeScript pour uploader des fichiers sur gofile.io, conçue avec les principes de clean code et clean architecture.
- Upload de fichiers vers gofile.io
- Support TypeScript complet
- Architecture propre et modulaire
- Gestion d'erreurs robuste
- Zéro dépendance externe
npm install
npm run buildimport { GofileAPI } from "./dist/index.js";
const api = new GofileAPI({});import { GofileAPI } from "./dist/index.js";
import { readFile } from "fs/promises";
const api = new GofileAPI({});
// Lire un fichier depuis le système de fichiers
const fileBuffer = await readFile("./path/to/your/file.jpg");
// Upload du fichier
const result = await api.uploadFile(fileBuffer, "my-file.jpg", "YOUR_TOKEN");
if (result.success) {
console.log("Lien de téléchargement:", result.downloadPage);
} else {
console.error("Erreur:", result.error);
}const result = await api.uploadFileToFolder(fileBuffer, "my-file.jpg");Le projet suit les principes de clean architecture :
src/
├── types/ # Types et interfaces TypeScript
├── interfaces/ # Ports (contrats d'interface)
├── repositories/ # Adapters (implémentations)
├── services/ # Use cases (logique métier)
├── utils/ # Utilitaires
├── index.ts # Point d'entrée principal
└── example.ts # Exemple d'utilisation
- Domain Layer (
types/) : Entités et types métier - Application Layer (
services/) : Cas d'usage et logique métier - Infrastructure Layer (
repositories/) : Implémentations concrètes - Interface Layer (
index.ts) : API publique
npm run build # Compile TypeScript vers JavaScript
npm run example # Lance l'exempleVoir src/example.ts pour un exemple détaillé d'utilisation.
Ce projet suit les principes du clean code :
- Single Responsibility Principle : Chaque classe a une responsabilité unique
- Dependency Inversion : Les dépendances sont injectées via les interfaces
- Interface Segregation : Interfaces spécifiques et cohésives
- Don't Repeat Yourself : Code réutilisable et modulaire
ISC License