Release v3.1.4 - Mode terrain et génération PDF #10
135
.cline
Normal file
135
.cline
Normal file
@@ -0,0 +1,135 @@
|
||||
{
|
||||
"memoryBank": {
|
||||
"enabled": true,
|
||||
"path": "./docs",
|
||||
"maxContextSize": 100000
|
||||
},
|
||||
"contextSettings": {
|
||||
"maxTokens": 100000,
|
||||
"cline.maxAutoApprovedRequests": 100,
|
||||
"cline.enableMemoryBank": true,
|
||||
"cline.includeSnippetsFromMemory": true,
|
||||
"cline.contextLength": 10000,
|
||||
"cline.autoFormat": true
|
||||
},
|
||||
"mcpServers": {
|
||||
"github.com/modelcontextprotocol/servers/tree/main/src/git": {
|
||||
"command": "python",
|
||||
"args": [
|
||||
"-m",
|
||||
"mcp_server_git"
|
||||
],
|
||||
"disabled": false,
|
||||
"autoApprove": []
|
||||
},
|
||||
"github.com/GLips/Figma-Context-MCP": {
|
||||
"command": "npx",
|
||||
"args": [
|
||||
"-y",
|
||||
"figma-developer-mcp",
|
||||
"--figma-api-key=figd_2SyOIL_LeFVIIpUuRFT6F2tNWPQl89lBmUWAnOsy",
|
||||
"--stdio"
|
||||
],
|
||||
"disabled": false,
|
||||
"autoApprove": []
|
||||
}
|
||||
},
|
||||
"projectStructure": {
|
||||
"api": {
|
||||
"type": "php",
|
||||
"version": "8.3",
|
||||
"structure": [
|
||||
"Controllers",
|
||||
"Core",
|
||||
"Services",
|
||||
"Config",
|
||||
"Utils"
|
||||
],
|
||||
"conventions": {
|
||||
"classes": "PascalCase",
|
||||
"methods": "camelCase",
|
||||
"namespaces": "App\\*"
|
||||
}
|
||||
},
|
||||
"app": {
|
||||
"type": "flutter",
|
||||
"version": "3.19",
|
||||
"structure": [
|
||||
"core",
|
||||
"presentation",
|
||||
"shared",
|
||||
"chat"
|
||||
],
|
||||
"conventions": {
|
||||
"classes": "PascalCase",
|
||||
"methods": "camelCase",
|
||||
"variables": "camelCase"
|
||||
}
|
||||
},
|
||||
"web": {
|
||||
"type": "svelte",
|
||||
"version": "5",
|
||||
"structure": [
|
||||
"src/components",
|
||||
"src/lib",
|
||||
"src/pages"
|
||||
],
|
||||
"conventions": {
|
||||
"components": "PascalCase.svelte",
|
||||
"functions": "camelCase",
|
||||
"stores": "camelCase"
|
||||
}
|
||||
}
|
||||
},
|
||||
"gitWorkflow": {
|
||||
"mainBranch": "main",
|
||||
"developBranch": "develop",
|
||||
"featureBranchPrefix": "feature/",
|
||||
"bugfixBranchPrefix": "bugfix/",
|
||||
"releaseBranchPrefix": "release/",
|
||||
"commitMessageFormat": "type(scope): message",
|
||||
"commitTypes": [
|
||||
"feat",
|
||||
"fix",
|
||||
"docs",
|
||||
"style",
|
||||
"refactor",
|
||||
"test",
|
||||
"chore"
|
||||
],
|
||||
"mergeStrategy": "fast-forward",
|
||||
"requireCodeReview": true
|
||||
},
|
||||
"security": {
|
||||
"sensitiveDataPatterns": [
|
||||
"encrypted_email",
|
||||
"encrypted_name",
|
||||
"encrypted_phone",
|
||||
"encrypted_mobile",
|
||||
"encrypted_stripe_id",
|
||||
"user_pass_hash"
|
||||
],
|
||||
"requireEncryption": true,
|
||||
"avoidHardcodedCredentials": true,
|
||||
"inputValidation": "required"
|
||||
},
|
||||
"documentation": {
|
||||
"requireForPublicAPI": true,
|
||||
"includeExamples": true,
|
||||
"updateChangelogOnRelease": true,
|
||||
"primaryDocumentationFile": "CONTEXT-AI.md",
|
||||
"referenceFiles": {
|
||||
"database": "docs/geo_app.dump",
|
||||
"apiEndpoints": "docs/api_endpoints.md",
|
||||
"architecture": "docs/architecture.md"
|
||||
}
|
||||
},
|
||||
"codeQuality": {
|
||||
"phpStandard": "PSR-12",
|
||||
"dartAnalyzer": "strong-mode",
|
||||
"eslintConfig": "recommended",
|
||||
"maximumMethodLength": 50,
|
||||
"maximumFileLength": 500,
|
||||
"preferImmutability": true
|
||||
}
|
||||
}
|
||||
90
.vscode/settings.json
vendored
Normal file
90
.vscode/settings.json
vendored
Normal file
@@ -0,0 +1,90 @@
|
||||
{
|
||||
"editor.formatOnSave": true,
|
||||
"editor.defaultFormatter": null,
|
||||
"editor.codeActionsOnSave": {
|
||||
"source.fixAll": "explicit"
|
||||
},
|
||||
"[php]": {
|
||||
"editor.defaultFormatter": "bmewburn.vscode-intelephense-client",
|
||||
"editor.tabSize": 4,
|
||||
"editor.insertSpaces": true
|
||||
},
|
||||
"[dart]": {
|
||||
"editor.defaultFormatter": "Dart-Code.dart-code",
|
||||
"editor.formatOnSave": true,
|
||||
"editor.formatOnType": true,
|
||||
"editor.rulers": [
|
||||
80
|
||||
],
|
||||
"editor.selectionHighlight": false,
|
||||
"editor.suggest.snippetsPreventQuickSuggestions": false,
|
||||
"editor.suggestSelection": "first",
|
||||
"editor.tabCompletion": "onlySnippets",
|
||||
"editor.wordBasedSuggestions": "off"
|
||||
},
|
||||
"[svelte]": {
|
||||
"editor.defaultFormatter": "svelte.svelte-vscode",
|
||||
"editor.tabSize": 2
|
||||
},
|
||||
"[javascript]": {
|
||||
"editor.defaultFormatter": "esbenp.prettier-vscode",
|
||||
"editor.tabSize": 2
|
||||
},
|
||||
"[typescript]": {
|
||||
"editor.defaultFormatter": "esbenp.prettier-vscode",
|
||||
"editor.tabSize": 2
|
||||
},
|
||||
"[json]": {
|
||||
"editor.defaultFormatter": "esbenp.prettier-vscode",
|
||||
"editor.tabSize": 2
|
||||
},
|
||||
"[markdown]": {
|
||||
"editor.defaultFormatter": "esbenp.prettier-vscode",
|
||||
"editor.wordWrap": "on"
|
||||
},
|
||||
"php.validate.executablePath": "/usr/bin/php",
|
||||
"php.suggest.basic": false,
|
||||
"intelephense.environment.phpVersion": "8.3.0",
|
||||
"dart.flutterSdkPath": "/Users/pierre/dev/flutter",
|
||||
"dart.lineLength": 80,
|
||||
"svelte.enable-ts-plugin": true,
|
||||
"files.exclude": {
|
||||
"**/.git": true,
|
||||
"**/.DS_Store": true,
|
||||
"**/node_modules": true,
|
||||
"**/build": true,
|
||||
"**/.dart_tool": true,
|
||||
"**/.flutter-plugins": true,
|
||||
"**/.flutter-plugins-dependencies": true
|
||||
},
|
||||
"files.associations": {
|
||||
"*.php": "php",
|
||||
"*.dart": "dart",
|
||||
"*.svelte": "svelte"
|
||||
},
|
||||
"search.exclude": {
|
||||
"**/node_modules": true,
|
||||
"**/bower_components": true,
|
||||
"**/build": true,
|
||||
"**/.dart_tool": true,
|
||||
"**/vendor": true
|
||||
},
|
||||
"cline.autoApproveRequests": true,
|
||||
"cline.enableMemoryBank": true,
|
||||
"cline.includeSnippetsFromMemory": true,
|
||||
"cline.contextLength": 10000,
|
||||
"cline.autoFormat": true,
|
||||
"cline.primaryDocumentationFile": "CONTEXT-AI.md",
|
||||
"cline.gitIntegration": true,
|
||||
"cline.projectStructure": {
|
||||
"api": "php",
|
||||
"app": "flutter",
|
||||
"web": "svelte"
|
||||
},
|
||||
"cline.referenceFiles": {
|
||||
"database": "docs/geo_app.dump",
|
||||
"apiEndpoints": "docs/api_endpoints.md",
|
||||
"architecture": "docs/architecture.md"
|
||||
},
|
||||
"cline.databaseSchema": "docs/geo_app.dump"
|
||||
}
|
||||
111
CONTEXT-AI.md
111
CONTEXT-AI.md
@@ -120,36 +120,115 @@
|
||||
|
||||
### Branches GitLab
|
||||
|
||||
- **main/master**: [Production-ready code]
|
||||
- **develop**: [Integration branch for features]
|
||||
- **feature/[feature-name]**: [Feature development]
|
||||
- **bugfix/[bug-name]**: [Bug fixes]
|
||||
- **release/[version]**: [Release preparation]
|
||||
- **main**: Code stable prêt pour la production
|
||||
- **develop**: Branche d'intégration pour les fonctionnalités en cours de développement
|
||||
- **feature/[feature-name]**: Branches de développement pour les nouvelles fonctionnalités
|
||||
- Exemple: `feature/geolocalisation-casernes` pour l'ajout de la géolocalisation des casernes
|
||||
- **bugfix/[bug-name]**: Branches pour les corrections de bugs
|
||||
- **release/[version]**: Branches de préparation des versions
|
||||
|
||||
### Processus de Merge Request
|
||||
|
||||
1. [Créer une branche à partir de develop]
|
||||
2. [Développer la fonctionnalité/correction]
|
||||
3. [Soumettre une MR vers develop]
|
||||
4. [Code review]
|
||||
5. [CI/CD validation]
|
||||
6. [Merge]
|
||||
1. Créer une branche à partir de `main` ou `develop` selon la nature du changement
|
||||
|
||||
```bash
|
||||
git checkout -b feature/nom-de-la-fonctionnalite main
|
||||
```
|
||||
|
||||
2. Développer la fonctionnalité ou correction avec des commits atomiques
|
||||
|
||||
```bash
|
||||
git add fichier1 fichier2
|
||||
git commit -m "Description claire du changement"
|
||||
```
|
||||
|
||||
3. Pousser la branche vers le dépôt distant
|
||||
|
||||
```bash
|
||||
git push -u origin feature/nom-de-la-fonctionnalite
|
||||
```
|
||||
|
||||
4. Créer une Merge Request via l'interface GitLab ou en utilisant l'URL fournie
|
||||
|
||||
- URL: `http://51.68.36.203/d6soft/geosector/-/merge_requests/new?merge_request%5Bsource_branch%5D=feature/nom-de-la-fonctionnalite`
|
||||
|
||||
5. Attendre la revue de code et les validations CI/CD
|
||||
|
||||
6. Une fois approuvée, fusionner la branche:
|
||||
```bash
|
||||
git checkout main
|
||||
git merge feature/nom-de-la-fonctionnalite
|
||||
git push origin main
|
||||
```
|
||||
|
||||
### CI/CD Pipeline
|
||||
|
||||
[Description de votre pipeline CI/CD dans GitLab]
|
||||
Le projet utilise un pipeline CI/CD GitLab pour automatiser les tests et le déploiement:
|
||||
|
||||
1. **Build**: Compilation du code et vérification de la syntaxe
|
||||
|
||||
- PHP: Vérification de la syntaxe et des dépendances Composer
|
||||
- Flutter: Compilation et génération des assets
|
||||
|
||||
2. **Test**: Exécution des tests automatisés
|
||||
|
||||
- Tests unitaires pour l'API PHP
|
||||
- Tests de widgets pour l'application Flutter
|
||||
|
||||
3. **Deploy**: Déploiement automatique vers les environnements
|
||||
- Déploiement vers DEV après chaque merge dans `develop`
|
||||
- Déploiement vers RECETTE après validation manuelle
|
||||
- Déploiement vers PROD après validation manuelle sur une MR vers `main`
|
||||
|
||||
## Intégration avec GitLab
|
||||
|
||||
### Issues et Kanban
|
||||
|
||||
- **Labels**: [Liste des labels principaux et leur signification]
|
||||
- **Milestones**: [Comment les milestones sont utilisées]
|
||||
- **Boards**: [Description des tableaux Kanban]
|
||||
- **Labels**:
|
||||
|
||||
- `feature`: Nouvelles fonctionnalités
|
||||
- `bug`: Corrections de bugs
|
||||
- `enhancement`: Améliorations de fonctionnalités existantes
|
||||
- `documentation`: Mises à jour de la documentation
|
||||
- `api`: Modifications de l'API
|
||||
- `ui`: Modifications de l'interface utilisateur
|
||||
- `priority:high`: Priorité élevée
|
||||
- `priority:medium`: Priorité moyenne
|
||||
- `priority:low`: Priorité basse
|
||||
|
||||
- **Milestones**:
|
||||
|
||||
- Organisées par versions majeures (1.0, 1.1, etc.)
|
||||
- Chaque milestone contient les issues prévues pour la version
|
||||
- Date d'échéance définie pour chaque milestone
|
||||
|
||||
- **Boards**:
|
||||
- **Backlog**: Issues à traiter dans le futur
|
||||
- **To Do**: Issues prêtes à être développées
|
||||
- **In Progress**: Issues en cours de développement
|
||||
- **Review**: Issues en attente de revue de code
|
||||
- **Done**: Issues terminées et déployées
|
||||
|
||||
### Automatisations
|
||||
|
||||
[Description des automatisations GitLab utilisées]
|
||||
- **Webhooks**: Notifications automatiques dans Slack pour les événements importants
|
||||
|
||||
- Nouvelles Merge Requests
|
||||
- Commentaires sur les MRs
|
||||
- Builds échoués
|
||||
- Déploiements réussis
|
||||
|
||||
- **Merge Request Templates**: Templates prédéfinis pour les MRs avec:
|
||||
|
||||
- Description de la fonctionnalité
|
||||
- Checklist de vérification
|
||||
- Instructions de test
|
||||
- Captures d'écran (si applicable)
|
||||
|
||||
- **CI/CD Automatisé**: Déclenchement automatique des pipelines sur:
|
||||
- Push vers une branche
|
||||
- Création d'une Merge Request
|
||||
- Mise à jour d'une Merge Request
|
||||
|
||||
## Déploiement
|
||||
|
||||
|
||||
97
api/.vscode/settings.json
vendored
97
api/.vscode/settings.json
vendored
@@ -1,17 +1,19 @@
|
||||
{
|
||||
"window.zoomLevel": 1, // Permet de zoomer, pratique si vous faites une présentation
|
||||
|
||||
// Apparence
|
||||
// -- Editeur
|
||||
"workbench.startupEditor": "none", // On ne veut pas une page d'accueil chargée
|
||||
"editor.minimap.enabled": false, // On veut voir la minimap
|
||||
"editor.minimap.enabled": true, // On veut voir la minimap
|
||||
"editor.minimap.showSlider": "always", // On veut voir la minimap
|
||||
"editor.minimap.size": "fill", // On veut voir la minimap
|
||||
"editor.minimap.scale": 2,
|
||||
"editor.minimap.scale": 1,
|
||||
"editor.tokenColorCustomizations": {
|
||||
"textMateRules": [
|
||||
{
|
||||
"scope": ["storage.type.function", "storage.type.class"],
|
||||
"scope": [
|
||||
"storage.type.function",
|
||||
"storage.type.class"
|
||||
],
|
||||
"settings": {
|
||||
"fontStyle": "bold",
|
||||
"foreground": "#4B9CD3"
|
||||
@@ -27,7 +29,6 @@
|
||||
"workbench.editor.tabSizing": "shrink", // On veut voir les tabs
|
||||
"workbench.editor.pinnedTabSizing": "compact",
|
||||
"workbench.editor.enablePreview": false, // Un clic sur un fichier l'ouvre
|
||||
|
||||
// -- Sidebar
|
||||
"workbench.tree.indent": 15, // Indente plus pour plus de clarté dans la sidebar
|
||||
"workbench.tree.renderIndentGuides": "always",
|
||||
@@ -41,7 +42,6 @@
|
||||
"editor.fontSize": 13,
|
||||
"editor.lineHeight": 22,
|
||||
"editor.guides.bracketPairs": "active",
|
||||
|
||||
// Ergonomie
|
||||
"editor.wordWrap": "off",
|
||||
"editor.rulers": [],
|
||||
@@ -52,7 +52,6 @@
|
||||
"editor.linkedEditing": true, // Quand on change un élément HTML, change la balise fermante
|
||||
"editor.tabSize": 2,
|
||||
"editor.unicodeHighlight.nonBasicASCII": false,
|
||||
|
||||
"[php]": {
|
||||
"editor.defaultFormatter": "bmewburn.vscode-intelephense-client",
|
||||
"editor.formatOnSave": true,
|
||||
@@ -60,7 +59,8 @@
|
||||
},
|
||||
"intelephense.format.braces": "k&r",
|
||||
"intelephense.format.enable": true,
|
||||
|
||||
"php.validate.executablePath": "/opt/homebrew/opt/php@8.3/bin/php",
|
||||
"php.executablePath": "/opt/homebrew/opt/php@8.3/bin/php",
|
||||
"[javascript]": {
|
||||
"editor.defaultFormatter": "esbenp.prettier-vscode",
|
||||
"editor.formatOnSave": true,
|
||||
@@ -71,11 +71,22 @@
|
||||
"prettier.singleQuote": true,
|
||||
"prettier.tabWidth": 2,
|
||||
"prettier.trailingComma": "es5",
|
||||
|
||||
"explorer.autoReveal": false,
|
||||
"explorer.confirmDragAndDrop": false,
|
||||
"emmet.triggerExpansionOnTab": true,
|
||||
|
||||
"emmet.includeLanguages": {
|
||||
"javascript": "javascript",
|
||||
"php": "php",
|
||||
"svelte": "html",
|
||||
"dart": "dart"
|
||||
},
|
||||
"problems.decorations.enabled": true,
|
||||
"explorer.decorations.colors": true,
|
||||
"explorer.decorations.badges": true,
|
||||
"php.validate.enable": true,
|
||||
"php.suggest.basic": false,
|
||||
"dart.analysisExcludedFolders": [],
|
||||
"dart.enableSdkFormatter": true,
|
||||
// Fichiers
|
||||
"files.defaultLanguage": "markdown",
|
||||
"files.autoSaveWorkspaceFilesOnly": true,
|
||||
@@ -85,40 +96,58 @@
|
||||
// Languages
|
||||
"javascript.preferences.importModuleSpecifierEnding": "js",
|
||||
"typescript.preferences.importModuleSpecifierEnding": "js",
|
||||
|
||||
// Extensions
|
||||
"tailwindCSS.experimental.configFile": "frontend/tailwind.config.js",
|
||||
"tailwindCSS.experimental.configFile": "web/tailwind.config.js",
|
||||
"editor.quickSuggestions": {
|
||||
"strings": true
|
||||
},
|
||||
|
||||
"[svelte]": {
|
||||
"editor.defaultFormatter": "svelte.svelte-vscode",
|
||||
"editor.formatOnSave": true
|
||||
},
|
||||
"prettier.documentSelectors": ["**/*.svelte"],
|
||||
"prettier.documentSelectors": [
|
||||
"**/*.svelte"
|
||||
],
|
||||
"svelte.plugin.svelte.diagnostics.enable": false,
|
||||
"problems.decorations.enabled": false,
|
||||
"js/ts.implicitProjectConfig.checkJs": false,
|
||||
"svelte.enable-ts-plugin": false,
|
||||
"workbench.colorCustomizations": {
|
||||
"activityBar.activeBackground": "#ff6433",
|
||||
"activityBar.background": "#ff6433",
|
||||
"activityBar.foreground": "#15202b",
|
||||
"activityBar.inactiveForeground": "#15202b99",
|
||||
"activityBarBadge.background": "#00ff3d",
|
||||
"activityBarBadge.foreground": "#15202b",
|
||||
"commandCenter.border": "#e7e7e799",
|
||||
"sash.hoverBorder": "#ff6433",
|
||||
"statusBar.background": "#ff3d00",
|
||||
"statusBar.foreground": "#e7e7e7",
|
||||
"statusBarItem.hoverBackground": "#ff6433",
|
||||
"statusBarItem.remoteBackground": "#ff3d00",
|
||||
"statusBarItem.remoteForeground": "#e7e7e7",
|
||||
"titleBar.activeBackground": "#ff3d00",
|
||||
"titleBar.activeForeground": "#e7e7e7",
|
||||
"titleBar.inactiveBackground": "#ff3d0099",
|
||||
"titleBar.inactiveForeground": "#e7e7e799"
|
||||
"cline.autoApproveLimit": 100,
|
||||
"cline.autoApproveRequests": true,
|
||||
"cline.enableMemoryBank": true,
|
||||
"cline.includeSnippetsFromMemory": true,
|
||||
"cline.contextLength": 10000,
|
||||
"cline.autoFormat": true,
|
||||
"cline.primaryDocumentationFile": ".cline",
|
||||
"cline.gitIntegration": true,
|
||||
"cline.projectStructure": {
|
||||
"api": "php",
|
||||
"app": "flutter",
|
||||
"web": "svelte"
|
||||
},
|
||||
"peacock.color": "#ff3d00"
|
||||
"cline.referenceFiles": {
|
||||
"database": "docs/db-resalice.dump",
|
||||
"apiEndpoints": "docs/api_endpoints.md",
|
||||
"architecture": "docs/architecture.md"
|
||||
},
|
||||
"cline.databaseSchema": "docs/db-resalice.dump",
|
||||
"peacock.color": "#dd0531",
|
||||
"workbench.colorCustomizations": {
|
||||
"activityBar.activeBackground": "#fa1b49",
|
||||
"activityBar.background": "#fa1b49",
|
||||
"activityBar.foreground": "#e7e7e7",
|
||||
"activityBar.inactiveForeground": "#e7e7e799",
|
||||
"activityBarBadge.background": "#155e02",
|
||||
"activityBarBadge.foreground": "#e7e7e7",
|
||||
"commandCenter.border": "#e7e7e799",
|
||||
"sash.hoverBorder": "#fa1b49",
|
||||
"statusBar.background": "#dd0531",
|
||||
"statusBar.foreground": "#e7e7e7",
|
||||
"statusBarItem.hoverBackground": "#fa1b49",
|
||||
"statusBarItem.remoteBackground": "#dd0531",
|
||||
"statusBarItem.remoteForeground": "#e7e7e7",
|
||||
"titleBar.activeBackground": "#dd0531",
|
||||
"titleBar.activeForeground": "#e7e7e7",
|
||||
"titleBar.inactiveBackground": "#dd053199",
|
||||
"titleBar.inactiveForeground": "#e7e7e799"
|
||||
}
|
||||
}
|
||||
@@ -1,612 +0,0 @@
|
||||
# API D6MON - Documentation
|
||||
|
||||
## Introduction
|
||||
|
||||
L'API D6MON est une interface RESTful permettant d'interagir avec l'application D6MON. Cette API gère l'authentification des utilisateurs, la gestion des profils utilisateurs et la gestion des entités.
|
||||
|
||||
## Configuration
|
||||
|
||||
### Base URL
|
||||
|
||||
```
|
||||
https://app.d6mon.com/api/mon
|
||||
```
|
||||
|
||||
### En-têtes requis
|
||||
|
||||
Pour toutes les requêtes à l'API, les en-têtes suivants sont requis :
|
||||
|
||||
```
|
||||
Content-Type: application/json
|
||||
X-App-Identifier: app.d6mon.com
|
||||
X-Client-Type: mobile
|
||||
```
|
||||
|
||||
Pour les endpoints protégés (nécessitant une authentification), ajoutez également :
|
||||
|
||||
```
|
||||
Authorization: Bearer {token}
|
||||
```
|
||||
|
||||
Où `{token}` est le jeton d'authentification obtenu lors de la connexion.
|
||||
|
||||
## Authentification
|
||||
|
||||
### Connexion
|
||||
|
||||
**Endpoint :** `POST /login`
|
||||
|
||||
**Corps de la requête :**
|
||||
|
||||
```json
|
||||
{
|
||||
"email": "utilisateur@exemple.com",
|
||||
"password": "motdepasse"
|
||||
}
|
||||
```
|
||||
|
||||
**Réponse réussie :**
|
||||
|
||||
```json
|
||||
{
|
||||
"success": true,
|
||||
"data": {
|
||||
"token": "session_token_here",
|
||||
"user": {
|
||||
"id": 123,
|
||||
"email": "utilisateur@exemple.com",
|
||||
"last_name": "Nom",
|
||||
"first_name": "Prénom",
|
||||
"display_name": "Nom d'affichage",
|
||||
"entity_id": 456
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Inscription
|
||||
|
||||
**Endpoint :** `POST /register`
|
||||
|
||||
**Corps de la requête :**
|
||||
|
||||
```json
|
||||
{
|
||||
"display_name": "Nom d'affichage",
|
||||
"email": "utilisateur@exemple.com",
|
||||
"first_name": "Prénom",
|
||||
"last_name": "Nom",
|
||||
"entity_id": 456
|
||||
}
|
||||
```
|
||||
|
||||
**Réponse réussie :**
|
||||
|
||||
```json
|
||||
{
|
||||
"success": true,
|
||||
"message": "Inscription réussie. Un email contenant vos identifiants vous a été envoyé.",
|
||||
"data": {
|
||||
"user": {
|
||||
"id": 123,
|
||||
"email": "utilisateur@exemple.com",
|
||||
"display_name": "Nom d'affichage"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Mot de passe oublié
|
||||
|
||||
**Endpoint :** `POST /lost-password`
|
||||
|
||||
**Corps de la requête :**
|
||||
|
||||
```json
|
||||
{
|
||||
"email": "utilisateur@exemple.com"
|
||||
}
|
||||
```
|
||||
|
||||
**Réponse réussie :**
|
||||
|
||||
```json
|
||||
{
|
||||
"success": true,
|
||||
"message": "Un nouveau mot de passe a été envoyé à votre adresse email."
|
||||
}
|
||||
```
|
||||
|
||||
### Déconnexion
|
||||
|
||||
**Endpoint :** `POST /logout`
|
||||
|
||||
**Réponse réussie :**
|
||||
|
||||
```json
|
||||
{
|
||||
"success": true,
|
||||
"message": "Déconnecté avec succès"
|
||||
}
|
||||
```
|
||||
|
||||
## Gestion des utilisateurs
|
||||
|
||||
### Récupérer le profil de l'utilisateur connecté
|
||||
|
||||
**Endpoint :** `GET /user/profile`
|
||||
|
||||
**Réponse réussie :**
|
||||
|
||||
```json
|
||||
{
|
||||
"success": true,
|
||||
"data": {
|
||||
"id": 123,
|
||||
"entity_id": 456,
|
||||
"display_name": "Nom d'affichage",
|
||||
"first_name": "Prénom",
|
||||
"last_name": "Nom",
|
||||
"avatar": "url_avatar",
|
||||
"email": "utilisateur@exemple.com",
|
||||
"phone": "+33612345678",
|
||||
"address1": "Adresse ligne 1",
|
||||
"address2": "Adresse ligne 2",
|
||||
"code_postal": "75000",
|
||||
"city": "Paris",
|
||||
"country": "France",
|
||||
"seat_name": "Siège",
|
||||
"created_at": "2023-01-01T00:00:00Z",
|
||||
"updated_at": "2023-01-01T00:00:00Z",
|
||||
"connected_at": "2023-01-01T00:00:00Z",
|
||||
"is_active": true,
|
||||
"entity": {
|
||||
"id": 456,
|
||||
"name": "Nom de l'entité",
|
||||
"email": "entite@exemple.com",
|
||||
"phone": "+33123456789",
|
||||
"address1": "Adresse ligne 1",
|
||||
"address2": "Adresse ligne 2",
|
||||
"code_postal": "75000",
|
||||
"city": "Paris",
|
||||
"country": "France",
|
||||
"created_at": "2023-01-01T00:00:00Z",
|
||||
"updated_at": "2023-01-01T00:00:00Z",
|
||||
"is_active": true
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Mettre à jour le profil de l'utilisateur connecté
|
||||
|
||||
**Endpoint :** `PUT /user/profile`
|
||||
|
||||
**Corps de la requête :**
|
||||
|
||||
```json
|
||||
{
|
||||
"display_name": "Nouveau nom d'affichage",
|
||||
"first_name": "Nouveau prénom",
|
||||
"last_name": "Nouveau nom",
|
||||
"phone": "+33612345678",
|
||||
"address1": "Nouvelle adresse ligne 1",
|
||||
"address2": "Nouvelle adresse ligne 2",
|
||||
"code_postal": "75001",
|
||||
"city": "Paris",
|
||||
"country": "France",
|
||||
"seat_name": "Nouveau siège"
|
||||
}
|
||||
```
|
||||
|
||||
**Réponse réussie :**
|
||||
Même format que `GET /user/profile` avec les données mises à jour.
|
||||
|
||||
### Changer le mot de passe
|
||||
|
||||
**Endpoint :** `POST /user/change-password`
|
||||
|
||||
**Corps de la requête :**
|
||||
|
||||
```json
|
||||
{
|
||||
"current_password": "ancien_mot_de_passe",
|
||||
"new_password": "nouveau_mot_de_passe"
|
||||
}
|
||||
```
|
||||
|
||||
**Réponse réussie :**
|
||||
|
||||
```json
|
||||
{
|
||||
"success": true,
|
||||
"message": "Mot de passe changé avec succès"
|
||||
}
|
||||
```
|
||||
|
||||
### Récupérer un utilisateur par ID
|
||||
|
||||
**Endpoint :** `GET /user/{id}`
|
||||
|
||||
**Réponse réussie :**
|
||||
|
||||
```json
|
||||
{
|
||||
"success": true,
|
||||
"data": {
|
||||
"id": 123,
|
||||
"entity_id": 456,
|
||||
"display_name": "Nom d'affichage",
|
||||
"first_name": "Prénom",
|
||||
"last_name": "Nom",
|
||||
"avatar": "url_avatar",
|
||||
"email": "utilisateur@exemple.com",
|
||||
"phone": "+33612345678",
|
||||
"address1": "Adresse ligne 1",
|
||||
"address2": "Adresse ligne 2",
|
||||
"code_postal": "75000",
|
||||
"city": "Paris",
|
||||
"country": "France",
|
||||
"seat_name": "Siège",
|
||||
"created_at": "2023-01-01T00:00:00Z",
|
||||
"updated_at": "2023-01-01T00:00:00Z",
|
||||
"connected_at": "2023-01-01T00:00:00Z",
|
||||
"is_active": true
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Récupérer la liste des utilisateurs
|
||||
|
||||
**Endpoint :** `GET /users`
|
||||
|
||||
**Paramètres de requête :**
|
||||
|
||||
- `page` (optionnel) : Numéro de page (défaut : 1)
|
||||
- `limit` (optionnel) : Nombre d'éléments par page (défaut : 20)
|
||||
- `entity_id` (optionnel) : Filtrer par ID d'entité
|
||||
|
||||
**Réponse réussie :**
|
||||
|
||||
```json
|
||||
{
|
||||
"success": true,
|
||||
"data": {
|
||||
"users": [
|
||||
{
|
||||
"id": 123,
|
||||
"entity_id": 456,
|
||||
"display_name": "Nom d'affichage",
|
||||
"first_name": "Prénom",
|
||||
"last_name": "Nom",
|
||||
"avatar": "url_avatar",
|
||||
"email": "utilisateur@exemple.com",
|
||||
"address1": "Adresse ligne 1",
|
||||
"city": "Paris",
|
||||
"country": "France",
|
||||
"created_at": "2023-01-01T00:00:00Z",
|
||||
"updated_at": "2023-01-01T00:00:00Z",
|
||||
"connected_at": "2023-01-01T00:00:00Z",
|
||||
"is_active": true
|
||||
}
|
||||
],
|
||||
"pagination": {
|
||||
"total": 100,
|
||||
"page": 1,
|
||||
"limit": 20,
|
||||
"pages": 5
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Créer un nouvel utilisateur
|
||||
|
||||
**Endpoint :** `POST /user`
|
||||
|
||||
**Corps de la requête :**
|
||||
|
||||
```json
|
||||
{
|
||||
"display_name": "Nom d'affichage",
|
||||
"email": "utilisateur@exemple.com",
|
||||
"first_name": "Prénom",
|
||||
"last_name": "Nom",
|
||||
"entity_id": 456,
|
||||
"phone": "+33612345678",
|
||||
"address1": "Adresse ligne 1",
|
||||
"address2": "Adresse ligne 2",
|
||||
"code_postal": "75000",
|
||||
"city": "Paris",
|
||||
"country": "France",
|
||||
"seat_name": "Siège"
|
||||
}
|
||||
```
|
||||
|
||||
**Réponse réussie :**
|
||||
|
||||
```json
|
||||
{
|
||||
"success": true,
|
||||
"message": "Utilisateur créé avec succès. Un email avec les identifiants a été envoyé.",
|
||||
"data": {
|
||||
"id": 123,
|
||||
"display_name": "Nom d'affichage",
|
||||
"email": "utilisateur@exemple.com"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Désactiver un utilisateur
|
||||
|
||||
**Endpoint :** `DELETE /user/{id}`
|
||||
|
||||
**Réponse réussie :**
|
||||
|
||||
```json
|
||||
{
|
||||
"success": true,
|
||||
"message": "Utilisateur désactivé avec succès"
|
||||
}
|
||||
```
|
||||
|
||||
## Gestion des entités
|
||||
|
||||
### Récupérer toutes les entités
|
||||
|
||||
**Endpoint :** `GET /entities`
|
||||
|
||||
**Paramètres de requête :**
|
||||
|
||||
- `page` (optionnel) : Numéro de page (défaut : 1)
|
||||
- `limit` (optionnel) : Nombre d'éléments par page (défaut : 20)
|
||||
- `search` (optionnel) : Terme de recherche
|
||||
|
||||
**Réponse réussie :**
|
||||
|
||||
```json
|
||||
{
|
||||
"success": true,
|
||||
"data": {
|
||||
"entities": [
|
||||
{
|
||||
"id": 456,
|
||||
"name": "Nom de l'entité",
|
||||
"email": "entite@exemple.com",
|
||||
"phone": "+33123456789",
|
||||
"address1": "Adresse ligne 1",
|
||||
"address2": "Adresse ligne 2",
|
||||
"code_postal": "75000",
|
||||
"city": "Paris",
|
||||
"country": "France",
|
||||
"created_at": "2023-01-01T00:00:00Z",
|
||||
"updated_at": "2023-01-01T00:00:00Z",
|
||||
"is_active": true
|
||||
}
|
||||
],
|
||||
"pagination": {
|
||||
"total": 50,
|
||||
"page": 1,
|
||||
"limit": 20,
|
||||
"pages": 3
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Récupérer une entité par ID
|
||||
|
||||
**Endpoint :** `GET /entity/{id}`
|
||||
|
||||
**Réponse réussie :**
|
||||
|
||||
```json
|
||||
{
|
||||
"success": true,
|
||||
"data": {
|
||||
"id": 456,
|
||||
"name": "Nom de l'entité",
|
||||
"email": "entite@exemple.com",
|
||||
"phone": "+33123456789",
|
||||
"address1": "Adresse ligne 1",
|
||||
"address2": "Adresse ligne 2",
|
||||
"code_postal": "75000",
|
||||
"city": "Paris",
|
||||
"country": "France",
|
||||
"created_at": "2023-01-01T00:00:00Z",
|
||||
"updated_at": "2023-01-01T00:00:00Z",
|
||||
"is_active": true,
|
||||
"users": [
|
||||
{
|
||||
"id": 123,
|
||||
"display_name": "Nom d'affichage",
|
||||
"first_name": "Prénom",
|
||||
"last_name": "Nom",
|
||||
"avatar": "url_avatar",
|
||||
"email": "utilisateur@exemple.com",
|
||||
"created_at": "2023-01-01T00:00:00Z",
|
||||
"is_active": true
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Créer une nouvelle entité
|
||||
|
||||
**Endpoint :** `POST /entity`
|
||||
|
||||
**Corps de la requête :**
|
||||
|
||||
```json
|
||||
{
|
||||
"name": "Nom de l'entité",
|
||||
"email": "entite@exemple.com",
|
||||
"phone": "+33123456789",
|
||||
"address1": "Adresse ligne 1",
|
||||
"address2": "Adresse ligne 2",
|
||||
"code_postal": "75000",
|
||||
"city": "Paris",
|
||||
"country": "France"
|
||||
}
|
||||
```
|
||||
|
||||
**Réponse réussie :**
|
||||
|
||||
```json
|
||||
{
|
||||
"success": true,
|
||||
"message": "Entité créée avec succès",
|
||||
"data": {
|
||||
"id": 456,
|
||||
"name": "Nom de l'entité"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Mettre à jour une entité
|
||||
|
||||
**Endpoint :** `PUT /entity/{id}`
|
||||
|
||||
**Corps de la requête :**
|
||||
|
||||
```json
|
||||
{
|
||||
"name": "Nouveau nom de l'entité",
|
||||
"email": "nouvelle-entite@exemple.com",
|
||||
"phone": "+33987654321",
|
||||
"address1": "Nouvelle adresse ligne 1",
|
||||
"address2": "Nouvelle adresse ligne 2",
|
||||
"code_postal": "75001",
|
||||
"city": "Paris",
|
||||
"country": "France"
|
||||
}
|
||||
```
|
||||
|
||||
**Réponse réussie :**
|
||||
Même format que `GET /entity/{id}` avec les données mises à jour.
|
||||
|
||||
### Désactiver une entité
|
||||
|
||||
**Endpoint :** `DELETE /entity/{id}`
|
||||
|
||||
**Réponse réussie :**
|
||||
|
||||
```json
|
||||
{
|
||||
"success": true,
|
||||
"message": "Entité désactivée avec succès"
|
||||
}
|
||||
```
|
||||
|
||||
### Récupérer les utilisateurs d'une entité
|
||||
|
||||
**Endpoint :** `GET /entity/{id}/users`
|
||||
|
||||
**Paramètres de requête :**
|
||||
|
||||
- `page` (optionnel) : Numéro de page (défaut : 1)
|
||||
- `limit` (optionnel) : Nombre d'éléments par page (défaut : 20)
|
||||
|
||||
**Réponse réussie :**
|
||||
|
||||
```json
|
||||
{
|
||||
"success": true,
|
||||
"data": {
|
||||
"users": [
|
||||
{
|
||||
"id": 123,
|
||||
"display_name": "Nom d'affichage",
|
||||
"first_name": "Prénom",
|
||||
"last_name": "Nom",
|
||||
"avatar": "url_avatar",
|
||||
"email": "utilisateur@exemple.com",
|
||||
"phone": "+33612345678",
|
||||
"created_at": "2023-01-01T00:00:00Z",
|
||||
"updated_at": "2023-01-01T00:00:00Z",
|
||||
"connected_at": "2023-01-01T00:00:00Z",
|
||||
"is_active": true
|
||||
}
|
||||
],
|
||||
"pagination": {
|
||||
"total": 25,
|
||||
"page": 1,
|
||||
"limit": 20,
|
||||
"pages": 2
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## Structure des données
|
||||
|
||||
### Table `users`
|
||||
|
||||
```sql
|
||||
CREATE TABLE users (
|
||||
id INT AUTO_INCREMENT PRIMARY KEY,
|
||||
entity_id INT,
|
||||
display_name VARCHAR(100) NOT NULL,
|
||||
first_name VARCHAR(100),
|
||||
encrypted_last_name VARCHAR(512),
|
||||
avatar VARCHAR(255),
|
||||
encrypted_email VARCHAR(512),
|
||||
encrypted_phone VARCHAR(255),
|
||||
address1 VARCHAR(255),
|
||||
address2 VARCHAR(255),
|
||||
code_postal VARCHAR(20),
|
||||
city VARCHAR(100),
|
||||
country VARCHAR(100),
|
||||
seat_name VARCHAR(20),
|
||||
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
connected_at DATETIME,
|
||||
is_active BOOLEAN DEFAULT TRUE,
|
||||
FOREIGN KEY (entity_id) REFERENCES entities(id)
|
||||
);
|
||||
```
|
||||
|
||||
### Table `entities`
|
||||
|
||||
```sql
|
||||
CREATE TABLE entities (
|
||||
id INT AUTO_INCREMENT PRIMARY KEY,
|
||||
encrypted_name VARCHAR(512) NOT NULL,
|
||||
encrypted_email VARCHAR(512),
|
||||
encrypted_phone VARCHAR(255),
|
||||
address1 VARCHAR(255),
|
||||
address2 VARCHAR(255),
|
||||
code_postal VARCHAR(20),
|
||||
city VARCHAR(100),
|
||||
country VARCHAR(100),
|
||||
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
is_active BOOLEAN DEFAULT TRUE
|
||||
);
|
||||
```
|
||||
|
||||
## Sécurité
|
||||
|
||||
L'API utilise plusieurs mécanismes pour assurer la sécurité des données :
|
||||
|
||||
1. **Authentification par jeton** : Un jeton d'authentification est requis pour accéder aux endpoints protégés.
|
||||
2. **Chiffrement des données sensibles** : Les données sensibles comme les noms, emails et numéros de téléphone sont chiffrées en base de données.
|
||||
3. **Validation des entrées** : Toutes les entrées utilisateur sont validées avant traitement.
|
||||
4. **Gestion des erreurs** : Les erreurs sont gérées de manière sécurisée sans divulguer d'informations sensibles.
|
||||
|
||||
## Codes d'erreur
|
||||
|
||||
- `400 Bad Request` : Requête invalide ou données manquantes
|
||||
- `401 Unauthorized` : Authentification requise ou échouée
|
||||
- `403 Forbidden` : Accès non autorisé à la ressource
|
||||
- `404 Not Found` : Ressource non trouvée
|
||||
- `409 Conflict` : Conflit avec l'état actuel de la ressource
|
||||
- `500 Internal Server Error` : Erreur serveur
|
||||
|
||||
## Notes d'implémentation
|
||||
|
||||
- Les mots de passe sont hachés avec l'algorithme bcrypt.
|
||||
- Les données sensibles sont chiffrées avec AES-256-CBC.
|
||||
- Les emails sont envoyés pour les opérations importantes (inscription, réinitialisation de mot de passe).
|
||||
- Les sessions sont gérées côté serveur avec un délai d'expiration.
|
||||
23
app/.cline
23
app/.cline
@@ -1,23 +0,0 @@
|
||||
{
|
||||
"memoryBank": {
|
||||
"enabled": true,
|
||||
"path": "./docs",
|
||||
"maxContextSize": 100000
|
||||
},
|
||||
"contextSettings": {
|
||||
"maxTokens": 100000,
|
||||
"cline.maxAutoApprovedRequests": 100,
|
||||
"cline.enableMemoryBank": true,
|
||||
"cline.includeSnippetsFromMemory": true,
|
||||
"cline.contextLength": 10000,
|
||||
"cline.autoFormat": true
|
||||
},
|
||||
"mcpServers": {
|
||||
"github.com/modelcontextprotocol/servers/tree/main/src/git": {
|
||||
"command": "python",
|
||||
"args": ["-m", "mcp_server_git"],
|
||||
"disabled": false,
|
||||
"autoApprove": []
|
||||
}
|
||||
}
|
||||
}
|
||||
2
app/.dart_tool/build/entrypoint/.packageLocations
Normal file
2
app/.dart_tool/build/entrypoint/.packageLocations
Normal file
@@ -0,0 +1,2 @@
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/build_daemon-4.0.4/lib/fake.dart
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/build_runner-2.4.15/lib/fake.dart
|
||||
54
app/.dart_tool/build/entrypoint/build.dart
Normal file
54
app/.dart_tool/build/entrypoint/build.dart
Normal file
@@ -0,0 +1,54 @@
|
||||
// @dart=3.6
|
||||
// ignore_for_file: directives_ordering
|
||||
// ignore_for_file: no_leading_underscores_for_library_prefixes
|
||||
import 'package:build_runner_core/build_runner_core.dart' as _i1;
|
||||
import 'package:hive_generator/hive_generator.dart' as _i2;
|
||||
import 'package:source_gen/builder.dart' as _i3;
|
||||
import 'package:build_resolvers/builder.dart' as _i4;
|
||||
import 'dart:isolate' as _i5;
|
||||
import 'package:build_runner/build_runner.dart' as _i6;
|
||||
import 'dart:io' as _i7;
|
||||
|
||||
final _builders = <_i1.BuilderApplication>[
|
||||
_i1.apply(
|
||||
r'hive_generator:hive_generator',
|
||||
[_i2.getBuilder],
|
||||
_i1.toDependentsOf(r'hive_generator'),
|
||||
hideOutput: true,
|
||||
appliesBuilders: const [r'source_gen:combining_builder'],
|
||||
),
|
||||
_i1.apply(
|
||||
r'source_gen:combining_builder',
|
||||
[_i3.combiningBuilder],
|
||||
_i1.toNoneByDefault(),
|
||||
hideOutput: false,
|
||||
appliesBuilders: const [r'source_gen:part_cleanup'],
|
||||
),
|
||||
_i1.apply(
|
||||
r'build_resolvers:transitive_digests',
|
||||
[_i4.transitiveDigestsBuilder],
|
||||
_i1.toAllPackages(),
|
||||
isOptional: true,
|
||||
hideOutput: true,
|
||||
appliesBuilders: const [r'build_resolvers:transitive_digest_cleanup'],
|
||||
),
|
||||
_i1.applyPostProcess(
|
||||
r'build_resolvers:transitive_digest_cleanup',
|
||||
_i4.transitiveDigestCleanup,
|
||||
),
|
||||
_i1.applyPostProcess(
|
||||
r'source_gen:part_cleanup',
|
||||
_i3.partCleanup,
|
||||
),
|
||||
];
|
||||
void main(
|
||||
List<String> args, [
|
||||
_i5.SendPort? sendPort,
|
||||
]) async {
|
||||
var result = await _i6.run(
|
||||
args,
|
||||
_builders,
|
||||
);
|
||||
sendPort?.send(result);
|
||||
_i7.exitCode = result;
|
||||
}
|
||||
BIN
app/.dart_tool/build/entrypoint/build.dart.dill
Normal file
BIN
app/.dart_tool/build/entrypoint/build.dart.dill
Normal file
Binary file not shown.
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
||||
<EFBFBD>
|
||||
@@ -0,0 +1 @@
|
||||
<EFBFBD>C><3E>N<EFBFBD>a<EFBFBD><61><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"<22>
|
||||
@@ -0,0 +1 @@
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>5z<EFBFBD><EFBFBD><EFBFBD>k<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
@@ -0,0 +1 @@
|
||||
<EFBFBD>ũ<EFBFBD><EFBFBD><0C><><EFBFBD>U/!<21><>W<EFBFBD>
|
||||
@@ -0,0 +1 @@
|
||||
<EFBFBD> n<><6E>A<EFBFBD><41><08><13>+<2B><><EFBFBD>
|
||||
@@ -0,0 +1 @@
|
||||
X<EFBFBD>͊?<3F>sSφ?/^<5E>-k
|
||||
@@ -0,0 +1 @@
|
||||
<EFBFBD><EFBFBD><EFBFBD>0)9#<23>D<EFBFBD><<3C>Ѹ#
|
||||
@@ -0,0 +1 @@
|
||||
!iT<69>IeS<65> 2d<32>.<2E>n
|
||||
@@ -0,0 +1 @@
|
||||
<05><><EFBFBD>[<5B><>,<2C><><EFBFBD><EFBFBD><18><><EFBFBD>
|
||||
Binary file not shown.
Binary file not shown.
@@ -0,0 +1 @@
|
||||
e<EFBFBD>v<EFBFBD><EFBFBD><EFBFBD>K4I<34>]Ĕ<>:
|
||||
@@ -0,0 +1,55 @@
|
||||
// **************************************************************************
|
||||
// TypeAdapterGenerator
|
||||
// **************************************************************************
|
||||
|
||||
class AnonymousUserModelAdapter extends TypeAdapter<AnonymousUserModel> {
|
||||
@override
|
||||
final int typeId = 24;
|
||||
|
||||
@override
|
||||
AnonymousUserModel read(BinaryReader reader) {
|
||||
final numOfFields = reader.readByte();
|
||||
final fields = <int, dynamic>{
|
||||
for (int i = 0; i < numOfFields; i++) reader.readByte(): reader.read(),
|
||||
};
|
||||
return AnonymousUserModel(
|
||||
id: fields[0] as String,
|
||||
deviceId: fields[1] as String,
|
||||
name: fields[2] as String?,
|
||||
email: fields[3] as String?,
|
||||
createdAt: fields[4] as DateTime,
|
||||
convertedToUserId: fields[5] as String?,
|
||||
metadata: (fields[6] as Map?)?.cast<String, dynamic>(),
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
void write(BinaryWriter writer, AnonymousUserModel obj) {
|
||||
writer
|
||||
..writeByte(7)
|
||||
..writeByte(0)
|
||||
..write(obj.id)
|
||||
..writeByte(1)
|
||||
..write(obj.deviceId)
|
||||
..writeByte(2)
|
||||
..write(obj.name)
|
||||
..writeByte(3)
|
||||
..write(obj.email)
|
||||
..writeByte(4)
|
||||
..write(obj.createdAt)
|
||||
..writeByte(5)
|
||||
..write(obj.convertedToUserId)
|
||||
..writeByte(6)
|
||||
..write(obj.metadata);
|
||||
}
|
||||
|
||||
@override
|
||||
int get hashCode => typeId.hashCode;
|
||||
|
||||
@override
|
||||
bool operator ==(Object other) =>
|
||||
identical(this, other) ||
|
||||
other is AnonymousUserModelAdapter &&
|
||||
runtimeType == other.runtimeType &&
|
||||
typeId == other.typeId;
|
||||
}
|
||||
@@ -0,0 +1,55 @@
|
||||
// **************************************************************************
|
||||
// TypeAdapterGenerator
|
||||
// **************************************************************************
|
||||
|
||||
class AudienceTargetModelAdapter extends TypeAdapter<AudienceTargetModel> {
|
||||
@override
|
||||
final int typeId = 23;
|
||||
|
||||
@override
|
||||
AudienceTargetModel read(BinaryReader reader) {
|
||||
final numOfFields = reader.readByte();
|
||||
final fields = <int, dynamic>{
|
||||
for (int i = 0; i < numOfFields; i++) reader.readByte(): reader.read(),
|
||||
};
|
||||
return AudienceTargetModel(
|
||||
id: fields[0] as String,
|
||||
conversationId: fields[1] as String,
|
||||
targetType: fields[2] as String,
|
||||
targetId: fields[3] as String?,
|
||||
createdAt: fields[4] as DateTime,
|
||||
roleFilter: fields[5] as String?,
|
||||
entityFilter: fields[6] as String?,
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
void write(BinaryWriter writer, AudienceTargetModel obj) {
|
||||
writer
|
||||
..writeByte(7)
|
||||
..writeByte(0)
|
||||
..write(obj.id)
|
||||
..writeByte(1)
|
||||
..write(obj.conversationId)
|
||||
..writeByte(2)
|
||||
..write(obj.targetType)
|
||||
..writeByte(3)
|
||||
..write(obj.targetId)
|
||||
..writeByte(4)
|
||||
..write(obj.createdAt)
|
||||
..writeByte(5)
|
||||
..write(obj.roleFilter)
|
||||
..writeByte(6)
|
||||
..write(obj.entityFilter);
|
||||
}
|
||||
|
||||
@override
|
||||
int get hashCode => typeId.hashCode;
|
||||
|
||||
@override
|
||||
bool operator ==(Object other) =>
|
||||
identical(this, other) ||
|
||||
other is AudienceTargetModelAdapter &&
|
||||
runtimeType == other.runtimeType &&
|
||||
typeId == other.typeId;
|
||||
}
|
||||
@@ -0,0 +1,64 @@
|
||||
// **************************************************************************
|
||||
// TypeAdapterGenerator
|
||||
// **************************************************************************
|
||||
|
||||
class ConversationModelAdapter extends TypeAdapter<ConversationModel> {
|
||||
@override
|
||||
final int typeId = 20;
|
||||
|
||||
@override
|
||||
ConversationModel read(BinaryReader reader) {
|
||||
final numOfFields = reader.readByte();
|
||||
final fields = <int, dynamic>{
|
||||
for (int i = 0; i < numOfFields; i++) reader.readByte(): reader.read(),
|
||||
};
|
||||
return ConversationModel(
|
||||
id: fields[0] as String,
|
||||
type: fields[1] as String,
|
||||
title: fields[2] as String?,
|
||||
createdAt: fields[3] as DateTime,
|
||||
updatedAt: fields[4] as DateTime,
|
||||
participants: (fields[5] as List).cast<ParticipantModel>(),
|
||||
isSynced: fields[6] as bool,
|
||||
replyPermission: fields[7] as String,
|
||||
isPinned: fields[8] as bool,
|
||||
expiryDate: fields[9] as DateTime?,
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
void write(BinaryWriter writer, ConversationModel obj) {
|
||||
writer
|
||||
..writeByte(10)
|
||||
..writeByte(0)
|
||||
..write(obj.id)
|
||||
..writeByte(1)
|
||||
..write(obj.type)
|
||||
..writeByte(2)
|
||||
..write(obj.title)
|
||||
..writeByte(3)
|
||||
..write(obj.createdAt)
|
||||
..writeByte(4)
|
||||
..write(obj.updatedAt)
|
||||
..writeByte(5)
|
||||
..write(obj.participants)
|
||||
..writeByte(6)
|
||||
..write(obj.isSynced)
|
||||
..writeByte(7)
|
||||
..write(obj.replyPermission)
|
||||
..writeByte(8)
|
||||
..write(obj.isPinned)
|
||||
..writeByte(9)
|
||||
..write(obj.expiryDate);
|
||||
}
|
||||
|
||||
@override
|
||||
int get hashCode => typeId.hashCode;
|
||||
|
||||
@override
|
||||
bool operator ==(Object other) =>
|
||||
identical(this, other) ||
|
||||
other is ConversationModelAdapter &&
|
||||
runtimeType == other.runtimeType &&
|
||||
typeId == other.typeId;
|
||||
}
|
||||
@@ -0,0 +1,67 @@
|
||||
// **************************************************************************
|
||||
// TypeAdapterGenerator
|
||||
// **************************************************************************
|
||||
|
||||
class MessageModelAdapter extends TypeAdapter<MessageModel> {
|
||||
@override
|
||||
final int typeId = 21;
|
||||
|
||||
@override
|
||||
MessageModel read(BinaryReader reader) {
|
||||
final numOfFields = reader.readByte();
|
||||
final fields = <int, dynamic>{
|
||||
for (int i = 0; i < numOfFields; i++) reader.readByte(): reader.read(),
|
||||
};
|
||||
return MessageModel(
|
||||
id: fields[0] as String,
|
||||
conversationId: fields[1] as String,
|
||||
senderId: fields[2] as String?,
|
||||
senderType: fields[3] as String,
|
||||
content: fields[4] as String,
|
||||
contentType: fields[5] as String,
|
||||
createdAt: fields[6] as DateTime,
|
||||
deliveredAt: fields[7] as DateTime?,
|
||||
readAt: fields[8] as DateTime?,
|
||||
status: fields[9] as String,
|
||||
isAnnouncement: fields[10] as bool,
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
void write(BinaryWriter writer, MessageModel obj) {
|
||||
writer
|
||||
..writeByte(11)
|
||||
..writeByte(0)
|
||||
..write(obj.id)
|
||||
..writeByte(1)
|
||||
..write(obj.conversationId)
|
||||
..writeByte(2)
|
||||
..write(obj.senderId)
|
||||
..writeByte(3)
|
||||
..write(obj.senderType)
|
||||
..writeByte(4)
|
||||
..write(obj.content)
|
||||
..writeByte(5)
|
||||
..write(obj.contentType)
|
||||
..writeByte(6)
|
||||
..write(obj.createdAt)
|
||||
..writeByte(7)
|
||||
..write(obj.deliveredAt)
|
||||
..writeByte(8)
|
||||
..write(obj.readAt)
|
||||
..writeByte(9)
|
||||
..write(obj.status)
|
||||
..writeByte(10)
|
||||
..write(obj.isAnnouncement);
|
||||
}
|
||||
|
||||
@override
|
||||
int get hashCode => typeId.hashCode;
|
||||
|
||||
@override
|
||||
bool operator ==(Object other) =>
|
||||
identical(this, other) ||
|
||||
other is MessageModelAdapter &&
|
||||
runtimeType == other.runtimeType &&
|
||||
typeId == other.typeId;
|
||||
}
|
||||
@@ -0,0 +1,64 @@
|
||||
// **************************************************************************
|
||||
// TypeAdapterGenerator
|
||||
// **************************************************************************
|
||||
|
||||
class NotificationSettingsAdapter extends TypeAdapter<NotificationSettings> {
|
||||
@override
|
||||
final int typeId = 25;
|
||||
|
||||
@override
|
||||
NotificationSettings read(BinaryReader reader) {
|
||||
final numOfFields = reader.readByte();
|
||||
final fields = <int, dynamic>{
|
||||
for (int i = 0; i < numOfFields; i++) reader.readByte(): reader.read(),
|
||||
};
|
||||
return NotificationSettings(
|
||||
enableNotifications: fields[0] as bool,
|
||||
soundEnabled: fields[1] as bool,
|
||||
vibrationEnabled: fields[2] as bool,
|
||||
mutedConversations: (fields[3] as List).cast<String>(),
|
||||
showPreview: fields[4] as bool,
|
||||
conversationNotifications: (fields[5] as Map).cast<String, bool>(),
|
||||
doNotDisturb: fields[6] as bool,
|
||||
doNotDisturbStart: fields[7] as DateTime?,
|
||||
doNotDisturbEnd: fields[8] as DateTime?,
|
||||
deviceToken: fields[9] as String?,
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
void write(BinaryWriter writer, NotificationSettings obj) {
|
||||
writer
|
||||
..writeByte(10)
|
||||
..writeByte(0)
|
||||
..write(obj.enableNotifications)
|
||||
..writeByte(1)
|
||||
..write(obj.soundEnabled)
|
||||
..writeByte(2)
|
||||
..write(obj.vibrationEnabled)
|
||||
..writeByte(3)
|
||||
..write(obj.mutedConversations)
|
||||
..writeByte(4)
|
||||
..write(obj.showPreview)
|
||||
..writeByte(5)
|
||||
..write(obj.conversationNotifications)
|
||||
..writeByte(6)
|
||||
..write(obj.doNotDisturb)
|
||||
..writeByte(7)
|
||||
..write(obj.doNotDisturbStart)
|
||||
..writeByte(8)
|
||||
..write(obj.doNotDisturbEnd)
|
||||
..writeByte(9)
|
||||
..write(obj.deviceToken);
|
||||
}
|
||||
|
||||
@override
|
||||
int get hashCode => typeId.hashCode;
|
||||
|
||||
@override
|
||||
bool operator ==(Object other) =>
|
||||
identical(this, other) ||
|
||||
other is NotificationSettingsAdapter &&
|
||||
runtimeType == other.runtimeType &&
|
||||
typeId == other.typeId;
|
||||
}
|
||||
@@ -0,0 +1,61 @@
|
||||
// **************************************************************************
|
||||
// TypeAdapterGenerator
|
||||
// **************************************************************************
|
||||
|
||||
class ParticipantModelAdapter extends TypeAdapter<ParticipantModel> {
|
||||
@override
|
||||
final int typeId = 22;
|
||||
|
||||
@override
|
||||
ParticipantModel read(BinaryReader reader) {
|
||||
final numOfFields = reader.readByte();
|
||||
final fields = <int, dynamic>{
|
||||
for (int i = 0; i < numOfFields; i++) reader.readByte(): reader.read(),
|
||||
};
|
||||
return ParticipantModel(
|
||||
id: fields[0] as String,
|
||||
conversationId: fields[1] as String,
|
||||
userId: fields[2] as String?,
|
||||
anonymousId: fields[3] as String?,
|
||||
role: fields[4] as String,
|
||||
joinedAt: fields[5] as DateTime,
|
||||
lastReadMessageId: fields[6] as String?,
|
||||
viaTarget: fields[7] as bool,
|
||||
canReply: fields[8] as bool?,
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
void write(BinaryWriter writer, ParticipantModel obj) {
|
||||
writer
|
||||
..writeByte(9)
|
||||
..writeByte(0)
|
||||
..write(obj.id)
|
||||
..writeByte(1)
|
||||
..write(obj.conversationId)
|
||||
..writeByte(2)
|
||||
..write(obj.userId)
|
||||
..writeByte(3)
|
||||
..write(obj.anonymousId)
|
||||
..writeByte(4)
|
||||
..write(obj.role)
|
||||
..writeByte(5)
|
||||
..write(obj.joinedAt)
|
||||
..writeByte(6)
|
||||
..write(obj.lastReadMessageId)
|
||||
..writeByte(7)
|
||||
..write(obj.viaTarget)
|
||||
..writeByte(8)
|
||||
..write(obj.canReply);
|
||||
}
|
||||
|
||||
@override
|
||||
int get hashCode => typeId.hashCode;
|
||||
|
||||
@override
|
||||
bool operator ==(Object other) =>
|
||||
identical(this, other) ||
|
||||
other is ParticipantModelAdapter &&
|
||||
runtimeType == other.runtimeType &&
|
||||
typeId == other.typeId;
|
||||
}
|
||||
@@ -0,0 +1,100 @@
|
||||
// **************************************************************************
|
||||
// TypeAdapterGenerator
|
||||
// **************************************************************************
|
||||
|
||||
class AmicaleModelAdapter extends TypeAdapter<AmicaleModel> {
|
||||
@override
|
||||
final int typeId = 11;
|
||||
|
||||
@override
|
||||
AmicaleModel read(BinaryReader reader) {
|
||||
final numOfFields = reader.readByte();
|
||||
final fields = <int, dynamic>{
|
||||
for (int i = 0; i < numOfFields; i++) reader.readByte(): reader.read(),
|
||||
};
|
||||
return AmicaleModel(
|
||||
id: fields[0] as int,
|
||||
name: fields[1] as String,
|
||||
adresse1: fields[2] as String,
|
||||
adresse2: fields[3] as String,
|
||||
codePostal: fields[4] as String,
|
||||
ville: fields[5] as String,
|
||||
fkRegion: fields[6] as int?,
|
||||
libRegion: fields[7] as String?,
|
||||
fkType: fields[8] as int?,
|
||||
phone: fields[9] as String,
|
||||
mobile: fields[10] as String,
|
||||
email: fields[11] as String,
|
||||
gpsLat: fields[12] as String,
|
||||
gpsLng: fields[13] as String,
|
||||
stripeId: fields[14] as String,
|
||||
chkDemo: fields[15] as bool,
|
||||
chkCopieMailRecu: fields[16] as bool,
|
||||
chkAcceptSms: fields[17] as bool,
|
||||
chkActive: fields[18] as bool,
|
||||
chkStripe: fields[19] as bool,
|
||||
createdAt: fields[20] as DateTime?,
|
||||
updatedAt: fields[21] as DateTime?,
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
void write(BinaryWriter writer, AmicaleModel obj) {
|
||||
writer
|
||||
..writeByte(22)
|
||||
..writeByte(0)
|
||||
..write(obj.id)
|
||||
..writeByte(1)
|
||||
..write(obj.name)
|
||||
..writeByte(2)
|
||||
..write(obj.adresse1)
|
||||
..writeByte(3)
|
||||
..write(obj.adresse2)
|
||||
..writeByte(4)
|
||||
..write(obj.codePostal)
|
||||
..writeByte(5)
|
||||
..write(obj.ville)
|
||||
..writeByte(6)
|
||||
..write(obj.fkRegion)
|
||||
..writeByte(7)
|
||||
..write(obj.libRegion)
|
||||
..writeByte(8)
|
||||
..write(obj.fkType)
|
||||
..writeByte(9)
|
||||
..write(obj.phone)
|
||||
..writeByte(10)
|
||||
..write(obj.mobile)
|
||||
..writeByte(11)
|
||||
..write(obj.email)
|
||||
..writeByte(12)
|
||||
..write(obj.gpsLat)
|
||||
..writeByte(13)
|
||||
..write(obj.gpsLng)
|
||||
..writeByte(14)
|
||||
..write(obj.stripeId)
|
||||
..writeByte(15)
|
||||
..write(obj.chkDemo)
|
||||
..writeByte(16)
|
||||
..write(obj.chkCopieMailRecu)
|
||||
..writeByte(17)
|
||||
..write(obj.chkAcceptSms)
|
||||
..writeByte(18)
|
||||
..write(obj.chkActive)
|
||||
..writeByte(19)
|
||||
..write(obj.chkStripe)
|
||||
..writeByte(20)
|
||||
..write(obj.createdAt)
|
||||
..writeByte(21)
|
||||
..write(obj.updatedAt);
|
||||
}
|
||||
|
||||
@override
|
||||
int get hashCode => typeId.hashCode;
|
||||
|
||||
@override
|
||||
bool operator ==(Object other) =>
|
||||
identical(this, other) ||
|
||||
other is AmicaleModelAdapter &&
|
||||
runtimeType == other.runtimeType &&
|
||||
typeId == other.typeId;
|
||||
}
|
||||
@@ -0,0 +1,91 @@
|
||||
// **************************************************************************
|
||||
// TypeAdapterGenerator
|
||||
// **************************************************************************
|
||||
|
||||
class ClientModelAdapter extends TypeAdapter<ClientModel> {
|
||||
@override
|
||||
final int typeId = 10;
|
||||
|
||||
@override
|
||||
ClientModel read(BinaryReader reader) {
|
||||
final numOfFields = reader.readByte();
|
||||
final fields = <int, dynamic>{
|
||||
for (int i = 0; i < numOfFields; i++) reader.readByte(): reader.read(),
|
||||
};
|
||||
return ClientModel(
|
||||
id: fields[0] as int,
|
||||
name: fields[1] as String,
|
||||
adresse1: fields[2] as String?,
|
||||
adresse2: fields[3] as String?,
|
||||
codePostal: fields[4] as String?,
|
||||
ville: fields[5] as String?,
|
||||
fkRegion: fields[6] as int?,
|
||||
libRegion: fields[7] as String?,
|
||||
fkType: fields[8] as int?,
|
||||
phone: fields[9] as String?,
|
||||
mobile: fields[10] as String?,
|
||||
email: fields[11] as String?,
|
||||
gpsLat: fields[12] as String?,
|
||||
gpsLng: fields[13] as String?,
|
||||
stripeId: fields[14] as String?,
|
||||
chkDemo: fields[15] as bool?,
|
||||
chkCopieMailRecu: fields[16] as bool?,
|
||||
chkAcceptSms: fields[17] as bool?,
|
||||
chkActive: fields[18] as bool?,
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
void write(BinaryWriter writer, ClientModel obj) {
|
||||
writer
|
||||
..writeByte(19)
|
||||
..writeByte(0)
|
||||
..write(obj.id)
|
||||
..writeByte(1)
|
||||
..write(obj.name)
|
||||
..writeByte(2)
|
||||
..write(obj.adresse1)
|
||||
..writeByte(3)
|
||||
..write(obj.adresse2)
|
||||
..writeByte(4)
|
||||
..write(obj.codePostal)
|
||||
..writeByte(5)
|
||||
..write(obj.ville)
|
||||
..writeByte(6)
|
||||
..write(obj.fkRegion)
|
||||
..writeByte(7)
|
||||
..write(obj.libRegion)
|
||||
..writeByte(8)
|
||||
..write(obj.fkType)
|
||||
..writeByte(9)
|
||||
..write(obj.phone)
|
||||
..writeByte(10)
|
||||
..write(obj.mobile)
|
||||
..writeByte(11)
|
||||
..write(obj.email)
|
||||
..writeByte(12)
|
||||
..write(obj.gpsLat)
|
||||
..writeByte(13)
|
||||
..write(obj.gpsLng)
|
||||
..writeByte(14)
|
||||
..write(obj.stripeId)
|
||||
..writeByte(15)
|
||||
..write(obj.chkDemo)
|
||||
..writeByte(16)
|
||||
..write(obj.chkCopieMailRecu)
|
||||
..writeByte(17)
|
||||
..write(obj.chkAcceptSms)
|
||||
..writeByte(18)
|
||||
..write(obj.chkActive);
|
||||
}
|
||||
|
||||
@override
|
||||
int get hashCode => typeId.hashCode;
|
||||
|
||||
@override
|
||||
bool operator ==(Object other) =>
|
||||
identical(this, other) ||
|
||||
other is ClientModelAdapter &&
|
||||
runtimeType == other.runtimeType &&
|
||||
typeId == other.typeId;
|
||||
}
|
||||
@@ -0,0 +1,67 @@
|
||||
// **************************************************************************
|
||||
// TypeAdapterGenerator
|
||||
// **************************************************************************
|
||||
|
||||
class MembreModelAdapter extends TypeAdapter<MembreModel> {
|
||||
@override
|
||||
final int typeId = 5;
|
||||
|
||||
@override
|
||||
MembreModel read(BinaryReader reader) {
|
||||
final numOfFields = reader.readByte();
|
||||
final fields = <int, dynamic>{
|
||||
for (int i = 0; i < numOfFields; i++) reader.readByte(): reader.read(),
|
||||
};
|
||||
return MembreModel(
|
||||
id: fields[0] as int,
|
||||
fkRole: fields[1] as int,
|
||||
fkTitre: fields[2] as int,
|
||||
firstName: fields[3] as String,
|
||||
sectName: fields[4] as String?,
|
||||
dateNaissance: fields[5] as DateTime?,
|
||||
dateEmbauche: fields[6] as DateTime?,
|
||||
chkActive: fields[7] as int,
|
||||
name: fields[8] as String,
|
||||
username: fields[9] as String,
|
||||
email: fields[10] as String,
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
void write(BinaryWriter writer, MembreModel obj) {
|
||||
writer
|
||||
..writeByte(11)
|
||||
..writeByte(0)
|
||||
..write(obj.id)
|
||||
..writeByte(1)
|
||||
..write(obj.fkRole)
|
||||
..writeByte(2)
|
||||
..write(obj.fkTitre)
|
||||
..writeByte(3)
|
||||
..write(obj.firstName)
|
||||
..writeByte(4)
|
||||
..write(obj.sectName)
|
||||
..writeByte(5)
|
||||
..write(obj.dateNaissance)
|
||||
..writeByte(6)
|
||||
..write(obj.dateEmbauche)
|
||||
..writeByte(7)
|
||||
..write(obj.chkActive)
|
||||
..writeByte(8)
|
||||
..write(obj.name)
|
||||
..writeByte(9)
|
||||
..write(obj.username)
|
||||
..writeByte(10)
|
||||
..write(obj.email);
|
||||
}
|
||||
|
||||
@override
|
||||
int get hashCode => typeId.hashCode;
|
||||
|
||||
@override
|
||||
bool operator ==(Object other) =>
|
||||
identical(this, other) ||
|
||||
other is MembreModelAdapter &&
|
||||
runtimeType == other.runtimeType &&
|
||||
typeId == other.typeId;
|
||||
}
|
||||
@@ -0,0 +1,55 @@
|
||||
// **************************************************************************
|
||||
// TypeAdapterGenerator
|
||||
// **************************************************************************
|
||||
|
||||
class OperationModelAdapter extends TypeAdapter<OperationModel> {
|
||||
@override
|
||||
final int typeId = 1;
|
||||
|
||||
@override
|
||||
OperationModel read(BinaryReader reader) {
|
||||
final numOfFields = reader.readByte();
|
||||
final fields = <int, dynamic>{
|
||||
for (int i = 0; i < numOfFields; i++) reader.readByte(): reader.read(),
|
||||
};
|
||||
return OperationModel(
|
||||
id: fields[0] as int,
|
||||
name: fields[1] as String,
|
||||
dateDebut: fields[2] as DateTime,
|
||||
dateFin: fields[3] as DateTime,
|
||||
lastSyncedAt: fields[4] as DateTime,
|
||||
isActive: fields[5] as bool,
|
||||
isSynced: fields[6] as bool,
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
void write(BinaryWriter writer, OperationModel obj) {
|
||||
writer
|
||||
..writeByte(7)
|
||||
..writeByte(0)
|
||||
..write(obj.id)
|
||||
..writeByte(1)
|
||||
..write(obj.name)
|
||||
..writeByte(2)
|
||||
..write(obj.dateDebut)
|
||||
..writeByte(3)
|
||||
..write(obj.dateFin)
|
||||
..writeByte(4)
|
||||
..write(obj.lastSyncedAt)
|
||||
..writeByte(5)
|
||||
..write(obj.isActive)
|
||||
..writeByte(6)
|
||||
..write(obj.isSynced);
|
||||
}
|
||||
|
||||
@override
|
||||
int get hashCode => typeId.hashCode;
|
||||
|
||||
@override
|
||||
bool operator ==(Object other) =>
|
||||
identical(this, other) ||
|
||||
other is OperationModelAdapter &&
|
||||
runtimeType == other.runtimeType &&
|
||||
typeId == other.typeId;
|
||||
}
|
||||
@@ -0,0 +1,121 @@
|
||||
// **************************************************************************
|
||||
// TypeAdapterGenerator
|
||||
// **************************************************************************
|
||||
|
||||
class PassageModelAdapter extends TypeAdapter<PassageModel> {
|
||||
@override
|
||||
final int typeId = 4;
|
||||
|
||||
@override
|
||||
PassageModel read(BinaryReader reader) {
|
||||
final numOfFields = reader.readByte();
|
||||
final fields = <int, dynamic>{
|
||||
for (int i = 0; i < numOfFields; i++) reader.readByte(): reader.read(),
|
||||
};
|
||||
return PassageModel(
|
||||
id: fields[0] as int,
|
||||
fkOperation: fields[1] as int,
|
||||
fkSector: fields[2] as int,
|
||||
fkUser: fields[3] as int,
|
||||
fkType: fields[4] as int,
|
||||
fkAdresse: fields[5] as String,
|
||||
passedAt: fields[6] as DateTime,
|
||||
numero: fields[7] as String,
|
||||
rue: fields[8] as String,
|
||||
rueBis: fields[9] as String,
|
||||
ville: fields[10] as String,
|
||||
residence: fields[11] as String,
|
||||
fkHabitat: fields[12] as int,
|
||||
appt: fields[13] as String,
|
||||
niveau: fields[14] as String,
|
||||
gpsLat: fields[15] as String,
|
||||
gpsLng: fields[16] as String,
|
||||
nomRecu: fields[17] as String,
|
||||
remarque: fields[18] as String,
|
||||
montant: fields[19] as String,
|
||||
fkTypeReglement: fields[20] as int,
|
||||
emailErreur: fields[21] as String,
|
||||
nbPassages: fields[22] as int,
|
||||
name: fields[23] as String,
|
||||
email: fields[24] as String,
|
||||
phone: fields[25] as String,
|
||||
lastSyncedAt: fields[26] as DateTime,
|
||||
isActive: fields[27] as bool,
|
||||
isSynced: fields[28] as bool,
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
void write(BinaryWriter writer, PassageModel obj) {
|
||||
writer
|
||||
..writeByte(29)
|
||||
..writeByte(0)
|
||||
..write(obj.id)
|
||||
..writeByte(1)
|
||||
..write(obj.fkOperation)
|
||||
..writeByte(2)
|
||||
..write(obj.fkSector)
|
||||
..writeByte(3)
|
||||
..write(obj.fkUser)
|
||||
..writeByte(4)
|
||||
..write(obj.fkType)
|
||||
..writeByte(5)
|
||||
..write(obj.fkAdresse)
|
||||
..writeByte(6)
|
||||
..write(obj.passedAt)
|
||||
..writeByte(7)
|
||||
..write(obj.numero)
|
||||
..writeByte(8)
|
||||
..write(obj.rue)
|
||||
..writeByte(9)
|
||||
..write(obj.rueBis)
|
||||
..writeByte(10)
|
||||
..write(obj.ville)
|
||||
..writeByte(11)
|
||||
..write(obj.residence)
|
||||
..writeByte(12)
|
||||
..write(obj.fkHabitat)
|
||||
..writeByte(13)
|
||||
..write(obj.appt)
|
||||
..writeByte(14)
|
||||
..write(obj.niveau)
|
||||
..writeByte(15)
|
||||
..write(obj.gpsLat)
|
||||
..writeByte(16)
|
||||
..write(obj.gpsLng)
|
||||
..writeByte(17)
|
||||
..write(obj.nomRecu)
|
||||
..writeByte(18)
|
||||
..write(obj.remarque)
|
||||
..writeByte(19)
|
||||
..write(obj.montant)
|
||||
..writeByte(20)
|
||||
..write(obj.fkTypeReglement)
|
||||
..writeByte(21)
|
||||
..write(obj.emailErreur)
|
||||
..writeByte(22)
|
||||
..write(obj.nbPassages)
|
||||
..writeByte(23)
|
||||
..write(obj.name)
|
||||
..writeByte(24)
|
||||
..write(obj.email)
|
||||
..writeByte(25)
|
||||
..write(obj.phone)
|
||||
..writeByte(26)
|
||||
..write(obj.lastSyncedAt)
|
||||
..writeByte(27)
|
||||
..write(obj.isActive)
|
||||
..writeByte(28)
|
||||
..write(obj.isSynced);
|
||||
}
|
||||
|
||||
@override
|
||||
int get hashCode => typeId.hashCode;
|
||||
|
||||
@override
|
||||
bool operator ==(Object other) =>
|
||||
identical(this, other) ||
|
||||
other is PassageModelAdapter &&
|
||||
runtimeType == other.runtimeType &&
|
||||
typeId == other.typeId;
|
||||
}
|
||||
@@ -0,0 +1,55 @@
|
||||
// **************************************************************************
|
||||
// TypeAdapterGenerator
|
||||
// **************************************************************************
|
||||
|
||||
class RegionModelAdapter extends TypeAdapter<RegionModel> {
|
||||
@override
|
||||
final int typeId = 7;
|
||||
|
||||
@override
|
||||
RegionModel read(BinaryReader reader) {
|
||||
final numOfFields = reader.readByte();
|
||||
final fields = <int, dynamic>{
|
||||
for (int i = 0; i < numOfFields; i++) reader.readByte(): reader.read(),
|
||||
};
|
||||
return RegionModel(
|
||||
id: fields[0] as int,
|
||||
fkPays: fields[1] as int,
|
||||
libelle: fields[2] as String,
|
||||
libelleLong: fields[3] as String?,
|
||||
tableOsm: fields[4] as String?,
|
||||
departements: fields[5] as String?,
|
||||
chkActive: fields[6] as bool,
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
void write(BinaryWriter writer, RegionModel obj) {
|
||||
writer
|
||||
..writeByte(7)
|
||||
..writeByte(0)
|
||||
..write(obj.id)
|
||||
..writeByte(1)
|
||||
..write(obj.fkPays)
|
||||
..writeByte(2)
|
||||
..write(obj.libelle)
|
||||
..writeByte(3)
|
||||
..write(obj.libelleLong)
|
||||
..writeByte(4)
|
||||
..write(obj.tableOsm)
|
||||
..writeByte(5)
|
||||
..write(obj.departements)
|
||||
..writeByte(6)
|
||||
..write(obj.chkActive);
|
||||
}
|
||||
|
||||
@override
|
||||
int get hashCode => typeId.hashCode;
|
||||
|
||||
@override
|
||||
bool operator ==(Object other) =>
|
||||
identical(this, other) ||
|
||||
other is RegionModelAdapter &&
|
||||
runtimeType == other.runtimeType &&
|
||||
typeId == other.typeId;
|
||||
}
|
||||
@@ -0,0 +1,46 @@
|
||||
// **************************************************************************
|
||||
// TypeAdapterGenerator
|
||||
// **************************************************************************
|
||||
|
||||
class SectorModelAdapter extends TypeAdapter<SectorModel> {
|
||||
@override
|
||||
final int typeId = 3;
|
||||
|
||||
@override
|
||||
SectorModel read(BinaryReader reader) {
|
||||
final numOfFields = reader.readByte();
|
||||
final fields = <int, dynamic>{
|
||||
for (int i = 0; i < numOfFields; i++) reader.readByte(): reader.read(),
|
||||
};
|
||||
return SectorModel(
|
||||
id: fields[0] as int,
|
||||
libelle: fields[1] as String,
|
||||
color: fields[2] as String,
|
||||
sector: fields[3] as String,
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
void write(BinaryWriter writer, SectorModel obj) {
|
||||
writer
|
||||
..writeByte(4)
|
||||
..writeByte(0)
|
||||
..write(obj.id)
|
||||
..writeByte(1)
|
||||
..write(obj.libelle)
|
||||
..writeByte(2)
|
||||
..write(obj.color)
|
||||
..writeByte(3)
|
||||
..write(obj.sector);
|
||||
}
|
||||
|
||||
@override
|
||||
int get hashCode => typeId.hashCode;
|
||||
|
||||
@override
|
||||
bool operator ==(Object other) =>
|
||||
identical(this, other) ||
|
||||
other is SectorModelAdapter &&
|
||||
runtimeType == other.runtimeType &&
|
||||
typeId == other.typeId;
|
||||
}
|
||||
@@ -0,0 +1,94 @@
|
||||
// **************************************************************************
|
||||
// TypeAdapterGenerator
|
||||
// **************************************************************************
|
||||
|
||||
class UserModelAdapter extends TypeAdapter<UserModel> {
|
||||
@override
|
||||
final int typeId = 0;
|
||||
|
||||
@override
|
||||
UserModel read(BinaryReader reader) {
|
||||
final numOfFields = reader.readByte();
|
||||
final fields = <int, dynamic>{
|
||||
for (int i = 0; i < numOfFields; i++) reader.readByte(): reader.read(),
|
||||
};
|
||||
return UserModel(
|
||||
id: fields[0] as int,
|
||||
email: fields[1] as String,
|
||||
name: fields[2] as String?,
|
||||
username: fields[11] as String?,
|
||||
firstName: fields[10] as String?,
|
||||
role: fields[3] as int,
|
||||
createdAt: fields[4] as DateTime,
|
||||
lastSyncedAt: fields[5] as DateTime,
|
||||
isActive: fields[6] as bool,
|
||||
isSynced: fields[7] as bool,
|
||||
sessionId: fields[8] as String?,
|
||||
sessionExpiry: fields[9] as DateTime?,
|
||||
lastPath: fields[12] as String?,
|
||||
sectName: fields[13] as String?,
|
||||
fkEntite: fields[14] as int?,
|
||||
fkTitre: fields[15] as int?,
|
||||
phone: fields[16] as String?,
|
||||
mobile: fields[17] as String?,
|
||||
dateNaissance: fields[18] as DateTime?,
|
||||
dateEmbauche: fields[19] as DateTime?,
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
void write(BinaryWriter writer, UserModel obj) {
|
||||
writer
|
||||
..writeByte(20)
|
||||
..writeByte(0)
|
||||
..write(obj.id)
|
||||
..writeByte(1)
|
||||
..write(obj.email)
|
||||
..writeByte(2)
|
||||
..write(obj.name)
|
||||
..writeByte(11)
|
||||
..write(obj.username)
|
||||
..writeByte(10)
|
||||
..write(obj.firstName)
|
||||
..writeByte(3)
|
||||
..write(obj.role)
|
||||
..writeByte(4)
|
||||
..write(obj.createdAt)
|
||||
..writeByte(5)
|
||||
..write(obj.lastSyncedAt)
|
||||
..writeByte(6)
|
||||
..write(obj.isActive)
|
||||
..writeByte(7)
|
||||
..write(obj.isSynced)
|
||||
..writeByte(8)
|
||||
..write(obj.sessionId)
|
||||
..writeByte(9)
|
||||
..write(obj.sessionExpiry)
|
||||
..writeByte(12)
|
||||
..write(obj.lastPath)
|
||||
..writeByte(13)
|
||||
..write(obj.sectName)
|
||||
..writeByte(14)
|
||||
..write(obj.fkEntite)
|
||||
..writeByte(15)
|
||||
..write(obj.fkTitre)
|
||||
..writeByte(16)
|
||||
..write(obj.phone)
|
||||
..writeByte(17)
|
||||
..write(obj.mobile)
|
||||
..writeByte(18)
|
||||
..write(obj.dateNaissance)
|
||||
..writeByte(19)
|
||||
..write(obj.dateEmbauche);
|
||||
}
|
||||
|
||||
@override
|
||||
int get hashCode => typeId.hashCode;
|
||||
|
||||
@override
|
||||
bool operator ==(Object other) =>
|
||||
identical(this, other) ||
|
||||
other is UserModelAdapter &&
|
||||
runtimeType == other.runtimeType &&
|
||||
typeId == other.typeId;
|
||||
}
|
||||
@@ -0,0 +1,49 @@
|
||||
// **************************************************************************
|
||||
// TypeAdapterGenerator
|
||||
// **************************************************************************
|
||||
|
||||
class UserSectorModelAdapter extends TypeAdapter<UserSectorModel> {
|
||||
@override
|
||||
final int typeId = 7;
|
||||
|
||||
@override
|
||||
UserSectorModel read(BinaryReader reader) {
|
||||
final numOfFields = reader.readByte();
|
||||
final fields = <int, dynamic>{
|
||||
for (int i = 0; i < numOfFields; i++) reader.readByte(): reader.read(),
|
||||
};
|
||||
return UserSectorModel(
|
||||
id: fields[0] as int,
|
||||
firstName: fields[1] as String?,
|
||||
sectName: fields[2] as String?,
|
||||
fkSector: fields[3] as int,
|
||||
name: fields[4] as String?,
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
void write(BinaryWriter writer, UserSectorModel obj) {
|
||||
writer
|
||||
..writeByte(5)
|
||||
..writeByte(0)
|
||||
..write(obj.id)
|
||||
..writeByte(1)
|
||||
..write(obj.firstName)
|
||||
..writeByte(2)
|
||||
..write(obj.sectName)
|
||||
..writeByte(3)
|
||||
..write(obj.fkSector)
|
||||
..writeByte(4)
|
||||
..write(obj.name);
|
||||
}
|
||||
|
||||
@override
|
||||
int get hashCode => typeId.hashCode;
|
||||
|
||||
@override
|
||||
bool operator ==(Object other) =>
|
||||
identical(this, other) ||
|
||||
other is UserSectorModelAdapter &&
|
||||
runtimeType == other.runtimeType &&
|
||||
typeId == other.typeId;
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
C<EFBFBD><EFBFBD><EFBFBD>F}<7D><EFBFBD>7<><37><EFBFBD><EFBFBD>9
|
||||
@@ -0,0 +1 @@
|
||||
<EFBFBD><EFBFBD>E>`<60>e0<65>sl<73><6C><0C>
|
||||
@@ -0,0 +1 @@
|
||||
<EFBFBD>FJ6<EFBFBD><EFBFBD>6<EFBFBD><EFBFBD><EFBFBD><EFBFBD>e<EFBFBD><EFBFBD>-b
|
||||
@@ -0,0 +1 @@
|
||||
<EFBFBD>[ڀJ<DA80>n<EFBFBD><6E>(<28>v/<2F>~<7E>
|
||||
@@ -0,0 +1 @@
|
||||
<EFBFBD><EFBFBD><EFBFBD>ulM<6C>L<EFBFBD><4C><EFBFBD><EFBFBD>M
|
||||
@@ -0,0 +1 @@
|
||||
<11><><1D>;<3B><><0B><>^<5E>:p
|
||||
@@ -0,0 +1 @@
|
||||
o~<7E>+x<>\6<1B><><EFBFBD>o<EFBFBD><6F>a
|
||||
@@ -0,0 +1,2 @@
|
||||
Q<EFBFBD>;<14><><EFBFBD><EFBFBD><EFBFBD>
|
||||
<EFBFBD>)<29>j<EFBFBD>
|
||||
@@ -0,0 +1 @@
|
||||
<EFBFBD>I<EFBFBD>4<EFBFBD><17>]7<12>{Rf<52>
|
||||
@@ -0,0 +1 @@
|
||||
<EFBFBD><EFBFBD><EFBFBD>ve<EFBFBD>wz<EFBFBD>z::O<><4F><EFBFBD>
|
||||
BIN
app/.dart_tool/build_resolvers/sdk.sum
Normal file
BIN
app/.dart_tool/build_resolvers/sdk.sum
Normal file
Binary file not shown.
1
app/.dart_tool/build_resolvers/sdk.sum.deps
Normal file
1
app/.dart_tool/build_resolvers/sdk.sum.deps
Normal file
@@ -0,0 +1 @@
|
||||
{"sdk":"3.8.1 (stable) (Wed May 28 00:47:25 2025 -0700) on \"macos_arm64\"","analyzer":"/Users/pierre/.pub-cache/hosted/pub.dev/analyzer-6.11.0","build_resolvers":"/Users/pierre/.pub-cache/hosted/pub.dev/build_resolvers-2.4.4"}
|
||||
22
app/.dart_tool/dartpad/web_plugin_registrant.dart
Normal file
22
app/.dart_tool/dartpad/web_plugin_registrant.dart
Normal file
@@ -0,0 +1,22 @@
|
||||
// Flutter web plugin registrant file.
|
||||
//
|
||||
// Generated file. Do not edit.
|
||||
//
|
||||
|
||||
// @dart = 2.13
|
||||
// ignore_for_file: type=lint
|
||||
|
||||
import 'package:connectivity_plus/src/connectivity_plus_web.dart';
|
||||
import 'package:geolocator_web/geolocator_web.dart';
|
||||
import 'package:package_info_plus/src/package_info_plus_web.dart';
|
||||
import 'package:url_launcher_web/url_launcher_web.dart';
|
||||
import 'package:flutter_web_plugins/flutter_web_plugins.dart';
|
||||
|
||||
void registerPlugins([final Registrar? pluginRegistrar]) {
|
||||
final Registrar registrar = pluginRegistrar ?? webPluginRegistrar;
|
||||
ConnectivityPlusWebPlugin.registerWith(registrar);
|
||||
GeolocatorPlugin.registerWith(registrar);
|
||||
PackageInfoPlusWebPlugin.registerWith(registrar);
|
||||
UrlLauncherPlugin.registerWith(registrar);
|
||||
registrar.registerMessageHandler();
|
||||
}
|
||||
31
app/.dart_tool/extension_discovery/README.md
Normal file
31
app/.dart_tool/extension_discovery/README.md
Normal file
@@ -0,0 +1,31 @@
|
||||
Extension Discovery Cache
|
||||
=========================
|
||||
|
||||
This folder is used by `package:extension_discovery` to cache lists of
|
||||
packages that contains extensions for other packages.
|
||||
|
||||
DO NOT USE THIS FOLDER
|
||||
----------------------
|
||||
|
||||
* Do not read (or rely) the contents of this folder.
|
||||
* Do write to this folder.
|
||||
|
||||
If you're interested in the lists of extensions stored in this folder use the
|
||||
API offered by package `extension_discovery` to get this information.
|
||||
|
||||
If this package doesn't work for your use-case, then don't try to read the
|
||||
contents of this folder. It may change, and will not remain stable.
|
||||
|
||||
Use package `extension_discovery`
|
||||
---------------------------------
|
||||
|
||||
If you want to access information from this folder.
|
||||
|
||||
Feel free to delete this folder
|
||||
-------------------------------
|
||||
|
||||
Files in this folder act as a cache, and the cache is discarded if the files
|
||||
are older than the modification time of `.dart_tool/package_config.json`.
|
||||
|
||||
Hence, it should never be necessary to clear this cache manually, if you find a
|
||||
need to do please file a bug.
|
||||
1
app/.dart_tool/extension_discovery/vs_code.json
Normal file
1
app/.dart_tool/extension_discovery/vs_code.json
Normal file
@@ -0,0 +1 @@
|
||||
{"version":2,"entries":[{"package":"geosector_app","rootUri":"../","packageUri":"lib/"}]}
|
||||
File diff suppressed because one or more lines are too long
Binary file not shown.
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
||||
{"inputs":[],"outputs":[]}
|
||||
@@ -0,0 +1,30 @@
|
||||
// @dart=3.0
|
||||
// Flutter web bootstrap script for package:geosector_app/main.dart.
|
||||
//
|
||||
// Generated file. Do not edit.
|
||||
//
|
||||
|
||||
// ignore_for_file: type=lint
|
||||
|
||||
import 'dart:ui_web' as ui_web;
|
||||
import 'dart:async';
|
||||
|
||||
import 'package:geosector_app/main.dart' as entrypoint;
|
||||
import 'web_plugin_registrant.dart' as pluginRegistrant;
|
||||
|
||||
typedef _UnaryFunction = dynamic Function(List<String> args);
|
||||
typedef _NullaryFunction = dynamic Function();
|
||||
|
||||
Future<void> main() async {
|
||||
await ui_web.bootstrapEngine(
|
||||
runApp: () {
|
||||
if (entrypoint.main is _UnaryFunction) {
|
||||
return (entrypoint.main as _UnaryFunction)(<String>[]);
|
||||
}
|
||||
return (entrypoint.main as _NullaryFunction)();
|
||||
},
|
||||
registerPlugins: () {
|
||||
pluginRegistrant.registerPlugins();
|
||||
},
|
||||
);
|
||||
}
|
||||
139345
app/.dart_tool/flutter_build/41acb28aedc1da36af63ba5cb8859018/main.dart.js
Normal file
139345
app/.dart_tool/flutter_build/41acb28aedc1da36af63ba5cb8859018/main.dart.js
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1 @@
|
||||
["/Users/pierre/dev/geosector/app/build/web/*/index.html","/Users/pierre/dev/geosector/app/build/web/flutter_bootstrap.js","/Users/pierre/dev/geosector/app/build/web/main.dart.js","/Users/pierre/dev/geosector/app/build/web/assets/assets/images/geosector-logo.png","/Users/pierre/dev/geosector/app/build/web/assets/assets/images/logo-geosector-1024.png","/Users/pierre/dev/geosector/app/build/web/assets/assets/images/icon-geosector.svg","/Users/pierre/dev/geosector/app/build/web/assets/assets/images/logo_recu.png","/Users/pierre/dev/geosector/app/build/web/assets/assets/animations/geo_main.json","/Users/pierre/dev/geosector/app/build/web/assets/assets/fonts/Figtree-VariableFont_wght.ttf","/Users/pierre/dev/geosector/app/build/web/assets/packages/cupertino_icons/assets/CupertinoIcons.ttf","/Users/pierre/dev/geosector/app/build/web/assets/packages/flutter_map/lib/assets/flutter_map_logo.png","/Users/pierre/dev/geosector/app/build/web/assets/fonts/MaterialIcons-Regular.otf","/Users/pierre/dev/geosector/app/build/web/assets/shaders/ink_sparkle.frag","/Users/pierre/dev/geosector/app/build/web/assets/AssetManifest.json","/Users/pierre/dev/geosector/app/build/web/assets/AssetManifest.bin","/Users/pierre/dev/geosector/app/build/web/assets/AssetManifest.bin.json","/Users/pierre/dev/geosector/app/build/web/assets/FontManifest.json","/Users/pierre/dev/geosector/app/build/web/assets/NOTICES","/Users/pierre/dev/geosector/app/build/web/.DS_Store","/Users/pierre/dev/geosector/app/build/web/favicon-64.png","/Users/pierre/dev/geosector/app/build/web/favicon-16.png","/Users/pierre/dev/geosector/app/build/web/favicon.png","/Users/pierre/dev/geosector/app/build/web/icons/Icon-192.png","/Users/pierre/dev/geosector/app/build/web/icons/Icon-maskable-192.png","/Users/pierre/dev/geosector/app/build/web/icons/Icon-152.png","/Users/pierre/dev/geosector/app/build/web/icons/Icon-180.png","/Users/pierre/dev/geosector/app/build/web/icons/Icon-167.png","/Users/pierre/dev/geosector/app/build/web/icons/Icon-maskable-512.png","/Users/pierre/dev/geosector/app/build/web/icons/Icon-512.png","/Users/pierre/dev/geosector/app/build/web/manifest.json","/Users/pierre/dev/geosector/app/build/web/favicon-32.png","/Users/pierre/dev/geosector/app/build/web/flutter_service_worker.js"]
|
||||
@@ -0,0 +1 @@
|
||||
/Users/pierre/dev/geosector/app/build/web/flutter_service_worker.js: /Users/pierre/dev/geosector/app/build/web/flutter_bootstrap.js /Users/pierre/dev/geosector/app/build/web/version.json /Users/pierre/dev/geosector/app/build/web/index.html /Users/pierre/dev/geosector/app/build/web/favicon-64.png /Users/pierre/dev/geosector/app/build/web/favicon-16.png /Users/pierre/dev/geosector/app/build/web/main.dart.js /Users/pierre/dev/geosector/app/build/web/flutter.js /Users/pierre/dev/geosector/app/build/web/favicon.png /Users/pierre/dev/geosector/app/build/web/icons/Icon-192.png /Users/pierre/dev/geosector/app/build/web/icons/Icon-maskable-192.png /Users/pierre/dev/geosector/app/build/web/icons/Icon-152.png /Users/pierre/dev/geosector/app/build/web/icons/Icon-180.png /Users/pierre/dev/geosector/app/build/web/icons/Icon-167.png /Users/pierre/dev/geosector/app/build/web/icons/Icon-maskable-512.png /Users/pierre/dev/geosector/app/build/web/icons/Icon-512.png /Users/pierre/dev/geosector/app/build/web/manifest.json /Users/pierre/dev/geosector/app/build/web/favicon-32.png /Users/pierre/dev/geosector/app/build/web/assets/AssetManifest.json /Users/pierre/dev/geosector/app/build/web/assets/NOTICES /Users/pierre/dev/geosector/app/build/web/assets/FontManifest.json /Users/pierre/dev/geosector/app/build/web/assets/AssetManifest.bin.json /Users/pierre/dev/geosector/app/build/web/assets/packages/cupertino_icons/assets/CupertinoIcons.ttf /Users/pierre/dev/geosector/app/build/web/assets/packages/flutter_map/lib/assets/flutter_map_logo.png /Users/pierre/dev/geosector/app/build/web/assets/shaders/ink_sparkle.frag /Users/pierre/dev/geosector/app/build/web/assets/AssetManifest.bin /Users/pierre/dev/geosector/app/build/web/assets/fonts/MaterialIcons-Regular.otf /Users/pierre/dev/geosector/app/build/web/assets/assets/images/geosector-logo.png /Users/pierre/dev/geosector/app/build/web/assets/assets/images/logo-geosector-1024.png /Users/pierre/dev/geosector/app/build/web/assets/assets/images/icon-geosector.svg /Users/pierre/dev/geosector/app/build/web/assets/assets/images/logo_recu.png /Users/pierre/dev/geosector/app/build/web/assets/assets/fonts/Figtree-VariableFont_wght.ttf /Users/pierre/dev/geosector/app/build/web/assets/assets/animations/geo_main.json /Users/pierre/dev/geosector/app/build/web/canvaskit/skwasm.js /Users/pierre/dev/geosector/app/build/web/canvaskit/skwasm.js.symbols /Users/pierre/dev/geosector/app/build/web/canvaskit/canvaskit.js.symbols /Users/pierre/dev/geosector/app/build/web/canvaskit/skwasm.wasm /Users/pierre/dev/geosector/app/build/web/canvaskit/chromium/canvaskit.js.symbols /Users/pierre/dev/geosector/app/build/web/canvaskit/chromium/canvaskit.js /Users/pierre/dev/geosector/app/build/web/canvaskit/chromium/canvaskit.wasm /Users/pierre/dev/geosector/app/build/web/canvaskit/canvaskit.js /Users/pierre/dev/geosector/app/build/web/canvaskit/canvaskit.wasm
|
||||
@@ -0,0 +1 @@
|
||||
{"inputs":["/Users/pierre/dev/flutter/packages/flutter_tools/lib/src/build_system/targets/web.dart"],"outputs":["/Users/pierre/dev/geosector/app/.dart_tool/flutter_build/41acb28aedc1da36af63ba5cb8859018/main.dart"]}
|
||||
@@ -0,0 +1,22 @@
|
||||
// Flutter web plugin registrant file.
|
||||
//
|
||||
// Generated file. Do not edit.
|
||||
//
|
||||
|
||||
// @dart = 2.13
|
||||
// ignore_for_file: type=lint
|
||||
|
||||
import 'package:connectivity_plus/src/connectivity_plus_web.dart';
|
||||
import 'package:geolocator_web/geolocator_web.dart';
|
||||
import 'package:package_info_plus/src/package_info_plus_web.dart';
|
||||
import 'package:url_launcher_web/url_launcher_web.dart';
|
||||
import 'package:flutter_web_plugins/flutter_web_plugins.dart';
|
||||
|
||||
void registerPlugins([final Registrar? pluginRegistrar]) {
|
||||
final Registrar registrar = pluginRegistrar ?? webPluginRegistrar;
|
||||
ConnectivityPlusWebPlugin.registerWith(registrar);
|
||||
GeolocatorPlugin.registerWith(registrar);
|
||||
PackageInfoPlusWebPlugin.registerWith(registrar);
|
||||
UrlLauncherPlugin.registerWith(registrar);
|
||||
registrar.registerMessageHandler();
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
||||
/Users/pierre/dev/geosector/app/build/web/.DS_Store /Users/pierre/dev/geosector/app/build/web/favicon-64.png /Users/pierre/dev/geosector/app/build/web/favicon-16.png /Users/pierre/dev/geosector/app/build/web/favicon.png /Users/pierre/dev/geosector/app/build/web/icons/Icon-192.png /Users/pierre/dev/geosector/app/build/web/icons/Icon-maskable-192.png /Users/pierre/dev/geosector/app/build/web/icons/Icon-152.png /Users/pierre/dev/geosector/app/build/web/icons/Icon-180.png /Users/pierre/dev/geosector/app/build/web/icons/Icon-167.png /Users/pierre/dev/geosector/app/build/web/icons/Icon-maskable-512.png /Users/pierre/dev/geosector/app/build/web/icons/Icon-512.png /Users/pierre/dev/geosector/app/build/web/manifest.json /Users/pierre/dev/geosector/app/build/web/favicon-32.png: /Users/pierre/dev/geosector/app/web/index.html /Users/pierre/dev/geosector/app/web/.DS_Store /Users/pierre/dev/geosector/app/web/favicon-64.png /Users/pierre/dev/geosector/app/web/favicon-16.png /Users/pierre/dev/geosector/app/web/favicon.png /Users/pierre/dev/geosector/app/web/icons/Icon-192.png /Users/pierre/dev/geosector/app/web/icons/Icon-maskable-192.png /Users/pierre/dev/geosector/app/web/icons/Icon-152.png /Users/pierre/dev/geosector/app/web/icons/Icon-180.png /Users/pierre/dev/geosector/app/web/icons/Icon-167.png /Users/pierre/dev/geosector/app/web/icons/Icon-maskable-512.png /Users/pierre/dev/geosector/app/web/icons/Icon-512.png /Users/pierre/dev/geosector/app/web/manifest.json /Users/pierre/dev/geosector/app/web/favicon-32.png
|
||||
@@ -0,0 +1 @@
|
||||
{"inputs":["/Users/pierre/dev/geosector/app/build/web/flutter_bootstrap.js","/Users/pierre/dev/geosector/app/build/web/version.json","/Users/pierre/dev/geosector/app/build/web/index.html","/Users/pierre/dev/geosector/app/build/web/favicon-64.png","/Users/pierre/dev/geosector/app/build/web/favicon-16.png","/Users/pierre/dev/geosector/app/build/web/main.dart.js","/Users/pierre/dev/geosector/app/build/web/flutter.js","/Users/pierre/dev/geosector/app/build/web/favicon.png","/Users/pierre/dev/geosector/app/build/web/icons/Icon-192.png","/Users/pierre/dev/geosector/app/build/web/icons/Icon-maskable-192.png","/Users/pierre/dev/geosector/app/build/web/icons/Icon-152.png","/Users/pierre/dev/geosector/app/build/web/icons/Icon-180.png","/Users/pierre/dev/geosector/app/build/web/icons/Icon-167.png","/Users/pierre/dev/geosector/app/build/web/icons/Icon-maskable-512.png","/Users/pierre/dev/geosector/app/build/web/icons/Icon-512.png","/Users/pierre/dev/geosector/app/build/web/manifest.json","/Users/pierre/dev/geosector/app/build/web/favicon-32.png","/Users/pierre/dev/geosector/app/build/web/assets/AssetManifest.json","/Users/pierre/dev/geosector/app/build/web/assets/NOTICES","/Users/pierre/dev/geosector/app/build/web/assets/FontManifest.json","/Users/pierre/dev/geosector/app/build/web/assets/AssetManifest.bin.json","/Users/pierre/dev/geosector/app/build/web/assets/packages/cupertino_icons/assets/CupertinoIcons.ttf","/Users/pierre/dev/geosector/app/build/web/assets/packages/flutter_map/lib/assets/flutter_map_logo.png","/Users/pierre/dev/geosector/app/build/web/assets/shaders/ink_sparkle.frag","/Users/pierre/dev/geosector/app/build/web/assets/AssetManifest.bin","/Users/pierre/dev/geosector/app/build/web/assets/fonts/MaterialIcons-Regular.otf","/Users/pierre/dev/geosector/app/build/web/assets/assets/images/geosector-logo.png","/Users/pierre/dev/geosector/app/build/web/assets/assets/images/logo-geosector-1024.png","/Users/pierre/dev/geosector/app/build/web/assets/assets/images/icon-geosector.svg","/Users/pierre/dev/geosector/app/build/web/assets/assets/images/logo_recu.png","/Users/pierre/dev/geosector/app/build/web/assets/assets/fonts/Figtree-VariableFont_wght.ttf","/Users/pierre/dev/geosector/app/build/web/assets/assets/animations/geo_main.json","/Users/pierre/dev/geosector/app/build/web/canvaskit/skwasm.js","/Users/pierre/dev/geosector/app/build/web/canvaskit/skwasm.js.symbols","/Users/pierre/dev/geosector/app/build/web/canvaskit/canvaskit.js.symbols","/Users/pierre/dev/geosector/app/build/web/canvaskit/skwasm.wasm","/Users/pierre/dev/geosector/app/build/web/canvaskit/chromium/canvaskit.js.symbols","/Users/pierre/dev/geosector/app/build/web/canvaskit/chromium/canvaskit.js","/Users/pierre/dev/geosector/app/build/web/canvaskit/chromium/canvaskit.wasm","/Users/pierre/dev/geosector/app/build/web/canvaskit/canvaskit.js","/Users/pierre/dev/geosector/app/build/web/canvaskit/canvaskit.wasm"],"outputs":["/Users/pierre/dev/geosector/app/build/web/flutter_service_worker.js"]}
|
||||
@@ -0,0 +1 @@
|
||||
{"inputs":["/Users/pierre/dev/flutter/bin/cache/engine.stamp"],"outputs":["/Users/pierre/dev/geosector/app/.dart_tool/flutter_build/41acb28aedc1da36af63ba5cb8859018/flutter.js","/Users/pierre/dev/geosector/app/.dart_tool/flutter_build/41acb28aedc1da36af63ba5cb8859018/canvaskit/skwasm.js","/Users/pierre/dev/geosector/app/.dart_tool/flutter_build/41acb28aedc1da36af63ba5cb8859018/canvaskit/skwasm.js.symbols","/Users/pierre/dev/geosector/app/.dart_tool/flutter_build/41acb28aedc1da36af63ba5cb8859018/canvaskit/canvaskit.js.symbols","/Users/pierre/dev/geosector/app/.dart_tool/flutter_build/41acb28aedc1da36af63ba5cb8859018/canvaskit/skwasm.wasm","/Users/pierre/dev/geosector/app/.dart_tool/flutter_build/41acb28aedc1da36af63ba5cb8859018/canvaskit/chromium/canvaskit.js.symbols","/Users/pierre/dev/geosector/app/.dart_tool/flutter_build/41acb28aedc1da36af63ba5cb8859018/canvaskit/chromium/canvaskit.js","/Users/pierre/dev/geosector/app/.dart_tool/flutter_build/41acb28aedc1da36af63ba5cb8859018/canvaskit/chromium/canvaskit.wasm","/Users/pierre/dev/geosector/app/.dart_tool/flutter_build/41acb28aedc1da36af63ba5cb8859018/canvaskit/canvaskit.js","/Users/pierre/dev/geosector/app/.dart_tool/flutter_build/41acb28aedc1da36af63ba5cb8859018/canvaskit/canvaskit.wasm"]}
|
||||
@@ -0,0 +1 @@
|
||||
{"inputs":["/Users/pierre/dev/geosector/app/web/*/index.html","/Users/pierre/dev/geosector/app/web/flutter_bootstrap.js","/Users/pierre/dev/flutter/bin/cache/engine.stamp"],"outputs":["/Users/pierre/dev/geosector/app/build/web/*/index.html","/Users/pierre/dev/geosector/app/build/web/flutter_bootstrap.js"],"buildKey":"[{\"compileTarget\":\"dart2js\",\"renderer\":\"canvaskit\",\"mainJsPath\":\"main.dart.js\"}]"}
|
||||
958
app/.dart_tool/package_config.json
Normal file
958
app/.dart_tool/package_config.json
Normal file
@@ -0,0 +1,958 @@
|
||||
{
|
||||
"configVersion": 2,
|
||||
"packages": [
|
||||
{
|
||||
"name": "_fe_analyzer_shared",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/_fe_analyzer_shared-76.0.0",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.3"
|
||||
},
|
||||
{
|
||||
"name": "_macros",
|
||||
"rootUri": "file:///Users/pierre/dev/flutter/bin/cache/dart-sdk/pkg/_macros",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.5"
|
||||
},
|
||||
{
|
||||
"name": "analyzer",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/analyzer-6.11.0",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.3"
|
||||
},
|
||||
{
|
||||
"name": "archive",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/archive-4.0.5",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.0"
|
||||
},
|
||||
{
|
||||
"name": "args",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/args-2.7.0",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.3"
|
||||
},
|
||||
{
|
||||
"name": "async",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/async-2.13.0",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.4"
|
||||
},
|
||||
{
|
||||
"name": "boolean_selector",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/boolean_selector-2.1.2",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.1"
|
||||
},
|
||||
{
|
||||
"name": "build",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/build-2.4.2",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.6"
|
||||
},
|
||||
{
|
||||
"name": "build_config",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/build_config-1.1.2",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.6"
|
||||
},
|
||||
{
|
||||
"name": "build_daemon",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/build_daemon-4.0.4",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.6"
|
||||
},
|
||||
{
|
||||
"name": "build_resolvers",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/build_resolvers-2.4.4",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.6"
|
||||
},
|
||||
{
|
||||
"name": "build_runner",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/build_runner-2.4.15",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.6"
|
||||
},
|
||||
{
|
||||
"name": "build_runner_core",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/build_runner_core-8.0.0",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.6"
|
||||
},
|
||||
{
|
||||
"name": "built_collection",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/built_collection-5.1.1",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "2.12"
|
||||
},
|
||||
{
|
||||
"name": "built_value",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/built_value-8.9.5",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.0"
|
||||
},
|
||||
{
|
||||
"name": "characters",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/characters-1.4.0",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.4"
|
||||
},
|
||||
{
|
||||
"name": "charcode",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/charcode-1.4.0",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.0"
|
||||
},
|
||||
{
|
||||
"name": "checked_yaml",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/checked_yaml-2.0.3",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "2.19"
|
||||
},
|
||||
{
|
||||
"name": "cli_util",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/cli_util-0.4.2",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.4"
|
||||
},
|
||||
{
|
||||
"name": "clock",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/clock-1.1.2",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.4"
|
||||
},
|
||||
{
|
||||
"name": "code_builder",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/code_builder-4.10.1",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.5"
|
||||
},
|
||||
{
|
||||
"name": "collection",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/collection-1.19.1",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.4"
|
||||
},
|
||||
{
|
||||
"name": "connectivity_plus",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/connectivity_plus-6.1.3",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.2"
|
||||
},
|
||||
{
|
||||
"name": "connectivity_plus_platform_interface",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/connectivity_plus_platform_interface-2.0.1",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "2.18"
|
||||
},
|
||||
{
|
||||
"name": "convert",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/convert-3.1.2",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.4"
|
||||
},
|
||||
{
|
||||
"name": "crypto",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/crypto-3.0.6",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.4"
|
||||
},
|
||||
{
|
||||
"name": "csslib",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/csslib-1.0.2",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.1"
|
||||
},
|
||||
{
|
||||
"name": "cupertino_icons",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/cupertino_icons-1.0.8",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.1"
|
||||
},
|
||||
{
|
||||
"name": "dart_earcut",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/dart_earcut-1.2.0",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.0"
|
||||
},
|
||||
{
|
||||
"name": "dart_style",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/dart_style-2.3.8",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.0"
|
||||
},
|
||||
{
|
||||
"name": "dbus",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/dbus-0.7.11",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "2.17"
|
||||
},
|
||||
{
|
||||
"name": "dio",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/dio-5.8.0+1",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "2.18"
|
||||
},
|
||||
{
|
||||
"name": "dio_web_adapter",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/dio_web_adapter-2.1.1",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.3"
|
||||
},
|
||||
{
|
||||
"name": "equatable",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/equatable-2.0.7",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "2.12"
|
||||
},
|
||||
{
|
||||
"name": "event_bus",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/event_bus-2.0.1",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "2.12"
|
||||
},
|
||||
{
|
||||
"name": "fake_async",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/fake_async-1.3.3",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.3"
|
||||
},
|
||||
{
|
||||
"name": "ffi",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/ffi-2.1.4",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.7"
|
||||
},
|
||||
{
|
||||
"name": "file",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/file-7.0.1",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.0"
|
||||
},
|
||||
{
|
||||
"name": "fixnum",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/fixnum-1.1.1",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.1"
|
||||
},
|
||||
{
|
||||
"name": "fl_chart",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/fl_chart-0.70.2",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.2"
|
||||
},
|
||||
{
|
||||
"name": "flutter",
|
||||
"rootUri": "file:///Users/pierre/dev/flutter/packages/flutter",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.7"
|
||||
},
|
||||
{
|
||||
"name": "flutter_launcher_icons",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/flutter_launcher_icons-0.13.1",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "2.18"
|
||||
},
|
||||
{
|
||||
"name": "flutter_lints",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/flutter_lints-3.0.2",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.1"
|
||||
},
|
||||
{
|
||||
"name": "flutter_local_notifications",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/flutter_local_notifications-19.1.0",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.4"
|
||||
},
|
||||
{
|
||||
"name": "flutter_local_notifications_linux",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/flutter_local_notifications_linux-6.0.0",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.4"
|
||||
},
|
||||
{
|
||||
"name": "flutter_local_notifications_platform_interface",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/flutter_local_notifications_platform_interface-9.0.0",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.4"
|
||||
},
|
||||
{
|
||||
"name": "flutter_local_notifications_windows",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/flutter_local_notifications_windows-1.0.0",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.4"
|
||||
},
|
||||
{
|
||||
"name": "flutter_map",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/flutter_map-8.1.1",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.6"
|
||||
},
|
||||
{
|
||||
"name": "flutter_svg",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/flutter_svg-2.0.17",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.4"
|
||||
},
|
||||
{
|
||||
"name": "flutter_test",
|
||||
"rootUri": "file:///Users/pierre/dev/flutter/packages/flutter_test",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.7"
|
||||
},
|
||||
{
|
||||
"name": "flutter_web_plugins",
|
||||
"rootUri": "file:///Users/pierre/dev/flutter/packages/flutter_web_plugins",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.7"
|
||||
},
|
||||
{
|
||||
"name": "frontend_server_client",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/frontend_server_client-4.0.0",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.0"
|
||||
},
|
||||
{
|
||||
"name": "geolocator",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/geolocator-13.0.4",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.5"
|
||||
},
|
||||
{
|
||||
"name": "geolocator_android",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/geolocator_android-4.6.2",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.5"
|
||||
},
|
||||
{
|
||||
"name": "geolocator_apple",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/geolocator_apple-2.3.13",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.5"
|
||||
},
|
||||
{
|
||||
"name": "geolocator_platform_interface",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/geolocator_platform_interface-4.2.6",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.5"
|
||||
},
|
||||
{
|
||||
"name": "geolocator_web",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/geolocator_web-4.1.3",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.5"
|
||||
},
|
||||
{
|
||||
"name": "geolocator_windows",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/geolocator_windows-0.2.5",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.5"
|
||||
},
|
||||
{
|
||||
"name": "glob",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/glob-2.1.3",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.3"
|
||||
},
|
||||
{
|
||||
"name": "go_router",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/go_router-14.8.1",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.4"
|
||||
},
|
||||
{
|
||||
"name": "google_fonts",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/google_fonts-6.2.1",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "2.14"
|
||||
},
|
||||
{
|
||||
"name": "graphs",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/graphs-2.3.2",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.4"
|
||||
},
|
||||
{
|
||||
"name": "hive",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/hive-2.2.3",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "2.12"
|
||||
},
|
||||
{
|
||||
"name": "hive_flutter",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/hive_flutter-1.1.0",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "2.12"
|
||||
},
|
||||
{
|
||||
"name": "hive_generator",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/hive_generator-2.0.1",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "2.12"
|
||||
},
|
||||
{
|
||||
"name": "html",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/html-0.15.6",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.2"
|
||||
},
|
||||
{
|
||||
"name": "http",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/http-1.3.0",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.4"
|
||||
},
|
||||
{
|
||||
"name": "http_multi_server",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/http_multi_server-3.2.2",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.2"
|
||||
},
|
||||
{
|
||||
"name": "http_parser",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/http_parser-4.1.2",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.4"
|
||||
},
|
||||
{
|
||||
"name": "image",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/image-4.5.4",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.0"
|
||||
},
|
||||
{
|
||||
"name": "intl",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/intl-0.20.2",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.3"
|
||||
},
|
||||
{
|
||||
"name": "io",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/io-1.0.5",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.4"
|
||||
},
|
||||
{
|
||||
"name": "js",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/js-0.6.7",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "2.19"
|
||||
},
|
||||
{
|
||||
"name": "json_annotation",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/json_annotation-4.9.0",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.0"
|
||||
},
|
||||
{
|
||||
"name": "latlong2",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/latlong2-0.9.1",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.0"
|
||||
},
|
||||
{
|
||||
"name": "leak_tracker",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/leak_tracker-10.0.9",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.2"
|
||||
},
|
||||
{
|
||||
"name": "leak_tracker_flutter_testing",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/leak_tracker_flutter_testing-3.0.9",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.2"
|
||||
},
|
||||
{
|
||||
"name": "leak_tracker_testing",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/leak_tracker_testing-3.0.1",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.2"
|
||||
},
|
||||
{
|
||||
"name": "lints",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/lints-3.0.0",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.0"
|
||||
},
|
||||
{
|
||||
"name": "lists",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/lists-1.0.1",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "2.12"
|
||||
},
|
||||
{
|
||||
"name": "logger",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/logger-2.5.0",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "2.17"
|
||||
},
|
||||
{
|
||||
"name": "logging",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/logging-1.3.0",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.4"
|
||||
},
|
||||
{
|
||||
"name": "macros",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/macros-0.1.3-main.0",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.4"
|
||||
},
|
||||
{
|
||||
"name": "matcher",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/matcher-0.12.17",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.4"
|
||||
},
|
||||
{
|
||||
"name": "material_color_utilities",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/material_color_utilities-0.11.1",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "2.17"
|
||||
},
|
||||
{
|
||||
"name": "meta",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/meta-1.16.0",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "2.12"
|
||||
},
|
||||
{
|
||||
"name": "mgrs_dart",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/mgrs_dart-2.0.0",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "2.12"
|
||||
},
|
||||
{
|
||||
"name": "mime",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/mime-2.0.0",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.2"
|
||||
},
|
||||
{
|
||||
"name": "mqtt5_client",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/mqtt5_client-4.11.0",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.0"
|
||||
},
|
||||
{
|
||||
"name": "nested",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/nested-1.0.0",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "2.12"
|
||||
},
|
||||
{
|
||||
"name": "nm",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/nm-0.5.0",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "2.12"
|
||||
},
|
||||
{
|
||||
"name": "package_config",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/package_config-2.2.0",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.4"
|
||||
},
|
||||
{
|
||||
"name": "package_info_plus",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/package_info_plus-8.3.0",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.3"
|
||||
},
|
||||
{
|
||||
"name": "package_info_plus_platform_interface",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/package_info_plus_platform_interface-3.2.0",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "2.18"
|
||||
},
|
||||
{
|
||||
"name": "path",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/path-1.9.1",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.4"
|
||||
},
|
||||
{
|
||||
"name": "path_parsing",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/path_parsing-1.1.0",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.3"
|
||||
},
|
||||
{
|
||||
"name": "path_provider",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/path_provider-2.1.5",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.4"
|
||||
},
|
||||
{
|
||||
"name": "path_provider_android",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/path_provider_android-2.2.16",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.6"
|
||||
},
|
||||
{
|
||||
"name": "path_provider_foundation",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/path_provider_foundation-2.4.1",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.3"
|
||||
},
|
||||
{
|
||||
"name": "path_provider_linux",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/path_provider_linux-2.2.1",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "2.19"
|
||||
},
|
||||
{
|
||||
"name": "path_provider_platform_interface",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/path_provider_platform_interface-2.1.2",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.0"
|
||||
},
|
||||
{
|
||||
"name": "path_provider_windows",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/path_provider_windows-2.3.0",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.2"
|
||||
},
|
||||
{
|
||||
"name": "petitparser",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/petitparser-6.1.0",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.5"
|
||||
},
|
||||
{
|
||||
"name": "platform",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/platform-3.1.6",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.2"
|
||||
},
|
||||
{
|
||||
"name": "plugin_platform_interface",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/plugin_platform_interface-2.1.8",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.0"
|
||||
},
|
||||
{
|
||||
"name": "polylabel",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/polylabel-1.0.1",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "2.13"
|
||||
},
|
||||
{
|
||||
"name": "pool",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/pool-1.5.1",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "2.12"
|
||||
},
|
||||
{
|
||||
"name": "posix",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/posix-6.0.1",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.0"
|
||||
},
|
||||
{
|
||||
"name": "proj4dart",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/proj4dart-2.1.0",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "2.12"
|
||||
},
|
||||
{
|
||||
"name": "provider",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/provider-6.1.5",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "2.12"
|
||||
},
|
||||
{
|
||||
"name": "pub_semver",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/pub_semver-2.2.0",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.4"
|
||||
},
|
||||
{
|
||||
"name": "pubspec_parse",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/pubspec_parse-1.5.0",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.6"
|
||||
},
|
||||
{
|
||||
"name": "retry",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/retry-3.1.2",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.0"
|
||||
},
|
||||
{
|
||||
"name": "shelf",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/shelf-1.4.2",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.4"
|
||||
},
|
||||
{
|
||||
"name": "shelf_web_socket",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/shelf_web_socket-3.0.0",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.5"
|
||||
},
|
||||
{
|
||||
"name": "sky_engine",
|
||||
"rootUri": "file:///Users/pierre/dev/flutter/bin/cache/pkg/sky_engine",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.7"
|
||||
},
|
||||
{
|
||||
"name": "source_gen",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/source_gen-1.5.0",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.0"
|
||||
},
|
||||
{
|
||||
"name": "source_helper",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/source_helper-1.3.5",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.4"
|
||||
},
|
||||
{
|
||||
"name": "source_span",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/source_span-1.10.1",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.1"
|
||||
},
|
||||
{
|
||||
"name": "sprintf",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/sprintf-7.0.0",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "2.12"
|
||||
},
|
||||
{
|
||||
"name": "stack_trace",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/stack_trace-1.12.1",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.4"
|
||||
},
|
||||
{
|
||||
"name": "stream_channel",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/stream_channel-2.1.4",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.3"
|
||||
},
|
||||
{
|
||||
"name": "stream_transform",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/stream_transform-2.1.1",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.1"
|
||||
},
|
||||
{
|
||||
"name": "string_scanner",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/string_scanner-1.4.1",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.1"
|
||||
},
|
||||
{
|
||||
"name": "syncfusion_flutter_charts",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/syncfusion_flutter_charts-29.1.35",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.4"
|
||||
},
|
||||
{
|
||||
"name": "syncfusion_flutter_core",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/syncfusion_flutter_core-29.1.35",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.4"
|
||||
},
|
||||
{
|
||||
"name": "term_glyph",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/term_glyph-1.2.2",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.1"
|
||||
},
|
||||
{
|
||||
"name": "test_api",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/test_api-0.7.4",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.5"
|
||||
},
|
||||
{
|
||||
"name": "timezone",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/timezone-0.10.1",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "2.19"
|
||||
},
|
||||
{
|
||||
"name": "timing",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/timing-1.0.2",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.4"
|
||||
},
|
||||
{
|
||||
"name": "typed_data",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/typed_data-1.4.0",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.5"
|
||||
},
|
||||
{
|
||||
"name": "unicode",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/unicode-0.3.1",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "2.12"
|
||||
},
|
||||
{
|
||||
"name": "universal_html",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/universal_html-2.2.4",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "2.17"
|
||||
},
|
||||
{
|
||||
"name": "universal_io",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/universal_io-2.2.2",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "2.17"
|
||||
},
|
||||
{
|
||||
"name": "url_launcher",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/url_launcher-6.3.1",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.3"
|
||||
},
|
||||
{
|
||||
"name": "url_launcher_android",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/url_launcher_android-6.3.15",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.6"
|
||||
},
|
||||
{
|
||||
"name": "url_launcher_ios",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/url_launcher_ios-6.3.2",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.3"
|
||||
},
|
||||
{
|
||||
"name": "url_launcher_linux",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/url_launcher_linux-3.2.1",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.3"
|
||||
},
|
||||
{
|
||||
"name": "url_launcher_macos",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/url_launcher_macos-3.2.2",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.3"
|
||||
},
|
||||
{
|
||||
"name": "url_launcher_platform_interface",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/url_launcher_platform_interface-2.3.2",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.1"
|
||||
},
|
||||
{
|
||||
"name": "url_launcher_web",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/url_launcher_web-2.4.0",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.6"
|
||||
},
|
||||
{
|
||||
"name": "url_launcher_windows",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/url_launcher_windows-3.1.4",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.4"
|
||||
},
|
||||
{
|
||||
"name": "uuid",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/uuid-4.5.1",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.0"
|
||||
},
|
||||
{
|
||||
"name": "vector_graphics",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/vector_graphics-1.1.18",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.4"
|
||||
},
|
||||
{
|
||||
"name": "vector_graphics_codec",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/vector_graphics_codec-1.1.13",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.4"
|
||||
},
|
||||
{
|
||||
"name": "vector_graphics_compiler",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/vector_graphics_compiler-1.1.16",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.4"
|
||||
},
|
||||
{
|
||||
"name": "vector_math",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/vector_math-2.1.4",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "2.14"
|
||||
},
|
||||
{
|
||||
"name": "vm_service",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/vm_service-15.0.0",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.3"
|
||||
},
|
||||
{
|
||||
"name": "watcher",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/watcher-1.1.1",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.1"
|
||||
},
|
||||
{
|
||||
"name": "web",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/web-1.1.1",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.4"
|
||||
},
|
||||
{
|
||||
"name": "web_socket",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/web_socket-0.1.6",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.3"
|
||||
},
|
||||
{
|
||||
"name": "web_socket_channel",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/web_socket_channel-3.0.2",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.3"
|
||||
},
|
||||
{
|
||||
"name": "win32",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/win32-5.13.0",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.7"
|
||||
},
|
||||
{
|
||||
"name": "wkt_parser",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/wkt_parser-2.0.0",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "2.12"
|
||||
},
|
||||
{
|
||||
"name": "xdg_directories",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/xdg_directories-1.1.0",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.3"
|
||||
},
|
||||
{
|
||||
"name": "xml",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/xml-6.5.0",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.2"
|
||||
},
|
||||
{
|
||||
"name": "yaml",
|
||||
"rootUri": "file:///Users/pierre/.pub-cache/hosted/pub.dev/yaml-3.1.3",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.4"
|
||||
},
|
||||
{
|
||||
"name": "geosector_app",
|
||||
"rootUri": "../",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.0"
|
||||
}
|
||||
],
|
||||
"generator": "pub",
|
||||
"generatorVersion": "3.8.1",
|
||||
"flutterRoot": "file:///Users/pierre/dev/flutter",
|
||||
"flutterVersion": "3.32.1",
|
||||
"pubCache": "file:///Users/pierre/.pub-cache"
|
||||
}
|
||||
633
app/.dart_tool/package_config_subset
Normal file
633
app/.dart_tool/package_config_subset
Normal file
@@ -0,0 +1,633 @@
|
||||
_fe_analyzer_shared
|
||||
3.3
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/_fe_analyzer_shared-76.0.0/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/_fe_analyzer_shared-76.0.0/lib/
|
||||
analyzer
|
||||
3.3
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/analyzer-6.11.0/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/analyzer-6.11.0/lib/
|
||||
archive
|
||||
3.0
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/archive-4.0.5/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/archive-4.0.5/lib/
|
||||
args
|
||||
3.3
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/args-2.7.0/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/args-2.7.0/lib/
|
||||
async
|
||||
3.4
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/async-2.13.0/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/async-2.13.0/lib/
|
||||
boolean_selector
|
||||
3.1
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/boolean_selector-2.1.2/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/boolean_selector-2.1.2/lib/
|
||||
build
|
||||
3.6
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/build-2.4.2/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/build-2.4.2/lib/
|
||||
build_config
|
||||
3.6
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/build_config-1.1.2/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/build_config-1.1.2/lib/
|
||||
build_daemon
|
||||
3.6
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/build_daemon-4.0.4/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/build_daemon-4.0.4/lib/
|
||||
build_resolvers
|
||||
3.6
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/build_resolvers-2.4.4/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/build_resolvers-2.4.4/lib/
|
||||
build_runner
|
||||
3.6
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/build_runner-2.4.15/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/build_runner-2.4.15/lib/
|
||||
build_runner_core
|
||||
3.6
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/build_runner_core-8.0.0/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/build_runner_core-8.0.0/lib/
|
||||
built_collection
|
||||
2.12
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/built_collection-5.1.1/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/built_collection-5.1.1/lib/
|
||||
built_value
|
||||
3.0
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/built_value-8.9.5/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/built_value-8.9.5/lib/
|
||||
characters
|
||||
3.4
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/characters-1.4.0/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/characters-1.4.0/lib/
|
||||
charcode
|
||||
3.0
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/charcode-1.4.0/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/charcode-1.4.0/lib/
|
||||
checked_yaml
|
||||
2.19
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/checked_yaml-2.0.3/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/checked_yaml-2.0.3/lib/
|
||||
cli_util
|
||||
3.4
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/cli_util-0.4.2/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/cli_util-0.4.2/lib/
|
||||
clock
|
||||
3.4
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/clock-1.1.2/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/clock-1.1.2/lib/
|
||||
code_builder
|
||||
3.5
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/code_builder-4.10.1/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/code_builder-4.10.1/lib/
|
||||
collection
|
||||
3.4
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/collection-1.19.1/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/collection-1.19.1/lib/
|
||||
connectivity_plus
|
||||
3.2
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/connectivity_plus-6.1.3/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/connectivity_plus-6.1.3/lib/
|
||||
connectivity_plus_platform_interface
|
||||
2.18
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/connectivity_plus_platform_interface-2.0.1/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/connectivity_plus_platform_interface-2.0.1/lib/
|
||||
convert
|
||||
3.4
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/convert-3.1.2/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/convert-3.1.2/lib/
|
||||
crypto
|
||||
3.4
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/crypto-3.0.6/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/crypto-3.0.6/lib/
|
||||
csslib
|
||||
3.1
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/csslib-1.0.2/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/csslib-1.0.2/lib/
|
||||
cupertino_icons
|
||||
3.1
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/cupertino_icons-1.0.8/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/cupertino_icons-1.0.8/lib/
|
||||
dart_earcut
|
||||
3.0
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/dart_earcut-1.2.0/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/dart_earcut-1.2.0/lib/
|
||||
dart_style
|
||||
3.0
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/dart_style-2.3.8/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/dart_style-2.3.8/lib/
|
||||
dbus
|
||||
2.17
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/dbus-0.7.11/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/dbus-0.7.11/lib/
|
||||
dio
|
||||
2.18
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/dio-5.8.0+1/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/dio-5.8.0+1/lib/
|
||||
dio_web_adapter
|
||||
3.3
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/dio_web_adapter-2.1.1/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/dio_web_adapter-2.1.1/lib/
|
||||
equatable
|
||||
2.12
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/equatable-2.0.7/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/equatable-2.0.7/lib/
|
||||
event_bus
|
||||
2.12
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/event_bus-2.0.1/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/event_bus-2.0.1/lib/
|
||||
fake_async
|
||||
3.3
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/fake_async-1.3.3/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/fake_async-1.3.3/lib/
|
||||
ffi
|
||||
3.7
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/ffi-2.1.4/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/ffi-2.1.4/lib/
|
||||
file
|
||||
3.0
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/file-7.0.1/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/file-7.0.1/lib/
|
||||
fixnum
|
||||
3.1
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/fixnum-1.1.1/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/fixnum-1.1.1/lib/
|
||||
fl_chart
|
||||
3.2
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/fl_chart-0.70.2/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/fl_chart-0.70.2/lib/
|
||||
flutter_launcher_icons
|
||||
2.18
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/flutter_launcher_icons-0.13.1/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/flutter_launcher_icons-0.13.1/lib/
|
||||
flutter_lints
|
||||
3.1
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/flutter_lints-3.0.2/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/flutter_lints-3.0.2/lib/
|
||||
flutter_local_notifications
|
||||
3.4
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/flutter_local_notifications-19.1.0/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/flutter_local_notifications-19.1.0/lib/
|
||||
flutter_local_notifications_linux
|
||||
3.4
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/flutter_local_notifications_linux-6.0.0/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/flutter_local_notifications_linux-6.0.0/lib/
|
||||
flutter_local_notifications_platform_interface
|
||||
3.4
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/flutter_local_notifications_platform_interface-9.0.0/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/flutter_local_notifications_platform_interface-9.0.0/lib/
|
||||
flutter_local_notifications_windows
|
||||
3.4
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/flutter_local_notifications_windows-1.0.0/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/flutter_local_notifications_windows-1.0.0/lib/
|
||||
flutter_map
|
||||
3.6
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/flutter_map-8.1.1/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/flutter_map-8.1.1/lib/
|
||||
flutter_svg
|
||||
3.4
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/flutter_svg-2.0.17/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/flutter_svg-2.0.17/lib/
|
||||
frontend_server_client
|
||||
3.0
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/frontend_server_client-4.0.0/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/frontend_server_client-4.0.0/lib/
|
||||
geolocator
|
||||
3.5
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/geolocator-13.0.4/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/geolocator-13.0.4/lib/
|
||||
geolocator_android
|
||||
3.5
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/geolocator_android-4.6.2/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/geolocator_android-4.6.2/lib/
|
||||
geolocator_apple
|
||||
3.5
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/geolocator_apple-2.3.13/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/geolocator_apple-2.3.13/lib/
|
||||
geolocator_platform_interface
|
||||
3.5
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/geolocator_platform_interface-4.2.6/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/geolocator_platform_interface-4.2.6/lib/
|
||||
geolocator_web
|
||||
3.5
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/geolocator_web-4.1.3/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/geolocator_web-4.1.3/lib/
|
||||
geolocator_windows
|
||||
3.5
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/geolocator_windows-0.2.5/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/geolocator_windows-0.2.5/lib/
|
||||
glob
|
||||
3.3
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/glob-2.1.3/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/glob-2.1.3/lib/
|
||||
go_router
|
||||
3.4
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/go_router-14.8.1/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/go_router-14.8.1/lib/
|
||||
google_fonts
|
||||
2.14
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/google_fonts-6.2.1/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/google_fonts-6.2.1/lib/
|
||||
graphs
|
||||
3.4
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/graphs-2.3.2/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/graphs-2.3.2/lib/
|
||||
hive
|
||||
2.12
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/hive-2.2.3/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/hive-2.2.3/lib/
|
||||
hive_flutter
|
||||
2.12
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/hive_flutter-1.1.0/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/hive_flutter-1.1.0/lib/
|
||||
hive_generator
|
||||
2.12
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/hive_generator-2.0.1/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/hive_generator-2.0.1/lib/
|
||||
html
|
||||
3.2
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/html-0.15.6/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/html-0.15.6/lib/
|
||||
http
|
||||
3.4
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/http-1.3.0/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/http-1.3.0/lib/
|
||||
http_multi_server
|
||||
3.2
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/http_multi_server-3.2.2/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/http_multi_server-3.2.2/lib/
|
||||
http_parser
|
||||
3.4
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/http_parser-4.1.2/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/http_parser-4.1.2/lib/
|
||||
image
|
||||
3.0
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/image-4.5.4/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/image-4.5.4/lib/
|
||||
intl
|
||||
3.3
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/intl-0.20.2/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/intl-0.20.2/lib/
|
||||
io
|
||||
3.4
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/io-1.0.5/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/io-1.0.5/lib/
|
||||
js
|
||||
2.19
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/js-0.6.7/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/js-0.6.7/lib/
|
||||
json_annotation
|
||||
3.0
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/json_annotation-4.9.0/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/json_annotation-4.9.0/lib/
|
||||
latlong2
|
||||
3.0
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/latlong2-0.9.1/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/latlong2-0.9.1/lib/
|
||||
leak_tracker
|
||||
3.2
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/leak_tracker-10.0.9/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/leak_tracker-10.0.9/lib/
|
||||
leak_tracker_flutter_testing
|
||||
3.2
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/leak_tracker_flutter_testing-3.0.9/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/leak_tracker_flutter_testing-3.0.9/lib/
|
||||
leak_tracker_testing
|
||||
3.2
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/leak_tracker_testing-3.0.1/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/leak_tracker_testing-3.0.1/lib/
|
||||
lints
|
||||
3.0
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/lints-3.0.0/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/lints-3.0.0/lib/
|
||||
lists
|
||||
2.12
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/lists-1.0.1/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/lists-1.0.1/lib/
|
||||
logger
|
||||
2.17
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/logger-2.5.0/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/logger-2.5.0/lib/
|
||||
logging
|
||||
3.4
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/logging-1.3.0/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/logging-1.3.0/lib/
|
||||
macros
|
||||
3.4
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/macros-0.1.3-main.0/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/macros-0.1.3-main.0/lib/
|
||||
matcher
|
||||
3.4
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/matcher-0.12.17/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/matcher-0.12.17/lib/
|
||||
material_color_utilities
|
||||
2.17
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/material_color_utilities-0.11.1/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/material_color_utilities-0.11.1/lib/
|
||||
meta
|
||||
2.12
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/meta-1.16.0/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/meta-1.16.0/lib/
|
||||
mgrs_dart
|
||||
2.12
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/mgrs_dart-2.0.0/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/mgrs_dart-2.0.0/lib/
|
||||
mime
|
||||
3.2
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/mime-2.0.0/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/mime-2.0.0/lib/
|
||||
mqtt5_client
|
||||
3.0
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/mqtt5_client-4.11.0/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/mqtt5_client-4.11.0/lib/
|
||||
nested
|
||||
2.12
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/nested-1.0.0/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/nested-1.0.0/lib/
|
||||
nm
|
||||
2.12
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/nm-0.5.0/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/nm-0.5.0/lib/
|
||||
package_config
|
||||
3.4
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/package_config-2.2.0/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/package_config-2.2.0/lib/
|
||||
package_info_plus
|
||||
3.3
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/package_info_plus-8.3.0/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/package_info_plus-8.3.0/lib/
|
||||
package_info_plus_platform_interface
|
||||
2.18
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/package_info_plus_platform_interface-3.2.0/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/package_info_plus_platform_interface-3.2.0/lib/
|
||||
path
|
||||
3.4
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/path-1.9.1/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/path-1.9.1/lib/
|
||||
path_parsing
|
||||
3.3
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/path_parsing-1.1.0/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/path_parsing-1.1.0/lib/
|
||||
path_provider
|
||||
3.4
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/path_provider-2.1.5/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/path_provider-2.1.5/lib/
|
||||
path_provider_android
|
||||
3.6
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/path_provider_android-2.2.16/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/path_provider_android-2.2.16/lib/
|
||||
path_provider_foundation
|
||||
3.3
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/path_provider_foundation-2.4.1/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/path_provider_foundation-2.4.1/lib/
|
||||
path_provider_linux
|
||||
2.19
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/path_provider_linux-2.2.1/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/path_provider_linux-2.2.1/lib/
|
||||
path_provider_platform_interface
|
||||
3.0
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/path_provider_platform_interface-2.1.2/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/path_provider_platform_interface-2.1.2/lib/
|
||||
path_provider_windows
|
||||
3.2
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/path_provider_windows-2.3.0/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/path_provider_windows-2.3.0/lib/
|
||||
petitparser
|
||||
3.5
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/petitparser-6.1.0/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/petitparser-6.1.0/lib/
|
||||
platform
|
||||
3.2
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/platform-3.1.6/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/platform-3.1.6/lib/
|
||||
plugin_platform_interface
|
||||
3.0
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/plugin_platform_interface-2.1.8/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/plugin_platform_interface-2.1.8/lib/
|
||||
polylabel
|
||||
2.13
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/polylabel-1.0.1/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/polylabel-1.0.1/lib/
|
||||
pool
|
||||
2.12
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/pool-1.5.1/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/pool-1.5.1/lib/
|
||||
posix
|
||||
3.0
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/posix-6.0.1/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/posix-6.0.1/lib/
|
||||
proj4dart
|
||||
2.12
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/proj4dart-2.1.0/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/proj4dart-2.1.0/lib/
|
||||
provider
|
||||
2.12
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/provider-6.1.5/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/provider-6.1.5/lib/
|
||||
pub_semver
|
||||
3.4
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/pub_semver-2.2.0/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/pub_semver-2.2.0/lib/
|
||||
pubspec_parse
|
||||
3.6
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/pubspec_parse-1.5.0/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/pubspec_parse-1.5.0/lib/
|
||||
retry
|
||||
3.0
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/retry-3.1.2/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/retry-3.1.2/lib/
|
||||
shelf
|
||||
3.4
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/shelf-1.4.2/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/shelf-1.4.2/lib/
|
||||
shelf_web_socket
|
||||
3.5
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/shelf_web_socket-3.0.0/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/shelf_web_socket-3.0.0/lib/
|
||||
source_gen
|
||||
3.0
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/source_gen-1.5.0/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/source_gen-1.5.0/lib/
|
||||
source_helper
|
||||
3.4
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/source_helper-1.3.5/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/source_helper-1.3.5/lib/
|
||||
source_span
|
||||
3.1
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/source_span-1.10.1/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/source_span-1.10.1/lib/
|
||||
sprintf
|
||||
2.12
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/sprintf-7.0.0/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/sprintf-7.0.0/lib/
|
||||
stack_trace
|
||||
3.4
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/stack_trace-1.12.1/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/stack_trace-1.12.1/lib/
|
||||
stream_channel
|
||||
3.3
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/stream_channel-2.1.4/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/stream_channel-2.1.4/lib/
|
||||
stream_transform
|
||||
3.1
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/stream_transform-2.1.1/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/stream_transform-2.1.1/lib/
|
||||
string_scanner
|
||||
3.1
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/string_scanner-1.4.1/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/string_scanner-1.4.1/lib/
|
||||
syncfusion_flutter_charts
|
||||
3.4
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/syncfusion_flutter_charts-29.1.35/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/syncfusion_flutter_charts-29.1.35/lib/
|
||||
syncfusion_flutter_core
|
||||
3.4
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/syncfusion_flutter_core-29.1.35/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/syncfusion_flutter_core-29.1.35/lib/
|
||||
term_glyph
|
||||
3.1
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/term_glyph-1.2.2/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/term_glyph-1.2.2/lib/
|
||||
test_api
|
||||
3.5
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/test_api-0.7.4/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/test_api-0.7.4/lib/
|
||||
timezone
|
||||
2.19
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/timezone-0.10.1/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/timezone-0.10.1/lib/
|
||||
timing
|
||||
3.4
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/timing-1.0.2/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/timing-1.0.2/lib/
|
||||
typed_data
|
||||
3.5
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/typed_data-1.4.0/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/typed_data-1.4.0/lib/
|
||||
unicode
|
||||
2.12
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/unicode-0.3.1/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/unicode-0.3.1/lib/
|
||||
universal_html
|
||||
2.17
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/universal_html-2.2.4/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/universal_html-2.2.4/lib/
|
||||
universal_io
|
||||
2.17
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/universal_io-2.2.2/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/universal_io-2.2.2/lib/
|
||||
url_launcher
|
||||
3.3
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/url_launcher-6.3.1/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/url_launcher-6.3.1/lib/
|
||||
url_launcher_android
|
||||
3.6
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/url_launcher_android-6.3.15/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/url_launcher_android-6.3.15/lib/
|
||||
url_launcher_ios
|
||||
3.3
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/url_launcher_ios-6.3.2/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/url_launcher_ios-6.3.2/lib/
|
||||
url_launcher_linux
|
||||
3.3
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/url_launcher_linux-3.2.1/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/url_launcher_linux-3.2.1/lib/
|
||||
url_launcher_macos
|
||||
3.3
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/url_launcher_macos-3.2.2/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/url_launcher_macos-3.2.2/lib/
|
||||
url_launcher_platform_interface
|
||||
3.1
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/url_launcher_platform_interface-2.3.2/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/url_launcher_platform_interface-2.3.2/lib/
|
||||
url_launcher_web
|
||||
3.6
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/url_launcher_web-2.4.0/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/url_launcher_web-2.4.0/lib/
|
||||
url_launcher_windows
|
||||
3.4
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/url_launcher_windows-3.1.4/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/url_launcher_windows-3.1.4/lib/
|
||||
uuid
|
||||
3.0
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/uuid-4.5.1/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/uuid-4.5.1/lib/
|
||||
vector_graphics
|
||||
3.4
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/vector_graphics-1.1.18/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/vector_graphics-1.1.18/lib/
|
||||
vector_graphics_codec
|
||||
3.4
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/vector_graphics_codec-1.1.13/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/vector_graphics_codec-1.1.13/lib/
|
||||
vector_graphics_compiler
|
||||
3.4
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/vector_graphics_compiler-1.1.16/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/vector_graphics_compiler-1.1.16/lib/
|
||||
vector_math
|
||||
2.14
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/vector_math-2.1.4/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/vector_math-2.1.4/lib/
|
||||
vm_service
|
||||
3.3
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/vm_service-15.0.0/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/vm_service-15.0.0/lib/
|
||||
watcher
|
||||
3.1
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/watcher-1.1.1/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/watcher-1.1.1/lib/
|
||||
web
|
||||
3.4
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/web-1.1.1/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/web-1.1.1/lib/
|
||||
web_socket
|
||||
3.3
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/web_socket-0.1.6/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/web_socket-0.1.6/lib/
|
||||
web_socket_channel
|
||||
3.3
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/web_socket_channel-3.0.2/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/web_socket_channel-3.0.2/lib/
|
||||
win32
|
||||
3.7
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/win32-5.13.0/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/win32-5.13.0/lib/
|
||||
wkt_parser
|
||||
2.12
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/wkt_parser-2.0.0/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/wkt_parser-2.0.0/lib/
|
||||
xdg_directories
|
||||
3.3
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/xdg_directories-1.1.0/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/xdg_directories-1.1.0/lib/
|
||||
xml
|
||||
3.2
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/xml-6.5.0/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/xml-6.5.0/lib/
|
||||
yaml
|
||||
3.4
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/yaml-3.1.3/
|
||||
file:///Users/pierre/.pub-cache/hosted/pub.dev/yaml-3.1.3/lib/
|
||||
_macros
|
||||
3.5
|
||||
file:///Users/pierre/dev/flutter/bin/cache/dart-sdk/pkg/_macros/
|
||||
file:///Users/pierre/dev/flutter/bin/cache/dart-sdk/pkg/_macros/lib/
|
||||
sky_engine
|
||||
3.7
|
||||
file:///Users/pierre/dev/flutter/bin/cache/pkg/sky_engine/
|
||||
file:///Users/pierre/dev/flutter/bin/cache/pkg/sky_engine/lib/
|
||||
flutter
|
||||
3.7
|
||||
file:///Users/pierre/dev/flutter/packages/flutter/
|
||||
file:///Users/pierre/dev/flutter/packages/flutter/lib/
|
||||
flutter_test
|
||||
3.7
|
||||
file:///Users/pierre/dev/flutter/packages/flutter_test/
|
||||
file:///Users/pierre/dev/flutter/packages/flutter_test/lib/
|
||||
flutter_web_plugins
|
||||
3.7
|
||||
file:///Users/pierre/dev/flutter/packages/flutter_web_plugins/
|
||||
file:///Users/pierre/dev/flutter/packages/flutter_web_plugins/lib/
|
||||
geosector_app
|
||||
3.0
|
||||
file:///Users/pierre/dev/geosector/app/
|
||||
file:///Users/pierre/dev/geosector/app/lib/
|
||||
2
|
||||
1482
app/.dart_tool/package_graph.json
Normal file
1482
app/.dart_tool/package_graph.json
Normal file
File diff suppressed because it is too large
Load Diff
Binary file not shown.
1
app/.dart_tool/version
Normal file
1
app/.dart_tool/version
Normal file
@@ -0,0 +1 @@
|
||||
3.32.1
|
||||
1
app/.flutter-plugins-dependencies
Normal file
1
app/.flutter-plugins-dependencies
Normal file
File diff suppressed because one or more lines are too long
47
app/.gitignore
vendored
47
app/.gitignore
vendored
@@ -1,47 +0,0 @@
|
||||
# Miscellaneous
|
||||
*.class
|
||||
*.log
|
||||
*.pyc
|
||||
*.swp
|
||||
.DS_Store
|
||||
.atom/
|
||||
.build/
|
||||
.buildlog/
|
||||
.history
|
||||
.svn/
|
||||
.swiftpm/
|
||||
migrate_working_dir/
|
||||
|
||||
# IntelliJ related
|
||||
*.iml
|
||||
*.ipr
|
||||
*.iws
|
||||
.idea/
|
||||
|
||||
# The .vscode folder contains launch configuration and tasks you configure in
|
||||
# VS Code which you may wish to be included in version control, so this line
|
||||
# is commented out by default.
|
||||
#.vscode/
|
||||
|
||||
# Flutter/Dart/Pub related
|
||||
**/doc/api/
|
||||
**/ios/Flutter/.last_build_id
|
||||
.dart_tool/
|
||||
.flutter-plugins
|
||||
.flutter-plugins-dependencies
|
||||
.pub-cache/
|
||||
.pub/
|
||||
/build/
|
||||
|
||||
# Symbolication related
|
||||
app.*.symbols
|
||||
|
||||
# Obfuscation related
|
||||
app.*.map.json
|
||||
|
||||
# Android Studio will place build artifacts here
|
||||
/android/app/debug
|
||||
/android/app/profile
|
||||
/android/app/release
|
||||
|
||||
sync_config.jsonc
|
||||
94
app/.vscode/settings.json
vendored
94
app/.vscode/settings.json
vendored
@@ -6,7 +6,7 @@
|
||||
"editor.minimap.enabled": true, // On veut voir la minimap
|
||||
"editor.minimap.showSlider": "always", // On veut voir la minimap
|
||||
"editor.minimap.size": "fill", // On veut voir la minimap
|
||||
"editor.minimap.scale": 2,
|
||||
"editor.minimap.scale": 1,
|
||||
"editor.tokenColorCustomizations": {
|
||||
"textMateRules": [
|
||||
{
|
||||
@@ -23,12 +23,14 @@
|
||||
},
|
||||
"editor.minimap.renderCharacters": true,
|
||||
"editor.minimap.maxColumn": 120,
|
||||
"breadcrumbs.enabled": false,
|
||||
"breadcrumbs.enabled": true,
|
||||
|
||||
// -- Tabs
|
||||
"workbench.editor.wrapTabs": true, // On veut voir les tabs
|
||||
"workbench.editor.tabSizing": "shrink", // On veut voir les tabs
|
||||
"workbench.editor.pinnedTabSizing": "compact",
|
||||
"workbench.editor.enablePreview": false, // Un clic sur un fichier l'ouvre
|
||||
|
||||
// -- Sidebar
|
||||
"workbench.tree.indent": 15, // Indente plus pour plus de clarté dans la sidebar
|
||||
"workbench.tree.renderIndentGuides": "always",
|
||||
@@ -44,7 +46,8 @@
|
||||
"editor.guides.bracketPairs": "active",
|
||||
// Ergonomie
|
||||
"editor.wordWrap": "off",
|
||||
"editor.rulers": [],
|
||||
"editor.rulers": [300],
|
||||
"editor.wordWrapColumn": 300,
|
||||
"editor.suggest.insertMode": "replace", // L'autocomplétion remplace le mot en cours
|
||||
"editor.acceptSuggestionOnCommitCharacter": false, // Evite que l'autocomplétion soit accepté lors d'un . par exemple
|
||||
"editor.formatOnSave": true,
|
||||
@@ -59,21 +62,13 @@
|
||||
},
|
||||
"intelephense.format.braces": "k&r",
|
||||
"intelephense.format.enable": true,
|
||||
"php.validate.executablePath": "/opt/homebrew/opt/php@8.3/bin/php",
|
||||
"php.executablePath": "/opt/homebrew/opt/php@8.3/bin/php",
|
||||
"[javascript]": {
|
||||
"editor.defaultFormatter": "esbenp.prettier-vscode",
|
||||
"editor.formatOnSave": true,
|
||||
"editor.formatOnPaste": true
|
||||
},
|
||||
"[dart]": {
|
||||
"editor.formatOnSave": true,
|
||||
"editor.formatOnType": true,
|
||||
"editor.rulers": [
|
||||
80
|
||||
],
|
||||
"editor.selectionHighlight": false,
|
||||
"editor.tabCompletion": "onlySnippets",
|
||||
"editor.wordBasedSuggestions": "off"
|
||||
},
|
||||
"prettier.printWidth": 360,
|
||||
"prettier.semi": true,
|
||||
"prettier.singleQuote": true,
|
||||
@@ -82,6 +77,19 @@
|
||||
"explorer.autoReveal": false,
|
||||
"explorer.confirmDragAndDrop": false,
|
||||
"emmet.triggerExpansionOnTab": true,
|
||||
"emmet.includeLanguages": {
|
||||
"javascript": "javascript",
|
||||
"php": "php",
|
||||
"svelte": "html",
|
||||
"dart": "dart"
|
||||
},
|
||||
"problems.decorations.enabled": true,
|
||||
"explorer.decorations.colors": true,
|
||||
"explorer.decorations.badges": true,
|
||||
"php.validate.enable": true,
|
||||
"php.suggest.basic": false,
|
||||
"dart.analysisExcludedFolders": [],
|
||||
"dart.enableSdkFormatter": true,
|
||||
// Fichiers
|
||||
"files.defaultLanguage": "markdown",
|
||||
"files.autoSaveWorkspaceFilesOnly": true,
|
||||
@@ -92,7 +100,7 @@
|
||||
"javascript.preferences.importModuleSpecifierEnding": "js",
|
||||
"typescript.preferences.importModuleSpecifierEnding": "js",
|
||||
// Extensions
|
||||
"tailwindCSS.experimental.configFile": "frontend/tailwind.config.js",
|
||||
"tailwindCSS.experimental.configFile": "web/tailwind.config.js",
|
||||
"editor.quickSuggestions": {
|
||||
"strings": true
|
||||
},
|
||||
@@ -104,27 +112,45 @@
|
||||
"**/*.svelte"
|
||||
],
|
||||
"svelte.plugin.svelte.diagnostics.enable": false,
|
||||
"problems.decorations.enabled": false,
|
||||
"js/ts.implicitProjectConfig.checkJs": false,
|
||||
"svelte.enable-ts-plugin": false,
|
||||
"workbench.colorCustomizations": {
|
||||
"activityBar.activeBackground": "#405978",
|
||||
"activityBar.background": "#405978",
|
||||
"activityBar.foreground": "#e7e7e7",
|
||||
"activityBar.inactiveForeground": "#e7e7e799",
|
||||
"activityBarBadge.background": "#bc829c",
|
||||
"activityBarBadge.foreground": "#15202b",
|
||||
"commandCenter.border": "#e7e7e799",
|
||||
"sash.hoverBorder": "#405978",
|
||||
"statusBar.background": "#2e4057",
|
||||
"statusBar.foreground": "#e7e7e7",
|
||||
"statusBarItem.hoverBackground": "#405978",
|
||||
"statusBarItem.remoteBackground": "#2e4057",
|
||||
"statusBarItem.remoteForeground": "#e7e7e7",
|
||||
"titleBar.activeBackground": "#2e4057",
|
||||
"titleBar.activeForeground": "#e7e7e7",
|
||||
"titleBar.inactiveBackground": "#2e405799",
|
||||
"titleBar.inactiveForeground": "#e7e7e799"
|
||||
"cline.autoApproveLimit": 100,
|
||||
"cline.autoApproveRequests": true,
|
||||
"cline.enableMemoryBank": true,
|
||||
"cline.includeSnippetsFromMemory": true,
|
||||
"cline.contextLength": 10000,
|
||||
"cline.autoFormat": true,
|
||||
"cline.primaryDocumentationFile": ".cline",
|
||||
"cline.gitIntegration": true,
|
||||
"cline.projectStructure": {
|
||||
"api": "php",
|
||||
"app": "flutter",
|
||||
"web": "svelte"
|
||||
},
|
||||
"peacock.color": "#2E4057",
|
||||
"cline.referenceFiles": {
|
||||
"database": "docs/db-resalice.dump",
|
||||
"apiEndpoints": "docs/api_endpoints.md",
|
||||
"architecture": "docs/architecture.md"
|
||||
},
|
||||
"cline.databaseSchema": "docs/db-resalice.dump",
|
||||
"peacock.color": "#42b883",
|
||||
"workbench.colorCustomizations": {
|
||||
"activityBar.activeBackground": "#65c89b",
|
||||
"activityBar.background": "#65c89b",
|
||||
"activityBar.foreground": "#15202b",
|
||||
"activityBar.inactiveForeground": "#15202b99",
|
||||
"activityBarBadge.background": "#945bc4",
|
||||
"activityBarBadge.foreground": "#e7e7e7",
|
||||
"commandCenter.border": "#15202b99",
|
||||
"sash.hoverBorder": "#65c89b",
|
||||
"statusBar.background": "#42b883",
|
||||
"statusBar.foreground": "#15202b",
|
||||
"statusBarItem.hoverBackground": "#359268",
|
||||
"statusBarItem.remoteBackground": "#42b883",
|
||||
"statusBarItem.remoteForeground": "#15202b",
|
||||
"titleBar.activeBackground": "#42b883",
|
||||
"titleBar.activeForeground": "#15202b",
|
||||
"titleBar.inactiveBackground": "#42b88399",
|
||||
"titleBar.inactiveForeground": "#15202b99"
|
||||
}
|
||||
}
|
||||
428
app/README-APP.md
Normal file
428
app/README-APP.md
Normal file
@@ -0,0 +1,428 @@
|
||||
# GEOSECTOR
|
||||
|
||||
Une application puissante et intuitive de gestion de vos distributions de calendriers par secteurs géographiques pour les amicales de pompiers.
|
||||
|
||||
## 📱 Présentation
|
||||
|
||||
GEOSECTOR est une application Flutter qui permet aux amicales de pompiers de gérer efficacement la distribution de calendriers par secteurs géographiques.
|
||||
|
||||
### Fonctionnalités principales
|
||||
|
||||
- **Gestion des secteurs géographiques** avec cartes interactives (Flutter Map)
|
||||
- **Suivi des passages** avec géolocalisation
|
||||
- **Interface différenciée** : utilisateur et administrateur
|
||||
- **Authentification sécurisée** avec gestion des rôles@
|
||||
- **Chat intégré** avec système de notifications
|
||||
- **Stockage local** avec synchronisation en ligne
|
||||
- **Support multi-plateforme** : Web, iOS, Android
|
||||
|
||||
## 🏗️ Architecture
|
||||
|
||||
### Stack technique
|
||||
|
||||
- **Framework** : Flutter 3.32
|
||||
- **Routing** : Go Router
|
||||
- **Base de données locale** : Hive
|
||||
- **Gestion d'état** : Provider + Repository Pattern
|
||||
- **Cartes** : Flutter Map avec Mapbox
|
||||
- **API** : Dio pour les requêtes HTTP
|
||||
- **Chat** : MQTT5 Client
|
||||
|
||||
### Architecture de données : Hive + Provider + Repository
|
||||
|
||||
L'application utilise une architecture en couches pour la gestion des données :
|
||||
|
||||
```
|
||||
UI Layer (Widgets)
|
||||
↓
|
||||
Provider Layer (State Management)
|
||||
↓
|
||||
Repository Layer (Business Logic)
|
||||
↓
|
||||
Data Layer (Hive + API)
|
||||
```
|
||||
|
||||
#### Couches de l'architecture
|
||||
|
||||
1. **UI Layer** : Widgets Flutter qui affichent les données
|
||||
2. **Provider Layer** : Gestion d'état avec ChangeNotifier
|
||||
3. **Repository Layer** : Logique métier et orchestration des sources de données
|
||||
4. **Data Layer** : Stockage local (Hive) et API distante
|
||||
|
||||
### Structure des dossiers
|
||||
|
||||
```
|
||||
lib/
|
||||
├── core/
|
||||
│ ├── config/
|
||||
│ ├── constants/
|
||||
│ ├── errors/
|
||||
│ ├── network/
|
||||
│ └── utils/
|
||||
├── data/
|
||||
│ ├── datasources/
|
||||
│ ├── models/
|
||||
│ └── repositories/
|
||||
├── domain/
|
||||
│ ├── entities/
|
||||
│ ├── repositories/
|
||||
│ └── usecases/
|
||||
├── presentation/
|
||||
│ ├── pages/
|
||||
│ ├── providers/
|
||||
│ ├── widgets/
|
||||
│ └── theme/
|
||||
└── main.dart
|
||||
```
|
||||
|
||||
## 🚀 Installation et configuration
|
||||
|
||||
### Prérequis
|
||||
|
||||
- Flutter 3.x
|
||||
- Dart SDK
|
||||
- Android Studio / VS Code
|
||||
- Émulateur ou appareil physique
|
||||
|
||||
### Installation
|
||||
|
||||
1. **Cloner le repository**
|
||||
```bash
|
||||
git clone https://github.com/votre-repo/geosector.git
|
||||
cd geosector
|
||||
```
|
||||
|
||||
2. **Installer les dépendances**
|
||||
```bash
|
||||
flutter pub get
|
||||
```
|
||||
|
||||
3. **Configuration des clés API**
|
||||
|
||||
Créer un fichier `.env` à la racine :
|
||||
```env
|
||||
MAPBOX_ACCESS_TOKEN=your_mapbox_token
|
||||
API_BASE_URL=https://your-api.com
|
||||
MQTT_BROKER_URL=your-mqtt-broker
|
||||
```
|
||||
|
||||
4. **Lancer l'application**
|
||||
```bash
|
||||
flutter run
|
||||
```
|
||||
|
||||
## 📦 Dépendances principales
|
||||
|
||||
```yaml
|
||||
dependencies:
|
||||
flutter:
|
||||
sdk: flutter
|
||||
|
||||
# État et navigation
|
||||
provider: ^6.1.1
|
||||
go_router: ^12.1.3
|
||||
|
||||
# Stockage local
|
||||
hive: ^2.2.3
|
||||
hive_flutter: ^1.1.0
|
||||
|
||||
# Réseau
|
||||
dio: ^5.4.0
|
||||
|
||||
# Cartes
|
||||
flutter_map: ^6.1.0
|
||||
geolocator: ^10.1.0
|
||||
|
||||
# Chat
|
||||
mqtt5_client: ^4.2.0
|
||||
|
||||
# UI
|
||||
flutter_screenutil: ^5.9.0
|
||||
cached_network_image: ^3.3.0
|
||||
|
||||
dev_dependencies:
|
||||
hive_generator: ^2.0.1
|
||||
build_runner: ^2.4.7
|
||||
```
|
||||
|
||||
## 🗄️ Modèles de données
|
||||
|
||||
### Secteur
|
||||
|
||||
```dart
|
||||
@HiveType(typeId: 0)
|
||||
class Secteur extends HiveObject {
|
||||
@HiveField(0)
|
||||
String id;
|
||||
|
||||
@HiveField(1)
|
||||
String nom;
|
||||
|
||||
@HiveField(2)
|
||||
List<LatLng> polygone;
|
||||
|
||||
@HiveField(3)
|
||||
String couleur;
|
||||
|
||||
@HiveField(4)
|
||||
int nombreCalendriers;
|
||||
|
||||
@HiveField(5)
|
||||
DateTime dateCreation;
|
||||
}
|
||||
```
|
||||
|
||||
### Passage
|
||||
|
||||
```dart
|
||||
@HiveType(typeId: 1)
|
||||
class Passage extends HiveObject {
|
||||
@HiveField(0)
|
||||
String id;
|
||||
|
||||
@HiveField(1)
|
||||
String secteurId;
|
||||
|
||||
@HiveField(2)
|
||||
String utilisateurId;
|
||||
|
||||
@HiveField(3)
|
||||
DateTime datePassage;
|
||||
|
||||
@HiveField(4)
|
||||
LatLng position;
|
||||
|
||||
@HiveField(5)
|
||||
int calendriersDistribues;
|
||||
|
||||
@HiveField(6)
|
||||
String commentaire;
|
||||
|
||||
@HiveField(7)
|
||||
List<String> photos;
|
||||
}
|
||||
```
|
||||
|
||||
### Utilisateur
|
||||
|
||||
```dart
|
||||
@HiveType(typeId: 2)
|
||||
class Utilisateur extends HiveObject {
|
||||
@HiveField(0)
|
||||
String id;
|
||||
|
||||
@HiveField(1)
|
||||
String nom;
|
||||
|
||||
@HiveField(2)
|
||||
String email;
|
||||
|
||||
@HiveField(3)
|
||||
String role; // 'admin' ou 'user'
|
||||
|
||||
@HiveField(4)
|
||||
List<String> secteursAssignes;
|
||||
|
||||
@HiveField(5)
|
||||
DateTime dernierLogin;
|
||||
}
|
||||
```
|
||||
|
||||
## 🔧 Gestion d'état avec Provider
|
||||
|
||||
### SecteurProvider
|
||||
|
||||
```dart
|
||||
class SecteurProvider extends ChangeNotifier {
|
||||
final SecteurRepository _repository;
|
||||
|
||||
List<Secteur> _secteurs = [];
|
||||
bool _isLoading = false;
|
||||
|
||||
List<Secteur> get secteurs => _secteurs;
|
||||
bool get isLoading => _isLoading;
|
||||
|
||||
Future<void> loadSecteurs() async {
|
||||
_isLoading = true;
|
||||
notifyListeners();
|
||||
|
||||
try {
|
||||
_secteurs = await _repository.getAllSecteurs();
|
||||
} catch (e) {
|
||||
// Gestion d'erreur
|
||||
} finally {
|
||||
_isLoading = false;
|
||||
notifyListeners();
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## 🗺️ Cartes et géolocalisation
|
||||
|
||||
### Configuration Flutter Map
|
||||
|
||||
```dart
|
||||
FlutterMap(
|
||||
options: MapOptions(
|
||||
center: LatLng(46.2276, 2.2137), // Centre de la France
|
||||
zoom: 6.0,
|
||||
),
|
||||
children: [
|
||||
TileLayer(
|
||||
urlTemplate: 'https://api.mapbox.com/styles/v1/{id}/tiles/{z}/{x}/{y}?access_token={accessToken}',
|
||||
additionalOptions: {
|
||||
'accessToken': mapboxToken,
|
||||
'id': 'mapbox/streets-v11',
|
||||
},
|
||||
),
|
||||
PolygonLayer(
|
||||
polygons: secteurs.map((secteur) => Polygon(
|
||||
points: secteur.polygone,
|
||||
color: Color(int.parse(secteur.couleur)),
|
||||
borderColor: Colors.black,
|
||||
borderStrokeWidth: 2.0,
|
||||
)).toList(),
|
||||
),
|
||||
],
|
||||
)
|
||||
```
|
||||
|
||||
## 💬 Chat intégré
|
||||
|
||||
### Configuration MQTT
|
||||
|
||||
```dart
|
||||
class ChatService {
|
||||
late MqttClient client;
|
||||
|
||||
Future<void> connect() async {
|
||||
client = MqttClient('mqtt://broker-url', 'client-id');
|
||||
await client.connect();
|
||||
|
||||
client.subscribe('geosector/chat', MqttQos.atLeastOnce);
|
||||
client.updates!.listen((messages) {
|
||||
// Traitement des messages
|
||||
});
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## 🔐 Authentification
|
||||
|
||||
### Gestion des rôles
|
||||
|
||||
```dart
|
||||
class AuthProvider extends ChangeNotifier {
|
||||
Utilisateur? _currentUser;
|
||||
|
||||
bool get isAdmin => _currentUser?.role == 'admin';
|
||||
bool get isAuthenticated => _currentUser != null;
|
||||
|
||||
Future<void> login(String email, String password) async {
|
||||
// Logique d'authentification
|
||||
}
|
||||
|
||||
void logout() {
|
||||
_currentUser = null;
|
||||
notifyListeners();
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## 📱 Interface utilisateur
|
||||
|
||||
### Thème de l'application
|
||||
|
||||
```dart
|
||||
class AppTheme {
|
||||
static ThemeData get lightTheme => ThemeData(
|
||||
primarySwatch: Colors.red,
|
||||
appBarTheme: AppBarTheme(
|
||||
backgroundColor: Colors.red[700],
|
||||
elevation: 0,
|
||||
),
|
||||
elevatedButtonTheme: ElevatedButtonThemeData(
|
||||
style: ElevatedButton.styleFrom(
|
||||
backgroundColor: Colors.red[700],
|
||||
shape: RoundedRectangleBorder(
|
||||
borderRadius: BorderRadius.circular(8),
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
```
|
||||
|
||||
## 🔄 Synchronisation des données
|
||||
|
||||
### Repository Pattern
|
||||
|
||||
```dart
|
||||
class SecteurRepository {
|
||||
final SecteurLocalDataSource _localDataSource;
|
||||
final SecteurRemoteDataSource _remoteDataSource;
|
||||
|
||||
Future<List<Secteur>> getAllSecteurs() async {
|
||||
try {
|
||||
// Essayer de récupérer depuis l'API
|
||||
final remoteSecteurs = await _remoteDataSource.getAllSecteurs();
|
||||
await _localDataSource.cacheSecteurs(remoteSecteurs);
|
||||
return remoteSecteurs;
|
||||
} catch (e) {
|
||||
// Fallback sur le cache local
|
||||
return await _localDataSource.getAllSecteurs();
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## 🧪 Tests
|
||||
|
||||
### Tests unitaires
|
||||
|
||||
```bash
|
||||
flutter test
|
||||
```
|
||||
|
||||
### Tests d'intégration
|
||||
|
||||
```bash
|
||||
flutter test integration_test/
|
||||
```
|
||||
|
||||
## 📚 Documentation
|
||||
|
||||
- [Guide d'utilisation](docs/guide-utilisation.md)
|
||||
- [API Reference](docs/api-reference.md)
|
||||
- [Architecture détaillée](docs/architecture.md)
|
||||
- [Contribution](docs/contributing.md)
|
||||
|
||||
## 🤝 Contribution
|
||||
|
||||
1. Fork le projet
|
||||
2. Créer une branche feature (`git checkout -b feature/AmazingFeature`)
|
||||
3. Commit vos changements (`git commit -m 'Add some AmazingFeature'`)
|
||||
4. Push vers la branche (`git push origin feature/AmazingFeature`)
|
||||
5. Ouvrir une Pull Request
|
||||
|
||||
## 📄 Licence
|
||||
|
||||
Distribué sous la licence MIT. Voir `LICENSE` pour plus d'informations.
|
||||
|
||||
## 👥 Équipe
|
||||
|
||||
- **Développeur Principal** - [@votre-username](https://github.com/votre-username)
|
||||
- **Designer UI/UX** - [@designer-username](https://github.com/designer-username)
|
||||
|
||||
## 📞 Support
|
||||
|
||||
Pour toute question ou problème :
|
||||
|
||||
- 📧 Email : support@geosector.com
|
||||
- 🐛 Issues : [GitHub Issues](https://github.com/votre-repo/geosector/issues)
|
||||
- 📖 Documentation : [Wiki](https://github.com/votre-repo/geosector/wiki)
|
||||
|
||||
---
|
||||
|
||||
**GEOSECTOR** - Simplifiant la gestion des distributions de calendriers pour les amicales de pompiers 🚒
|
||||
@@ -1,16 +0,0 @@
|
||||
# geosector_app
|
||||
|
||||
A new Flutter project.
|
||||
|
||||
## Getting Started
|
||||
|
||||
This project is a starting point for a Flutter application.
|
||||
|
||||
A few resources to get you started if this is your first Flutter project:
|
||||
|
||||
- [Lab: Write your first Flutter app](https://docs.flutter.dev/get-started/codelab)
|
||||
- [Cookbook: Useful Flutter samples](https://docs.flutter.dev/cookbook)
|
||||
|
||||
For help getting started with Flutter development, view the
|
||||
[online documentation](https://docs.flutter.dev/), which offers tutorials,
|
||||
samples, guidance on mobile development, and a full API reference.
|
||||
29
app/android/geosector_app_android.iml
Normal file
29
app/android/geosector_app_android.iml
Normal file
@@ -0,0 +1,29 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module type="JAVA_MODULE" version="4">
|
||||
<component name="FacetManager">
|
||||
<facet type="android" name="Android">
|
||||
<configuration>
|
||||
<option name="ALLOW_USER_CONFIGURATION" value="false" />
|
||||
<option name="GEN_FOLDER_RELATIVE_PATH_APT" value="/gen" />
|
||||
<option name="GEN_FOLDER_RELATIVE_PATH_AIDL" value="/gen" />
|
||||
<option name="MANIFEST_FILE_RELATIVE_PATH" value="/app/src/main/AndroidManifest.xml" />
|
||||
<option name="RES_FOLDER_RELATIVE_PATH" value="/app/src/main/res" />
|
||||
<option name="ASSETS_FOLDER_RELATIVE_PATH" value="/app/src/main/assets" />
|
||||
<option name="LIBS_FOLDER_RELATIVE_PATH" value="/app/src/main/libs" />
|
||||
<option name="PROGUARD_LOGS_FOLDER_RELATIVE_PATH" value="/app/src/main/proguard_logs" />
|
||||
</configuration>
|
||||
</facet>
|
||||
</component>
|
||||
<component name="NewModuleRootManager" inherit-compiler-output="true">
|
||||
<exclude-output />
|
||||
<content url="file://$MODULE_DIR$">
|
||||
<sourceFolder url="file://$MODULE_DIR$/app/src/main/java" isTestSource="false" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/app/src/main/kotlin" isTestSource="false" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/gen" isTestSource="false" generated="true" />
|
||||
</content>
|
||||
<orderEntry type="jdk" jdkName="Android API 29 Platform" jdkType="Android SDK" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
<orderEntry type="library" name="Flutter for Android" level="project" />
|
||||
<orderEntry type="library" name="KotlinJavaRuntime" level="project" />
|
||||
</component>
|
||||
</module>
|
||||
BIN
app/assets/images/logo_recu.png
Normal file
BIN
app/assets/images/logo_recu.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 99 KiB |
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
||||
{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9841b6d7b60c778b4bf2a5ce379cf89c4d","buildSettings":{"CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGNING_ALLOWED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/ReachabilitySwift","DEFINES_MODULE":"YES","ENABLE_BITCODE":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","GCC_PREPROCESSOR_DEFINITIONS":"$(inherited) PERMISSION_LOCATION=1","IBSC_MODULE":"Reachability","INFOPLIST_FILE":"Target Support Files/ReachabilitySwift/ResourceBundle-ReachabilitySwift-ReachabilitySwift-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.4","PRODUCT_NAME":"ReachabilitySwift","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SUPPORTS_MACCATALYST":"NO","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98554dc1d27d76cd5cff7c6692541212fd","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9803e6490de82943e0c7d35df8af281fdf","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGNING_ALLOWED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/ReachabilitySwift","DEFINES_MODULE":"YES","ENABLE_BITCODE":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","GCC_PREPROCESSOR_DEFINITIONS":"$(inherited) PERMISSION_LOCATION=1","IBSC_MODULE":"Reachability","INFOPLIST_FILE":"Target Support Files/ReachabilitySwift/ResourceBundle-ReachabilitySwift-ReachabilitySwift-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.4","PRODUCT_NAME":"ReachabilitySwift","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SUPPORTS_MACCATALYST":"NO","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e989a7a8ced6fd3e15aadd5a218bd2f3aea","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9803e6490de82943e0c7d35df8af281fdf","buildSettings":{"CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGNING_ALLOWED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/ReachabilitySwift","DEFINES_MODULE":"YES","ENABLE_BITCODE":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","GCC_PREPROCESSOR_DEFINITIONS":"$(inherited) PERMISSION_LOCATION=1","IBSC_MODULE":"Reachability","INFOPLIST_FILE":"Target Support Files/ReachabilitySwift/ResourceBundle-ReachabilitySwift-ReachabilitySwift-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.4","PRODUCT_NAME":"ReachabilitySwift","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SUPPORTS_MACCATALYST":"NO","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e9888071b234b28e08028543bfca42ac6fe","name":"Release"}],"buildPhases":[{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e980a5d9d494ab6468b99a907e1fba2d4c4","type":"com.apple.buildphase.sources"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e986e05dfa30687b761c85f2df912512e86","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e986a3b0cc15a91aff6d8d5e99b7de11bdb","guid":"bfdfe7dc352907fc980b868725387e98aed6094577fbc38aea9b52deb9aa2848"}],"guid":"bfdfe7dc352907fc980b868725387e983c52986b63b29c10b993b289c91fd4aa","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e9807adac39fb3247fc816cd7da21f417b1","name":"ReachabilitySwift-ReachabilitySwift","productReference":{"guid":"bfdfe7dc352907fc980b868725387e98c7086e6e3b40ac71597256f680fc8085","name":"ReachabilitySwift.bundle","type":"product"},"productTypeIdentifier":"com.apple.product-type.bundle","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":0}],"type":"standard"}
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
||||
{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e989d5962022a16959a2dbac5825eb53ad1","buildSettings":{"ASSETCATALOG_COMPILER_APPICON_NAME":"AppIcon","ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME":"AccentColor","CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGNING_ALLOWED":"NO","DEFINES_MODULE":"YES","ENABLE_BITCODE":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","GCC_PREPROCESSOR_DEFINITIONS":"$(inherited) PERMISSION_LOCATION=1","IPHONEOS_DEPLOYMENT_TARGET":"15.4","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks","SDKROOT":"iphoneos","SUPPORTS_MACCATALYST":"NO","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2"},"guid":"bfdfe7dc352907fc980b868725387e982cf0da236cf10d087750aa1434da9227","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98e55973cc83574649321e604d21afd43d","buildSettings":{"ASSETCATALOG_COMPILER_APPICON_NAME":"AppIcon","ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME":"AccentColor","CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGNING_ALLOWED":"NO","DEFINES_MODULE":"YES","ENABLE_BITCODE":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","GCC_PREPROCESSOR_DEFINITIONS":"$(inherited) PERMISSION_LOCATION=1","IPHONEOS_DEPLOYMENT_TARGET":"15.4","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks","SDKROOT":"iphoneos","SUPPORTS_MACCATALYST":"NO","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES"},"guid":"bfdfe7dc352907fc980b868725387e98cc28f154213fd8181aa70d4c188a8335","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98e55973cc83574649321e604d21afd43d","buildSettings":{"ASSETCATALOG_COMPILER_APPICON_NAME":"AppIcon","ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME":"AccentColor","CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGNING_ALLOWED":"NO","DEFINES_MODULE":"YES","ENABLE_BITCODE":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","GCC_PREPROCESSOR_DEFINITIONS":"$(inherited) PERMISSION_LOCATION=1","IPHONEOS_DEPLOYMENT_TARGET":"15.4","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks","SDKROOT":"iphoneos","SUPPORTS_MACCATALYST":"NO","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES"},"guid":"bfdfe7dc352907fc980b868725387e981f19fefc6e52ad9e4e005a2248234387","name":"Release"}],"buildPhases":[],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e989da425bb6d6d5d8dbb95e4afffb82217","name":"Flutter","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"","configurationName":"Release","provisioningStyle":0}],"type":"aggregate"}
|
||||
@@ -0,0 +1 @@
|
||||
{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98fa9c5cacb446ae0e44a70f1c32f23a64","buildSettings":{"CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGNING_ALLOWED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/path_provider_foundation","DEFINES_MODULE":"YES","ENABLE_BITCODE":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","GCC_PREPROCESSOR_DEFINITIONS":"$(inherited) PERMISSION_LOCATION=1","IBSC_MODULE":"path_provider_foundation","INFOPLIST_FILE":"Target Support Files/path_provider_foundation/ResourceBundle-path_provider_foundation_privacy-path_provider_foundation-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.4","PRODUCT_NAME":"path_provider_foundation_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SUPPORTS_MACCATALYST":"NO","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e9803377a2da26f6424a1bf8b01464b923e","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98389a135ee8d6019e4634994ea685b58c","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGNING_ALLOWED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/path_provider_foundation","DEFINES_MODULE":"YES","ENABLE_BITCODE":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","GCC_PREPROCESSOR_DEFINITIONS":"$(inherited) PERMISSION_LOCATION=1","IBSC_MODULE":"path_provider_foundation","INFOPLIST_FILE":"Target Support Files/path_provider_foundation/ResourceBundle-path_provider_foundation_privacy-path_provider_foundation-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.4","PRODUCT_NAME":"path_provider_foundation_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SUPPORTS_MACCATALYST":"NO","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e9878cfa9a7b869a61cfb8b293aa8e87c42","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98389a135ee8d6019e4634994ea685b58c","buildSettings":{"CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGNING_ALLOWED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/path_provider_foundation","DEFINES_MODULE":"YES","ENABLE_BITCODE":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","GCC_PREPROCESSOR_DEFINITIONS":"$(inherited) PERMISSION_LOCATION=1","IBSC_MODULE":"path_provider_foundation","INFOPLIST_FILE":"Target Support Files/path_provider_foundation/ResourceBundle-path_provider_foundation_privacy-path_provider_foundation-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.4","PRODUCT_NAME":"path_provider_foundation_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SUPPORTS_MACCATALYST":"NO","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e9884a9d01cce5714bc0d88874b5e23d211","name":"Release"}],"buildPhases":[{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e9813b06847ede605cf1639c4bc5a40d97a","type":"com.apple.buildphase.sources"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98e9329d8583c7c6e70cf642ddc2468186","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e9856287cf3c9d56d6c15f1a69c52352be4","guid":"bfdfe7dc352907fc980b868725387e9871164334289df94d9883a67a265c47db"}],"guid":"bfdfe7dc352907fc980b868725387e9852f034b7c1769f9db1e574323aa8ff90","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e987ea64ee8d53085bf9edd1a57aaf8cbb5","name":"path_provider_foundation-path_provider_foundation_privacy","productReference":{"guid":"bfdfe7dc352907fc980b868725387e986e649604f74c414a7c2dbe5ef4cc4e75","name":"path_provider_foundation_privacy.bundle","type":"product"},"productTypeIdentifier":"com.apple.product-type.bundle","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":0}],"type":"standard"}
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
||||
{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98f8aadb01007a0f730c1ec8775ff934a1","buildSettings":{"CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGNING_ALLOWED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/url_launcher_ios","DEFINES_MODULE":"YES","ENABLE_BITCODE":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","GCC_PREPROCESSOR_DEFINITIONS":"$(inherited) PERMISSION_LOCATION=1","IBSC_MODULE":"url_launcher_ios","INFOPLIST_FILE":"Target Support Files/url_launcher_ios/ResourceBundle-url_launcher_ios_privacy-url_launcher_ios-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.4","PRODUCT_NAME":"url_launcher_ios_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SUPPORTS_MACCATALYST":"NO","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e982fb93a44d12112271b93159562b24781","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9807316ff78cb4f6bee2017828d7e7f433","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGNING_ALLOWED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/url_launcher_ios","DEFINES_MODULE":"YES","ENABLE_BITCODE":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","GCC_PREPROCESSOR_DEFINITIONS":"$(inherited) PERMISSION_LOCATION=1","IBSC_MODULE":"url_launcher_ios","INFOPLIST_FILE":"Target Support Files/url_launcher_ios/ResourceBundle-url_launcher_ios_privacy-url_launcher_ios-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.4","PRODUCT_NAME":"url_launcher_ios_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SUPPORTS_MACCATALYST":"NO","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e9898fe63b2b0aa5aa865ff103cca0247e0","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9807316ff78cb4f6bee2017828d7e7f433","buildSettings":{"CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGNING_ALLOWED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/url_launcher_ios","DEFINES_MODULE":"YES","ENABLE_BITCODE":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","GCC_PREPROCESSOR_DEFINITIONS":"$(inherited) PERMISSION_LOCATION=1","IBSC_MODULE":"url_launcher_ios","INFOPLIST_FILE":"Target Support Files/url_launcher_ios/ResourceBundle-url_launcher_ios_privacy-url_launcher_ios-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.4","PRODUCT_NAME":"url_launcher_ios_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SUPPORTS_MACCATALYST":"NO","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98efd39c6ccbdc133dcce01bab9637db5d","name":"Release"}],"buildPhases":[{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e986689b5e2904d36a35791dc59903b66ff","type":"com.apple.buildphase.sources"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98e0f450075235c16debcd5914cd987a00","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e980d48cdd461fa9f9fc6d7217632329f41","guid":"bfdfe7dc352907fc980b868725387e985fa7354893e8283e17b08a615cb53b78"}],"guid":"bfdfe7dc352907fc980b868725387e9898c9be1dfe648690c9b4e432652bc72c","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e9891b3b8cc56823cdea4b418e009a423b2","name":"url_launcher_ios-url_launcher_ios_privacy","productReference":{"guid":"bfdfe7dc352907fc980b868725387e9827df8da513ac7d6928fc311b53a7155d","name":"url_launcher_ios_privacy.bundle","type":"product"},"productTypeIdentifier":"com.apple.product-type.bundle","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":0}],"type":"standard"}
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
||||
{"guid":"dc4b70c03e8043e50e38f2068887b1d4","name":"Pods","path":"/Users/pierre/dev/geosector/app/ios/Pods/Pods.xcodeproj/project.xcworkspace","projects":["PROJECT@v11_mod=9c247933552af22255bf791d596f2dce_hash=bfdfe7dc352907fc980b868725387e98plugins=1OJSG6M1FOV3XYQCBH7Z29RZ0FPR9XDE1"]}
|
||||
1
app/build/web/.last_build_id
Normal file
1
app/build/web/.last_build_id
Normal file
@@ -0,0 +1 @@
|
||||
41acb28aedc1da36af63ba5cb8859018
|
||||
1
app/build/web/assets/AssetManifest.bin
Normal file
1
app/build/web/assets/AssetManifest.bin
Normal file
@@ -0,0 +1 @@
|
||||
|
||||
1
app/build/web/assets/AssetManifest.bin.json
Normal file
1
app/build/web/assets/AssetManifest.bin.json
Normal file
@@ -0,0 +1 @@
|
||||
"DQgHH2Fzc2V0cy9hbmltYXRpb25zL2dlb19tYWluLmpzb24MAQ0BBwVhc3NldAcfYXNzZXRzL2FuaW1hdGlvbnMvZ2VvX21haW4uanNvbgcqYXNzZXRzL2ZvbnRzL0ZpZ3RyZWUtVmFyaWFibGVGb250X3dnaHQudHRmDAENAQcFYXNzZXQHKmFzc2V0cy9mb250cy9GaWd0cmVlLVZhcmlhYmxlRm9udF93Z2h0LnR0ZgcgYXNzZXRzL2ltYWdlcy9nZW9zZWN0b3ItbG9nby5wbmcMAQ0BBwVhc3NldAcgYXNzZXRzL2ltYWdlcy9nZW9zZWN0b3ItbG9nby5wbmcHIGFzc2V0cy9pbWFnZXMvaWNvbi1nZW9zZWN0b3Iuc3ZnDAENAQcFYXNzZXQHIGFzc2V0cy9pbWFnZXMvaWNvbi1nZW9zZWN0b3Iuc3ZnByVhc3NldHMvaW1hZ2VzL2xvZ28tZ2Vvc2VjdG9yLTEwMjQucG5nDAENAQcFYXNzZXQHJWFzc2V0cy9pbWFnZXMvbG9nby1nZW9zZWN0b3ItMTAyNC5wbmcHG2Fzc2V0cy9pbWFnZXMvbG9nb19yZWN1LnBuZwwBDQEHBWFzc2V0Bxthc3NldHMvaW1hZ2VzL2xvZ29fcmVjdS5wbmcHMnBhY2thZ2VzL2N1cGVydGlub19pY29ucy9hc3NldHMvQ3VwZXJ0aW5vSWNvbnMudHRmDAENAQcFYXNzZXQHMnBhY2thZ2VzL2N1cGVydGlub19pY29ucy9hc3NldHMvQ3VwZXJ0aW5vSWNvbnMudHRmBzRwYWNrYWdlcy9mbHV0dGVyX21hcC9saWIvYXNzZXRzL2ZsdXR0ZXJfbWFwX2xvZ28ucG5nDAENAQcFYXNzZXQHNHBhY2thZ2VzL2ZsdXR0ZXJfbWFwL2xpYi9hc3NldHMvZmx1dHRlcl9tYXBfbG9nby5wbmc="
|
||||
1
app/build/web/assets/AssetManifest.json
Normal file
1
app/build/web/assets/AssetManifest.json
Normal file
@@ -0,0 +1 @@
|
||||
{"assets/animations/geo_main.json":["assets/animations/geo_main.json"],"assets/fonts/Figtree-VariableFont_wght.ttf":["assets/fonts/Figtree-VariableFont_wght.ttf"],"assets/images/geosector-logo.png":["assets/images/geosector-logo.png"],"assets/images/icon-geosector.svg":["assets/images/icon-geosector.svg"],"assets/images/logo-geosector-1024.png":["assets/images/logo-geosector-1024.png"],"assets/images/logo_recu.png":["assets/images/logo_recu.png"],"packages/cupertino_icons/assets/CupertinoIcons.ttf":["packages/cupertino_icons/assets/CupertinoIcons.ttf"],"packages/flutter_map/lib/assets/flutter_map_logo.png":["packages/flutter_map/lib/assets/flutter_map_logo.png"]}
|
||||
1
app/build/web/assets/FontManifest.json
Normal file
1
app/build/web/assets/FontManifest.json
Normal file
@@ -0,0 +1 @@
|
||||
[{"family":"MaterialIcons","fonts":[{"asset":"fonts/MaterialIcons-Regular.otf"}]},{"family":"Figtree","fonts":[{"asset":"assets/fonts/Figtree-VariableFont_wght.ttf"}]},{"family":"packages/cupertino_icons/CupertinoIcons","fonts":[{"asset":"packages/cupertino_icons/assets/CupertinoIcons.ttf"}]}]
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user