Fix config metro
This commit is contained in:
parent
c9e948b8dd
commit
cc49e676ca
4 changed files with 7403 additions and 3 deletions
|
|
@ -2,4 +2,17 @@ const { getDefaultConfig } = require('expo/metro-config');
|
||||||
|
|
||||||
const config = getDefaultConfig(__dirname);
|
const config = getDefaultConfig(__dirname);
|
||||||
|
|
||||||
|
config.resolver.assetExts.push('wasm');
|
||||||
|
|
||||||
|
config.server = {
|
||||||
|
...config.server,
|
||||||
|
enhanceMiddleware: (middleware) => {
|
||||||
|
return (req, res, next) => {
|
||||||
|
res.setHeader('Cross-Origin-Opener-Policy', 'same-origin');
|
||||||
|
res.setHeader('Cross-Origin-Embedder-Policy', 'require-corp');
|
||||||
|
return middleware(req, res, next);
|
||||||
|
};
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
module.exports = config;
|
module.exports = config;
|
||||||
|
|
|
||||||
7372
toptran-app/package-lock.json
generated
7372
toptran-app/package-lock.json
generated
File diff suppressed because it is too large
Load diff
|
|
@ -38,6 +38,7 @@
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/react": "~19.2.10",
|
"@types/react": "~19.2.10",
|
||||||
|
"expo-module-scripts": "^55.0.2",
|
||||||
"react-test-renderer": "19.1.0",
|
"react-test-renderer": "19.1.0",
|
||||||
"typescript": "~5.9.2"
|
"typescript": "~5.9.2"
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
import * as SQLite from "expo-sqlite";
|
import * as SQLite from "expo-sqlite";
|
||||||
|
|
||||||
const db = SQLite.openDatabaseSync("toptran.db");
|
const dbPromise = SQLite.openDatabaseAsync("toptran.db");
|
||||||
|
|
||||||
export type UserDB = {
|
export type UserDB = {
|
||||||
id: string;
|
id: string;
|
||||||
|
|
@ -32,6 +32,7 @@ export type CompanyDB = {
|
||||||
|
|
||||||
export const initDB = async () => {
|
export const initDB = async () => {
|
||||||
try {
|
try {
|
||||||
|
const db = await dbPromise;
|
||||||
await db.execAsync(
|
await db.execAsync(
|
||||||
`CREATE TABLE IF NOT EXISTS users (
|
`CREATE TABLE IF NOT EXISTS users (
|
||||||
id TEXT PRIMARY KEY,
|
id TEXT PRIMARY KEY,
|
||||||
|
|
@ -79,6 +80,7 @@ export const initDB = async () => {
|
||||||
// SETTINGS (key-value store)
|
// SETTINGS (key-value store)
|
||||||
export const getSetting = async (key: string): Promise<string | null> => {
|
export const getSetting = async (key: string): Promise<string | null> => {
|
||||||
try {
|
try {
|
||||||
|
const db = await dbPromise;
|
||||||
const row = await db.getFirstAsync<{ value: string }>(
|
const row = await db.getFirstAsync<{ value: string }>(
|
||||||
`SELECT value FROM settings WHERE key = ?`,
|
`SELECT value FROM settings WHERE key = ?`,
|
||||||
[key],
|
[key],
|
||||||
|
|
@ -92,6 +94,7 @@ export const getSetting = async (key: string): Promise<string | null> => {
|
||||||
|
|
||||||
export const setSetting = async (key: string, value: string): Promise<void> => {
|
export const setSetting = async (key: string, value: string): Promise<void> => {
|
||||||
try {
|
try {
|
||||||
|
const db = await dbPromise;
|
||||||
await db.runAsync(
|
await db.runAsync(
|
||||||
`INSERT OR REPLACE INTO settings (key, value) VALUES (?, ?)`,
|
`INSERT OR REPLACE INTO settings (key, value) VALUES (?, ?)`,
|
||||||
[key, value],
|
[key, value],
|
||||||
|
|
@ -104,6 +107,7 @@ export const setSetting = async (key: string, value: string): Promise<void> => {
|
||||||
|
|
||||||
export const deleteSetting = async (key: string): Promise<void> => {
|
export const deleteSetting = async (key: string): Promise<void> => {
|
||||||
try {
|
try {
|
||||||
|
const db = await dbPromise;
|
||||||
await db.runAsync(`DELETE FROM settings WHERE key = ?`, [key]);
|
await db.runAsync(`DELETE FROM settings WHERE key = ?`, [key]);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error("Error deleting setting:", error);
|
console.error("Error deleting setting:", error);
|
||||||
|
|
@ -116,6 +120,7 @@ export const salvarUsuario = async (
|
||||||
usuario: Omit<UserDB, "createdAt">,
|
usuario: Omit<UserDB, "createdAt">,
|
||||||
): Promise<string> => {
|
): Promise<string> => {
|
||||||
try {
|
try {
|
||||||
|
const db = await dbPromise;
|
||||||
const existing = await db.getFirstAsync<{ id: string }>(
|
const existing = await db.getFirstAsync<{ id: string }>(
|
||||||
`SELECT id FROM users WHERE email = ?`,
|
`SELECT id FROM users WHERE email = ?`,
|
||||||
[usuario.email],
|
[usuario.email],
|
||||||
|
|
@ -156,6 +161,7 @@ export const obterUsuario = async (
|
||||||
usuarioId: string,
|
usuarioId: string,
|
||||||
): Promise<UserDB | null> => {
|
): Promise<UserDB | null> => {
|
||||||
try {
|
try {
|
||||||
|
const db = await dbPromise;
|
||||||
const result = await db.getFirstAsync<UserDB>(
|
const result = await db.getFirstAsync<UserDB>(
|
||||||
`SELECT * FROM users WHERE id = ?`,
|
`SELECT * FROM users WHERE id = ?`,
|
||||||
[usuarioId],
|
[usuarioId],
|
||||||
|
|
@ -170,6 +176,7 @@ export const obterUsuario = async (
|
||||||
// RIDES
|
// RIDES
|
||||||
export const salvarCorrida = async (corrida: Omit<RideDB, "createdAt">) => {
|
export const salvarCorrida = async (corrida: Omit<RideDB, "createdAt">) => {
|
||||||
try {
|
try {
|
||||||
|
const db = await dbPromise;
|
||||||
const result = await db.runAsync(
|
const result = await db.runAsync(
|
||||||
`INSERT INTO rides (id, user_id, company, km, cost_per_km, total, ride_date, synced)
|
`INSERT INTO rides (id, user_id, company, km, cost_per_km, total, ride_date, synced)
|
||||||
VALUES (?, ?, ?, ?, ?, ?, ?, ?)`,
|
VALUES (?, ?, ?, ?, ?, ?, ?, ?)`,
|
||||||
|
|
@ -195,6 +202,7 @@ export const obterCorridas = async (
|
||||||
usuarioId: string,
|
usuarioId: string,
|
||||||
): Promise<RideDB[]> => {
|
): Promise<RideDB[]> => {
|
||||||
try {
|
try {
|
||||||
|
const db = await dbPromise;
|
||||||
const result = await db.getAllAsync<RideDB>(
|
const result = await db.getAllAsync<RideDB>(
|
||||||
`SELECT * FROM rides WHERE user_id = ? ORDER BY createdAt DESC`,
|
`SELECT * FROM rides WHERE user_id = ? ORDER BY createdAt DESC`,
|
||||||
[usuarioId],
|
[usuarioId],
|
||||||
|
|
@ -210,6 +218,7 @@ export const obterCorridasNaoSincronizadas = async (
|
||||||
usuarioId: string,
|
usuarioId: string,
|
||||||
): Promise<RideDB[]> => {
|
): Promise<RideDB[]> => {
|
||||||
try {
|
try {
|
||||||
|
const db = await dbPromise;
|
||||||
const result = await db.getAllAsync<RideDB>(
|
const result = await db.getAllAsync<RideDB>(
|
||||||
`SELECT * FROM rides WHERE user_id = ? AND synced = 0`,
|
`SELECT * FROM rides WHERE user_id = ? AND synced = 0`,
|
||||||
[usuarioId],
|
[usuarioId],
|
||||||
|
|
@ -223,6 +232,7 @@ export const obterCorridasNaoSincronizadas = async (
|
||||||
|
|
||||||
export const marcarCorridaComoSincronizada = async (corridaId: string) => {
|
export const marcarCorridaComoSincronizada = async (corridaId: string) => {
|
||||||
try {
|
try {
|
||||||
|
const db = await dbPromise;
|
||||||
await db.runAsync(`UPDATE rides SET synced = 1 WHERE id = ?`, [corridaId]);
|
await db.runAsync(`UPDATE rides SET synced = 1 WHERE id = ?`, [corridaId]);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error("Error marking ride as synced:", error);
|
console.error("Error marking ride as synced:", error);
|
||||||
|
|
@ -232,6 +242,7 @@ export const marcarCorridaComoSincronizada = async (corridaId: string) => {
|
||||||
|
|
||||||
export const deletarCorrida = async (corridaId: string) => {
|
export const deletarCorrida = async (corridaId: string) => {
|
||||||
try {
|
try {
|
||||||
|
const db = await dbPromise;
|
||||||
await db.runAsync(`DELETE FROM rides WHERE id = ?`, [corridaId]);
|
await db.runAsync(`DELETE FROM rides WHERE id = ?`, [corridaId]);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error("Error deleting ride:", error);
|
console.error("Error deleting ride:", error);
|
||||||
|
|
@ -241,6 +252,7 @@ export const deletarCorrida = async (corridaId: string) => {
|
||||||
|
|
||||||
export const limparBancoDados = async () => {
|
export const limparBancoDados = async () => {
|
||||||
try {
|
try {
|
||||||
|
const db = await dbPromise;
|
||||||
await db.execAsync(`DELETE FROM rides; DELETE FROM users;`);
|
await db.execAsync(`DELETE FROM rides; DELETE FROM users;`);
|
||||||
console.log("Database cleared");
|
console.log("Database cleared");
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
|
|
@ -252,6 +264,7 @@ export const limparBancoDados = async () => {
|
||||||
// COMPANIES
|
// COMPANIES
|
||||||
export const obterEmpresas = async (): Promise<CompanyDB[]> => {
|
export const obterEmpresas = async (): Promise<CompanyDB[]> => {
|
||||||
try {
|
try {
|
||||||
|
const db = await dbPromise;
|
||||||
return (
|
return (
|
||||||
(await db.getAllAsync<CompanyDB>(
|
(await db.getAllAsync<CompanyDB>(
|
||||||
`SELECT * FROM companies ORDER BY name ASC`,
|
`SELECT * FROM companies ORDER BY name ASC`,
|
||||||
|
|
@ -267,6 +280,7 @@ export const salvarEmpresa = async (
|
||||||
empresa: Omit<CompanyDB, "createdAt">,
|
empresa: Omit<CompanyDB, "createdAt">,
|
||||||
): Promise<void> => {
|
): Promise<void> => {
|
||||||
try {
|
try {
|
||||||
|
const db = await dbPromise;
|
||||||
await db.runAsync(
|
await db.runAsync(
|
||||||
`INSERT INTO companies (id, name, cost_per_km, notes) VALUES (?, ?, ?, ?)`,
|
`INSERT INTO companies (id, name, cost_per_km, notes) VALUES (?, ?, ?, ?)`,
|
||||||
[empresa.id, empresa.name, empresa.cost_per_km, empresa.notes],
|
[empresa.id, empresa.name, empresa.cost_per_km, empresa.notes],
|
||||||
|
|
@ -281,6 +295,7 @@ export const upsertEmpresaLocal = async (
|
||||||
empresa: Omit<CompanyDB, "createdAt">,
|
empresa: Omit<CompanyDB, "createdAt">,
|
||||||
): Promise<void> => {
|
): Promise<void> => {
|
||||||
try {
|
try {
|
||||||
|
const db = await dbPromise;
|
||||||
await db.runAsync(
|
await db.runAsync(
|
||||||
`INSERT OR REPLACE INTO companies (id, name, cost_per_km, notes) VALUES (?, ?, ?, ?)`,
|
`INSERT OR REPLACE INTO companies (id, name, cost_per_km, notes) VALUES (?, ?, ?, ?)`,
|
||||||
[empresa.id, empresa.name, empresa.cost_per_km, empresa.notes],
|
[empresa.id, empresa.name, empresa.cost_per_km, empresa.notes],
|
||||||
|
|
@ -295,6 +310,7 @@ export const upsertCorridaLocal = async (
|
||||||
corrida: Omit<RideDB, "createdAt">,
|
corrida: Omit<RideDB, "createdAt">,
|
||||||
): Promise<void> => {
|
): Promise<void> => {
|
||||||
try {
|
try {
|
||||||
|
const db = await dbPromise;
|
||||||
await db.runAsync(
|
await db.runAsync(
|
||||||
`INSERT OR REPLACE INTO rides (id, user_id, company, km, cost_per_km, total, ride_date, synced)
|
`INSERT OR REPLACE INTO rides (id, user_id, company, km, cost_per_km, total, ride_date, synced)
|
||||||
VALUES (?, ?, ?, ?, ?, ?, ?, 1)`,
|
VALUES (?, ?, ?, ?, ?, ?, ?, 1)`,
|
||||||
|
|
@ -310,6 +326,7 @@ export const atualizarEmpresa = async (
|
||||||
empresa: Omit<CompanyDB, "createdAt">,
|
empresa: Omit<CompanyDB, "createdAt">,
|
||||||
): Promise<void> => {
|
): Promise<void> => {
|
||||||
try {
|
try {
|
||||||
|
const db = await dbPromise;
|
||||||
await db.runAsync(
|
await db.runAsync(
|
||||||
`UPDATE companies SET name = ?, cost_per_km = ?, notes = ? WHERE id = ?`,
|
`UPDATE companies SET name = ?, cost_per_km = ?, notes = ? WHERE id = ?`,
|
||||||
[empresa.name, empresa.cost_per_km, empresa.notes, empresa.id],
|
[empresa.name, empresa.cost_per_km, empresa.notes, empresa.id],
|
||||||
|
|
@ -322,6 +339,7 @@ export const atualizarEmpresa = async (
|
||||||
|
|
||||||
export const deletarEmpresa = async (id: string): Promise<void> => {
|
export const deletarEmpresa = async (id: string): Promise<void> => {
|
||||||
try {
|
try {
|
||||||
|
const db = await dbPromise;
|
||||||
await db.runAsync(`DELETE FROM companies WHERE id = ?`, [id]);
|
await db.runAsync(`DELETE FROM companies WHERE id = ?`, [id]);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error("Error deleting company:", error);
|
console.error("Error deleting company:", error);
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue