fix: encoding

This commit is contained in:
2026-01-23 17:36:19 +01:00
parent 4ee0424815
commit 0290a750e1
5 changed files with 56 additions and 52 deletions

View File

@@ -1,47 +1,12 @@
# aemet # Aemet
Endpoint to get forecast summary to use with battery heater.
## 🧰 Usage https://697361d50005d83da5ca.functions.app.fosil.eu/
### GET /ping # Deployment
- Returns a "Pong" message. Login:
appwrite login --endpoint "https://app.fosil.eu/v1"
**Response** Deploy:
appwrite client --project-id="696bbb680032fc5192c9" && appwrite functions create-deployment --function-id=69736073000fadb92a9f --code="." --activate=true
Sample `200` Response:
```text
Pong
```
### GET, POST, PUT, PATCH, DELETE /
- Returns a "Learn More" JSON response.
**Response**
Sample `200` Response:
```json
{
"motto": "Build like a team of hundreds_",
"learn": "https://appwrite.io/docs",
"connect": "https://appwrite.io/discord",
"getInspired": "https://builtwith.appwrite.io"
}
```
## ⚙️ Configuration
| Setting | Value |
| ----------------- | ------------- |
| Runtime | Bun (1.0) |
| Entrypoint | `src/main.ts` |
| Build Commands | `bun install` |
| Permissions | `any` |
| Timeout (Seconds) | 15 |
| Scopes | `users.read` |
## 🔒 Environment Variables
No environment variables required.

View File

@@ -10,9 +10,12 @@
"typescript": "^5.4.5", "typescript": "^5.4.5",
}, },
"devDependencies": { "devDependencies": {
"@types/bun": "^1.1.16", "@types/bun": "^1.3.6",
"prettier": "^3.2.5", "prettier": "^3.2.5",
}, },
"peerDependencies": {
"typescript": "^5",
},
}, },
}, },
"packages": { "packages": {

View File

@@ -13,7 +13,11 @@
"typescript": "^5.4.5" "typescript": "^5.4.5"
}, },
"devDependencies": { "devDependencies": {
"@types/bun": "^1.1.16", "@types/bun": "^1.3.6",
"prettier": "^3.2.5" "prettier": "^3.2.5"
},
"private": true,
"peerDependencies": {
"typescript": "^5"
} }
} }

View File

@@ -16,16 +16,19 @@ export default async ({ req, res, log, error }: any) => {
throw new Error(`Error! status: ${response.status}`); throw new Error(`Error! status: ${response.status}`);
} }
const decoder = new TextDecoder('iso-8859-1'); // It should be iso-8859-15 but Bum v1.1 does not support it. const decoder = new TextDecoder('windows-1252'); // It should be iso-8859-15 but Bum v1.1 does not support it.
let xml = decoder.decode(await response.arrayBuffer()) let xml = decoder.decode(await response.arrayBuffer())
const parser = new XMLParser(); const options = {
attributeNamePrefix: "",
ignoreAttributes: false
};
const parser = new XMLParser(options);
let json = parser.parse(xml); let json = parser.parse(xml);
log(json.root.prediccion) let currentDay = json.root.prediccion.dia[0]
return res.json({ sucess: true, data: json.root.prediccion }) return res.json({ sucess: true, data: currentDay })
} catch (err: any) {
} catch(err: any) {
error("Error fetching forecast: " + err.message); error("Error fetching forecast: " + err.message);
return res.json({success: false, error: err.message}) return res.json({ success: false, error: err.message })
} }
}; };

View File

@@ -0,0 +1,29 @@
{
"compilerOptions": {
// Environment setup & latest features
"lib": ["ESNext"],
"target": "ESNext",
"module": "Preserve",
"moduleDetection": "force",
"jsx": "react-jsx",
"allowJs": true,
// Bundler mode
"moduleResolution": "bundler",
"allowImportingTsExtensions": true,
"verbatimModuleSyntax": true,
"noEmit": true,
// Best practices
"strict": true,
"skipLibCheck": true,
"noFallthroughCasesInSwitch": true,
"noUncheckedIndexedAccess": true,
"noImplicitOverride": true,
// Some stricter flags (disabled by default)
"noUnusedLocals": false,
"noUnusedParameters": false,
"noPropertyAccessFromIndexSignature": false
}
}