Un outil en ligne de commande (CLI) pour générer des fichiers CRUD Fetch TypeScript pour vos entités API REST.
Vous pouvez installer l'outil en utilisant npm :
npm install -g mudey-crud-fetch
Pour utiliser l'outil, exécutez la commande suivante :
mudey-crud-fetch <entityName>
-
<entityName>
: Le nom de l'entité pour laquelle vous souhaitez générer un fichier CRUD Fetch TypeScript.
Exemple :
mudey-crud-fetch User
Lorsque vous exécutez la commande pour générer un fichier CRUD, le script génère un fichier TypeScript dans le répertoire src/api
. Voici un exemple de ce que le fichier généré pourrait ressembler :
// CRUD Fetch pour l'entité User
import { ApiResponse } from './apiUtils'; // Assurez-vous d'importer les utilitaires nécessaires
// Récupérer tous les User
export const getUsers = async (): Promise<ApiResponse<User[]>> => {
try {
const response = await fetch('/api/users');
if (!response.ok) {
throw new Error('Erreur lors de la récupération des Users.');
}
const data = await response.json();
return { success: true, data };
} catch (error) {
console.error('Erreur lors de la récupération des Users :', error);
return { success: false, error: error.message };
}
};
// Récupérer un User par ID
export const getUserById = async (id: string): Promise<ApiResponse<User | null>> => {
try {
const response = await fetch(`/api/users/${id}`);
if (!response.ok) {
throw new Error('Erreur lors de la récupération du User par ID.');
}
const data = await response.json();
return { success: true, data };
} catch (error) {
console.error('Erreur lors de la récupération du User par ID :', error);
return { success: false, error: error.message };
}
};
// Créer un User
export const createUser = async (user: User): Promise<ApiResponse<User>> => {
try {
const response = await fetch('/api/users', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify(user),
});
if (!response.ok) {
throw new Error('Erreur lors de la création du User.');
}
const data = await response.json();
return { success: true, data };
} catch (error) {
console.error('Erreur lors de la création du User :', error);
return { success: false, error: error.message };
}
};
// Mettre à jour un User par ID
export const updateUser = async (id: string, user: User): Promise<ApiResponse<User>> => {
try {
const response = await fetch(`/api/users/${id}`, {
method: 'PUT',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify(user),
});
if (!response.ok) {
throw new Error('Erreur lors de la mise à jour du User.');
}
const data = await response.json();
return { success: true, data };
} catch (error) {
console.error('Erreur lors de la mise à jour du User :', error);
return { success: false, error: error.message };
}
};
// Supprimer un User par ID
export const deleteUser = async (id: string): Promise<ApiResponse<boolean>> => {
try {
const response = await fetch(`/api/users/${id}`, {
method: 'DELETE',
});
if (!response.ok) {
throw new Error('Erreur lors de la suppression du User.');
}
return { success: true, data: true };
} catch (error) {
console.error('Erreur lors de la suppression du User :', error);
return { success: false, error: error.message };
}
};
Ce script CLI a été créé par Mudey Formation.
Ce script est sous licence MIT. Consultez le fichier LICENSE pour plus de détails.