Merge branch 'feature/splashpage'
This commit is contained in:
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
|
### Branches GitLab
|
||||||
|
|
||||||
- **main/master**: [Production-ready code]
|
- **main**: Code stable prêt pour la production
|
||||||
- **develop**: [Integration branch for features]
|
- **develop**: Branche d'intégration pour les fonctionnalités en cours de développement
|
||||||
- **feature/[feature-name]**: [Feature development]
|
- **feature/[feature-name]**: Branches de développement pour les nouvelles fonctionnalités
|
||||||
- **bugfix/[bug-name]**: [Bug fixes]
|
- Exemple: `feature/geolocalisation-casernes` pour l'ajout de la géolocalisation des casernes
|
||||||
- **release/[version]**: [Release preparation]
|
- **bugfix/[bug-name]**: Branches pour les corrections de bugs
|
||||||
|
- **release/[version]**: Branches de préparation des versions
|
||||||
|
|
||||||
### Processus de Merge Request
|
### Processus de Merge Request
|
||||||
|
|
||||||
1. [Créer une branche à partir de develop]
|
1. Créer une branche à partir de `main` ou `develop` selon la nature du changement
|
||||||
2. [Développer la fonctionnalité/correction]
|
|
||||||
3. [Soumettre une MR vers develop]
|
```bash
|
||||||
4. [Code review]
|
git checkout -b feature/nom-de-la-fonctionnalite main
|
||||||
5. [CI/CD validation]
|
```
|
||||||
6. [Merge]
|
|
||||||
|
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
|
### 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
|
## Intégration avec GitLab
|
||||||
|
|
||||||
### Issues et Kanban
|
### Issues et Kanban
|
||||||
|
|
||||||
- **Labels**: [Liste des labels principaux et leur signification]
|
- **Labels**:
|
||||||
- **Milestones**: [Comment les milestones sont utilisées]
|
|
||||||
- **Boards**: [Description des tableaux Kanban]
|
- `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
|
### 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
|
## 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
|
"window.zoomLevel": 1, // Permet de zoomer, pratique si vous faites une présentation
|
||||||
|
|
||||||
// Apparence
|
// Apparence
|
||||||
// -- Editeur
|
// -- Editeur
|
||||||
"workbench.startupEditor": "none", // On ne veut pas une page d'accueil chargée
|
"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.showSlider": "always", // On veut voir la minimap
|
||||||
"editor.minimap.size": "fill", // On veut voir la minimap
|
"editor.minimap.size": "fill", // On veut voir la minimap
|
||||||
"editor.minimap.scale": 2,
|
"editor.minimap.scale": 1,
|
||||||
"editor.tokenColorCustomizations": {
|
"editor.tokenColorCustomizations": {
|
||||||
"textMateRules": [
|
"textMateRules": [
|
||||||
{
|
{
|
||||||
"scope": ["storage.type.function", "storage.type.class"],
|
"scope": [
|
||||||
|
"storage.type.function",
|
||||||
|
"storage.type.class"
|
||||||
|
],
|
||||||
"settings": {
|
"settings": {
|
||||||
"fontStyle": "bold",
|
"fontStyle": "bold",
|
||||||
"foreground": "#4B9CD3"
|
"foreground": "#4B9CD3"
|
||||||
@@ -27,7 +29,6 @@
|
|||||||
"workbench.editor.tabSizing": "shrink", // On veut voir les tabs
|
"workbench.editor.tabSizing": "shrink", // On veut voir les tabs
|
||||||
"workbench.editor.pinnedTabSizing": "compact",
|
"workbench.editor.pinnedTabSizing": "compact",
|
||||||
"workbench.editor.enablePreview": false, // Un clic sur un fichier l'ouvre
|
"workbench.editor.enablePreview": false, // Un clic sur un fichier l'ouvre
|
||||||
|
|
||||||
// -- Sidebar
|
// -- Sidebar
|
||||||
"workbench.tree.indent": 15, // Indente plus pour plus de clarté dans la sidebar
|
"workbench.tree.indent": 15, // Indente plus pour plus de clarté dans la sidebar
|
||||||
"workbench.tree.renderIndentGuides": "always",
|
"workbench.tree.renderIndentGuides": "always",
|
||||||
@@ -41,7 +42,6 @@
|
|||||||
"editor.fontSize": 13,
|
"editor.fontSize": 13,
|
||||||
"editor.lineHeight": 22,
|
"editor.lineHeight": 22,
|
||||||
"editor.guides.bracketPairs": "active",
|
"editor.guides.bracketPairs": "active",
|
||||||
|
|
||||||
// Ergonomie
|
// Ergonomie
|
||||||
"editor.wordWrap": "off",
|
"editor.wordWrap": "off",
|
||||||
"editor.rulers": [],
|
"editor.rulers": [],
|
||||||
@@ -52,7 +52,6 @@
|
|||||||
"editor.linkedEditing": true, // Quand on change un élément HTML, change la balise fermante
|
"editor.linkedEditing": true, // Quand on change un élément HTML, change la balise fermante
|
||||||
"editor.tabSize": 2,
|
"editor.tabSize": 2,
|
||||||
"editor.unicodeHighlight.nonBasicASCII": false,
|
"editor.unicodeHighlight.nonBasicASCII": false,
|
||||||
|
|
||||||
"[php]": {
|
"[php]": {
|
||||||
"editor.defaultFormatter": "bmewburn.vscode-intelephense-client",
|
"editor.defaultFormatter": "bmewburn.vscode-intelephense-client",
|
||||||
"editor.formatOnSave": true,
|
"editor.formatOnSave": true,
|
||||||
@@ -60,7 +59,8 @@
|
|||||||
},
|
},
|
||||||
"intelephense.format.braces": "k&r",
|
"intelephense.format.braces": "k&r",
|
||||||
"intelephense.format.enable": true,
|
"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]": {
|
"[javascript]": {
|
||||||
"editor.defaultFormatter": "esbenp.prettier-vscode",
|
"editor.defaultFormatter": "esbenp.prettier-vscode",
|
||||||
"editor.formatOnSave": true,
|
"editor.formatOnSave": true,
|
||||||
@@ -71,11 +71,22 @@
|
|||||||
"prettier.singleQuote": true,
|
"prettier.singleQuote": true,
|
||||||
"prettier.tabWidth": 2,
|
"prettier.tabWidth": 2,
|
||||||
"prettier.trailingComma": "es5",
|
"prettier.trailingComma": "es5",
|
||||||
|
|
||||||
"explorer.autoReveal": false,
|
"explorer.autoReveal": false,
|
||||||
"explorer.confirmDragAndDrop": false,
|
"explorer.confirmDragAndDrop": false,
|
||||||
"emmet.triggerExpansionOnTab": true,
|
"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
|
// Fichiers
|
||||||
"files.defaultLanguage": "markdown",
|
"files.defaultLanguage": "markdown",
|
||||||
"files.autoSaveWorkspaceFilesOnly": true,
|
"files.autoSaveWorkspaceFilesOnly": true,
|
||||||
@@ -85,40 +96,58 @@
|
|||||||
// Languages
|
// Languages
|
||||||
"javascript.preferences.importModuleSpecifierEnding": "js",
|
"javascript.preferences.importModuleSpecifierEnding": "js",
|
||||||
"typescript.preferences.importModuleSpecifierEnding": "js",
|
"typescript.preferences.importModuleSpecifierEnding": "js",
|
||||||
|
|
||||||
// Extensions
|
// Extensions
|
||||||
"tailwindCSS.experimental.configFile": "frontend/tailwind.config.js",
|
"tailwindCSS.experimental.configFile": "web/tailwind.config.js",
|
||||||
"editor.quickSuggestions": {
|
"editor.quickSuggestions": {
|
||||||
"strings": true
|
"strings": true
|
||||||
},
|
},
|
||||||
|
|
||||||
"[svelte]": {
|
"[svelte]": {
|
||||||
"editor.defaultFormatter": "svelte.svelte-vscode",
|
"editor.defaultFormatter": "svelte.svelte-vscode",
|
||||||
"editor.formatOnSave": true
|
"editor.formatOnSave": true
|
||||||
},
|
},
|
||||||
"prettier.documentSelectors": ["**/*.svelte"],
|
"prettier.documentSelectors": [
|
||||||
|
"**/*.svelte"
|
||||||
|
],
|
||||||
"svelte.plugin.svelte.diagnostics.enable": false,
|
"svelte.plugin.svelte.diagnostics.enable": false,
|
||||||
"problems.decorations.enabled": false,
|
|
||||||
"js/ts.implicitProjectConfig.checkJs": false,
|
"js/ts.implicitProjectConfig.checkJs": false,
|
||||||
"svelte.enable-ts-plugin": false,
|
"svelte.enable-ts-plugin": false,
|
||||||
"workbench.colorCustomizations": {
|
"cline.autoApproveLimit": 100,
|
||||||
"activityBar.activeBackground": "#ff6433",
|
"cline.autoApproveRequests": true,
|
||||||
"activityBar.background": "#ff6433",
|
"cline.enableMemoryBank": true,
|
||||||
"activityBar.foreground": "#15202b",
|
"cline.includeSnippetsFromMemory": true,
|
||||||
"activityBar.inactiveForeground": "#15202b99",
|
"cline.contextLength": 10000,
|
||||||
"activityBarBadge.background": "#00ff3d",
|
"cline.autoFormat": true,
|
||||||
"activityBarBadge.foreground": "#15202b",
|
"cline.primaryDocumentationFile": ".cline",
|
||||||
"commandCenter.border": "#e7e7e799",
|
"cline.gitIntegration": true,
|
||||||
"sash.hoverBorder": "#ff6433",
|
"cline.projectStructure": {
|
||||||
"statusBar.background": "#ff3d00",
|
"api": "php",
|
||||||
"statusBar.foreground": "#e7e7e7",
|
"app": "flutter",
|
||||||
"statusBarItem.hoverBackground": "#ff6433",
|
"web": "svelte"
|
||||||
"statusBarItem.remoteBackground": "#ff3d00",
|
|
||||||
"statusBarItem.remoteForeground": "#e7e7e7",
|
|
||||||
"titleBar.activeBackground": "#ff3d00",
|
|
||||||
"titleBar.activeForeground": "#e7e7e7",
|
|
||||||
"titleBar.inactiveBackground": "#ff3d0099",
|
|
||||||
"titleBar.inactiveForeground": "#e7e7e799"
|
|
||||||
},
|
},
|
||||||
"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.enabled": true, // On veut voir la minimap
|
||||||
"editor.minimap.showSlider": "always", // 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.size": "fill", // On veut voir la minimap
|
||||||
"editor.minimap.scale": 2,
|
"editor.minimap.scale": 1,
|
||||||
"editor.tokenColorCustomizations": {
|
"editor.tokenColorCustomizations": {
|
||||||
"textMateRules": [
|
"textMateRules": [
|
||||||
{
|
{
|
||||||
@@ -23,12 +23,14 @@
|
|||||||
},
|
},
|
||||||
"editor.minimap.renderCharacters": true,
|
"editor.minimap.renderCharacters": true,
|
||||||
"editor.minimap.maxColumn": 120,
|
"editor.minimap.maxColumn": 120,
|
||||||
"breadcrumbs.enabled": false,
|
"breadcrumbs.enabled": true,
|
||||||
|
|
||||||
// -- Tabs
|
// -- Tabs
|
||||||
"workbench.editor.wrapTabs": true, // On veut voir les tabs
|
"workbench.editor.wrapTabs": true, // On veut voir les tabs
|
||||||
"workbench.editor.tabSizing": "shrink", // On veut voir les tabs
|
"workbench.editor.tabSizing": "shrink", // On veut voir les tabs
|
||||||
"workbench.editor.pinnedTabSizing": "compact",
|
"workbench.editor.pinnedTabSizing": "compact",
|
||||||
"workbench.editor.enablePreview": false, // Un clic sur un fichier l'ouvre
|
"workbench.editor.enablePreview": false, // Un clic sur un fichier l'ouvre
|
||||||
|
|
||||||
// -- Sidebar
|
// -- Sidebar
|
||||||
"workbench.tree.indent": 15, // Indente plus pour plus de clarté dans la sidebar
|
"workbench.tree.indent": 15, // Indente plus pour plus de clarté dans la sidebar
|
||||||
"workbench.tree.renderIndentGuides": "always",
|
"workbench.tree.renderIndentGuides": "always",
|
||||||
@@ -44,7 +46,8 @@
|
|||||||
"editor.guides.bracketPairs": "active",
|
"editor.guides.bracketPairs": "active",
|
||||||
// Ergonomie
|
// Ergonomie
|
||||||
"editor.wordWrap": "off",
|
"editor.wordWrap": "off",
|
||||||
"editor.rulers": [],
|
"editor.rulers": [300],
|
||||||
|
"editor.wordWrapColumn": 300,
|
||||||
"editor.suggest.insertMode": "replace", // L'autocomplétion remplace le mot en cours
|
"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.acceptSuggestionOnCommitCharacter": false, // Evite que l'autocomplétion soit accepté lors d'un . par exemple
|
||||||
"editor.formatOnSave": true,
|
"editor.formatOnSave": true,
|
||||||
@@ -59,21 +62,13 @@
|
|||||||
},
|
},
|
||||||
"intelephense.format.braces": "k&r",
|
"intelephense.format.braces": "k&r",
|
||||||
"intelephense.format.enable": true,
|
"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]": {
|
"[javascript]": {
|
||||||
"editor.defaultFormatter": "esbenp.prettier-vscode",
|
"editor.defaultFormatter": "esbenp.prettier-vscode",
|
||||||
"editor.formatOnSave": true,
|
"editor.formatOnSave": true,
|
||||||
"editor.formatOnPaste": 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.printWidth": 360,
|
||||||
"prettier.semi": true,
|
"prettier.semi": true,
|
||||||
"prettier.singleQuote": true,
|
"prettier.singleQuote": true,
|
||||||
@@ -82,6 +77,19 @@
|
|||||||
"explorer.autoReveal": false,
|
"explorer.autoReveal": false,
|
||||||
"explorer.confirmDragAndDrop": false,
|
"explorer.confirmDragAndDrop": false,
|
||||||
"emmet.triggerExpansionOnTab": true,
|
"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
|
// Fichiers
|
||||||
"files.defaultLanguage": "markdown",
|
"files.defaultLanguage": "markdown",
|
||||||
"files.autoSaveWorkspaceFilesOnly": true,
|
"files.autoSaveWorkspaceFilesOnly": true,
|
||||||
@@ -92,7 +100,7 @@
|
|||||||
"javascript.preferences.importModuleSpecifierEnding": "js",
|
"javascript.preferences.importModuleSpecifierEnding": "js",
|
||||||
"typescript.preferences.importModuleSpecifierEnding": "js",
|
"typescript.preferences.importModuleSpecifierEnding": "js",
|
||||||
// Extensions
|
// Extensions
|
||||||
"tailwindCSS.experimental.configFile": "frontend/tailwind.config.js",
|
"tailwindCSS.experimental.configFile": "web/tailwind.config.js",
|
||||||
"editor.quickSuggestions": {
|
"editor.quickSuggestions": {
|
||||||
"strings": true
|
"strings": true
|
||||||
},
|
},
|
||||||
@@ -104,27 +112,45 @@
|
|||||||
"**/*.svelte"
|
"**/*.svelte"
|
||||||
],
|
],
|
||||||
"svelte.plugin.svelte.diagnostics.enable": false,
|
"svelte.plugin.svelte.diagnostics.enable": false,
|
||||||
"problems.decorations.enabled": false,
|
|
||||||
"js/ts.implicitProjectConfig.checkJs": false,
|
"js/ts.implicitProjectConfig.checkJs": false,
|
||||||
"svelte.enable-ts-plugin": false,
|
"svelte.enable-ts-plugin": false,
|
||||||
"workbench.colorCustomizations": {
|
"cline.autoApproveLimit": 100,
|
||||||
"activityBar.activeBackground": "#405978",
|
"cline.autoApproveRequests": true,
|
||||||
"activityBar.background": "#405978",
|
"cline.enableMemoryBank": true,
|
||||||
"activityBar.foreground": "#e7e7e7",
|
"cline.includeSnippetsFromMemory": true,
|
||||||
"activityBar.inactiveForeground": "#e7e7e799",
|
"cline.contextLength": 10000,
|
||||||
"activityBarBadge.background": "#bc829c",
|
"cline.autoFormat": true,
|
||||||
"activityBarBadge.foreground": "#15202b",
|
"cline.primaryDocumentationFile": ".cline",
|
||||||
"commandCenter.border": "#e7e7e799",
|
"cline.gitIntegration": true,
|
||||||
"sash.hoverBorder": "#405978",
|
"cline.projectStructure": {
|
||||||
"statusBar.background": "#2e4057",
|
"api": "php",
|
||||||
"statusBar.foreground": "#e7e7e7",
|
"app": "flutter",
|
||||||
"statusBarItem.hoverBackground": "#405978",
|
"web": "svelte"
|
||||||
"statusBarItem.remoteBackground": "#2e4057",
|
|
||||||
"statusBarItem.remoteForeground": "#e7e7e7",
|
|
||||||
"titleBar.activeBackground": "#2e4057",
|
|
||||||
"titleBar.activeForeground": "#e7e7e7",
|
|
||||||
"titleBar.inactiveBackground": "#2e405799",
|
|
||||||
"titleBar.inactiveForeground": "#e7e7e799"
|
|
||||||
},
|
},
|
||||||
"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