Open dofbi opened 2 weeks ago
Salaam @mbayedione10 Voici une proposition pour l’intégration de l'api
// src/lib/api/nocodb.ts
import axios from 'axios'; const API_URL = 'YOUR_NOCODB_API_URL'; const API_KEY = 'YOUR_NOCODB_API_KEY'; export const api = axios.create({ baseURL: API_URL, headers: { 'xc-auth': API_KEY, 'Content-Type': 'application/json', }, });
// src/lib/contentNocodb.ts
import { api } from './api/nocodb.ts'; export async function getData(tableName: string, query: object = {}) { try { const response = await api.get(`/api/v1/table/${tableName}/list`, { params: query }); return response.data; } catch (error) { console.error('Error fetching data:', error); throw error; } } export async function insertData(tableName: string, data: object) { try { const response = await api.post(`/api/v1/table/${tableName}/insert`, data); return response.data; } catch (error) { console.error('Error inserting data:', error); throw error; } } export async function deleteData(tableName: string, rowId: string) { try { const response = await api.delete(`/api/v1/table/${tableName}/${rowId}`); return response.data; } catch (error) { console.error('Error deleting data:', error); throw error; } }
// src/pages/example.astro
--- import { getData, insertData, deleteData } from '../lib/contentNocodb.ts'; // Example: Fetch data const tableData = await getData('your_table_name'); // Example: Insert data const newRow = { name: 'John Doe', email: 'john@example.com' }; await insertData('your_table_name', newRow); // Example: Delete data await deleteData('your_table_name', 'row_id_to_delete'); --- <html> <head> <title>NocoDB Example</title> </head> <body> <h1>NocoDB Data</h1> <ul> {tableData.map((item) => ( <li>{JSON.stringify(item)}</li> ))} </ul> </body> </html>
Tu peux garder les clés dans le fichier .env
Salaam @mbayedione10 Voici une proposition pour l’intégration de l'api
// src/lib/api/nocodb.ts
// src/lib/contentNocodb.ts
// src/pages/example.astro