forge-mvc 1.0.0b1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- forge_mvc-1.0.0b1/LICENSE +36 -0
- forge_mvc-1.0.0b1/PKG-INFO +918 -0
- forge_mvc-1.0.0b1/README.md +887 -0
- forge_mvc-1.0.0b1/core/__init__.py +2 -0
- forge_mvc-1.0.0b1/core/api_routes_loader.py +25 -0
- forge_mvc-1.0.0b1/core/application.py +66 -0
- forge_mvc-1.0.0b1/core/auth/__init__.py +207 -0
- forge_mvc-1.0.0b1/core/auth/audit.py +314 -0
- forge_mvc-1.0.0b1/core/auth/email.py +94 -0
- forge_mvc-1.0.0b1/core/auth/exceptions.py +35 -0
- forge_mvc-1.0.0b1/core/auth/password.py +50 -0
- forge_mvc-1.0.0b1/core/auth/rate_limit.py +398 -0
- forge_mvc-1.0.0b1/core/auth/reset.py +211 -0
- forge_mvc-1.0.0b1/core/auth/session.py +143 -0
- forge_mvc-1.0.0b1/core/auth/tokens.py +186 -0
- forge_mvc-1.0.0b1/core/auth/user.py +94 -0
- forge_mvc-1.0.0b1/core/database/__init__.py +0 -0
- forge_mvc-1.0.0b1/core/database/connection.py +71 -0
- forge_mvc-1.0.0b1/core/database/db.py +54 -0
- forge_mvc-1.0.0b1/core/database/sql_loader.py +74 -0
- forge_mvc-1.0.0b1/core/database/transaction.py +34 -0
- forge_mvc-1.0.0b1/core/forge.py +88 -0
- forge_mvc-1.0.0b1/core/forms/__init__.py +44 -0
- forge_mvc-1.0.0b1/core/forms/exceptions.py +9 -0
- forge_mvc-1.0.0b1/core/forms/fields.py +549 -0
- forge_mvc-1.0.0b1/core/forms/form.py +138 -0
- forge_mvc-1.0.0b1/core/http/__init__.py +4 -0
- forge_mvc-1.0.0b1/core/http/helpers.py +37 -0
- forge_mvc-1.0.0b1/core/http/request.py +160 -0
- forge_mvc-1.0.0b1/core/http/response.py +20 -0
- forge_mvc-1.0.0b1/core/http/router.py +200 -0
- forge_mvc-1.0.0b1/core/i18n/__init__.py +22 -0
- forge_mvc-1.0.0b1/core/i18n/exceptions.py +6 -0
- forge_mvc-1.0.0b1/core/i18n/translator.py +88 -0
- forge_mvc-1.0.0b1/core/mail/__init__.py +44 -0
- forge_mvc-1.0.0b1/core/mail/config.py +93 -0
- forge_mvc-1.0.0b1/core/mail/exceptions.py +18 -0
- forge_mvc-1.0.0b1/core/mail/log.py +94 -0
- forge_mvc-1.0.0b1/core/mail/mailer.py +101 -0
- forge_mvc-1.0.0b1/core/mail/message.py +101 -0
- forge_mvc-1.0.0b1/core/mail/smtp.py +78 -0
- forge_mvc-1.0.0b1/core/mail/templates.py +94 -0
- forge_mvc-1.0.0b1/core/mail/transports.py +178 -0
- forge_mvc-1.0.0b1/core/modules/__init__.py +88 -0
- forge_mvc-1.0.0b1/core/modules/discovery.py +43 -0
- forge_mvc-1.0.0b1/core/modules/files.py +225 -0
- forge_mvc-1.0.0b1/core/modules/manifest.py +169 -0
- forge_mvc-1.0.0b1/core/modules/registry.py +157 -0
- forge_mvc-1.0.0b1/core/modules/remove.py +232 -0
- forge_mvc-1.0.0b1/core/modules/routes.py +252 -0
- forge_mvc-1.0.0b1/core/mvc/__init__.py +0 -0
- forge_mvc-1.0.0b1/core/mvc/controller/__init__.py +9 -0
- forge_mvc-1.0.0b1/core/mvc/controller/base_controller.py +142 -0
- forge_mvc-1.0.0b1/core/mvc/controller/registry.py +26 -0
- forge_mvc-1.0.0b1/core/mvc/model/__init__.py +0 -0
- forge_mvc-1.0.0b1/core/mvc/model/exceptions.py +12 -0
- forge_mvc-1.0.0b1/core/mvc/model/validator.py +38 -0
- forge_mvc-1.0.0b1/core/mvc/view/__init__.py +0 -0
- forge_mvc-1.0.0b1/core/mvc/view/pagination.py +80 -0
- forge_mvc-1.0.0b1/core/runtime_error_logger.py +142 -0
- forge_mvc-1.0.0b1/core/runtime_error_markdown.py +184 -0
- forge_mvc-1.0.0b1/core/runtime_errors.py +254 -0
- forge_mvc-1.0.0b1/core/security/__init__.py +0 -0
- forge_mvc-1.0.0b1/core/security/api_auth.py +82 -0
- forge_mvc-1.0.0b1/core/security/csp.py +48 -0
- forge_mvc-1.0.0b1/core/security/decorators.py +67 -0
- forge_mvc-1.0.0b1/core/security/hashing.py +93 -0
- forge_mvc-1.0.0b1/core/security/middleware.py +64 -0
- forge_mvc-1.0.0b1/core/security/session.py +118 -0
- forge_mvc-1.0.0b1/core/sessions/__init__.py +20 -0
- forge_mvc-1.0.0b1/core/sessions/contract.py +59 -0
- forge_mvc-1.0.0b1/core/sessions/file_store.py +205 -0
- forge_mvc-1.0.0b1/core/sessions/keys.py +28 -0
- forge_mvc-1.0.0b1/core/sessions/manager.py +13 -0
- forge_mvc-1.0.0b1/core/sessions/mariadb_store.py +216 -0
- forge_mvc-1.0.0b1/core/sessions/memory_store.py +142 -0
- forge_mvc-1.0.0b1/core/templating/__init__.py +0 -0
- forge_mvc-1.0.0b1/core/templating/contracts.py +6 -0
- forge_mvc-1.0.0b1/core/templating/manager.py +20 -0
- forge_mvc-1.0.0b1/core/uploads/__init__.py +77 -0
- forge_mvc-1.0.0b1/core/uploads/exceptions.py +18 -0
- forge_mvc-1.0.0b1/core/uploads/image.py +173 -0
- forge_mvc-1.0.0b1/core/uploads/manager.py +140 -0
- forge_mvc-1.0.0b1/core/uploads/media_gallery.py +75 -0
- forge_mvc-1.0.0b1/core/uploads/media_repository.py +216 -0
- forge_mvc-1.0.0b1/core/uploads/rate_limit.py +53 -0
- forge_mvc-1.0.0b1/core/uploads/storage.py +170 -0
- forge_mvc-1.0.0b1/core/uploads/validators.py +77 -0
- forge_mvc-1.0.0b1/core/validation/__init__.py +25 -0
- forge_mvc-1.0.0b1/core/validation/decorators.py +218 -0
- forge_mvc-1.0.0b1/core/validation/exceptions.py +10 -0
- forge_mvc-1.0.0b1/forge.py +623 -0
- forge_mvc-1.0.0b1/forge_cli/__init__.py +1 -0
- forge_mvc-1.0.0b1/forge_cli/auth.py +1161 -0
- forge_mvc-1.0.0b1/forge_cli/deploy.py +357 -0
- forge_mvc-1.0.0b1/forge_cli/docs/__init__.py +1 -0
- forge_mvc-1.0.0b1/forge_cli/docs/quarkdown.py +107 -0
- forge_mvc-1.0.0b1/forge_cli/doctor.py +350 -0
- forge_mvc-1.0.0b1/forge_cli/entities/__init__.py +1 -0
- forge_mvc-1.0.0b1/forge_cli/entities/crud/__init__.py +109 -0
- forge_mvc-1.0.0b1/forge_cli/entities/crud/context.py +80 -0
- forge_mvc-1.0.0b1/forge_cli/entities/crud/controller_builder.py +837 -0
- forge_mvc-1.0.0b1/forge_cli/entities/crud/form_builder.py +173 -0
- forge_mvc-1.0.0b1/forge_cli/entities/crud/model_builder.py +254 -0
- forge_mvc-1.0.0b1/forge_cli/entities/crud/relations_loader.py +197 -0
- forge_mvc-1.0.0b1/forge_cli/entities/crud/utils.py +135 -0
- forge_mvc-1.0.0b1/forge_cli/entities/crud/views_builder.py +769 -0
- forge_mvc-1.0.0b1/forge_cli/entities/db_apply.py +182 -0
- forge_mvc-1.0.0b1/forge_cli/entities/db_init.py +244 -0
- forge_mvc-1.0.0b1/forge_cli/entities/make_crud.py +287 -0
- forge_mvc-1.0.0b1/forge_cli/entities/make_entity.py +825 -0
- forge_mvc-1.0.0b1/forge_cli/entities/make_relation.py +299 -0
- forge_mvc-1.0.0b1/forge_cli/entities/migrations.py +875 -0
- forge_mvc-1.0.0b1/forge_cli/entities/model.py +356 -0
- forge_mvc-1.0.0b1/forge_cli/entities/relations.py +595 -0
- forge_mvc-1.0.0b1/forge_cli/entities/validation.py +829 -0
- forge_mvc-1.0.0b1/forge_cli/errors.py +27 -0
- forge_mvc-1.0.0b1/forge_cli/front.py +155 -0
- forge_mvc-1.0.0b1/forge_cli/help.py +102 -0
- forge_mvc-1.0.0b1/forge_cli/i18n.py +138 -0
- forge_mvc-1.0.0b1/forge_cli/mail.py +466 -0
- forge_mvc-1.0.0b1/forge_cli/modules.py +326 -0
- forge_mvc-1.0.0b1/forge_cli/output.py +46 -0
- forge_mvc-1.0.0b1/forge_cli/project_audit.py +448 -0
- forge_mvc-1.0.0b1/forge_cli/project_check.py +280 -0
- forge_mvc-1.0.0b1/forge_cli/project_config.py +53 -0
- forge_mvc-1.0.0b1/forge_cli/project_profiles.py +41 -0
- forge_mvc-1.0.0b1/forge_cli/public_contact.py +121 -0
- forge_mvc-1.0.0b1/forge_cli/public_form.py +512 -0
- forge_mvc-1.0.0b1/forge_cli/public_list.py +821 -0
- forge_mvc-1.0.0b1/forge_cli/public_page.py +274 -0
- forge_mvc-1.0.0b1/forge_cli/public_show.py +9 -0
- forge_mvc-1.0.0b1/forge_cli/starters/__init__.py +105 -0
- forge_mvc-1.0.0b1/forge_cli/starters/_exceptions.py +2 -0
- forge_mvc-1.0.0b1/forge_cli/starters/builder.py +473 -0
- forge_mvc-1.0.0b1/forge_cli/starters/data/auth-mfa/files/mvc/controllers/auth_controller.py +152 -0
- forge_mvc-1.0.0b1/forge_cli/starters/data/auth-mfa/files/mvc/controllers/mfa_challenge_controller.py +118 -0
- forge_mvc-1.0.0b1/forge_cli/starters/data/auth-mfa/routes.py.snippet +4 -0
- forge_mvc-1.0.0b1/forge_cli/starters/data/auth-mfa/starter.json +15 -0
- forge_mvc-1.0.0b1/forge_cli/starters/data/carnet-contacts/entities/contact.json +53 -0
- forge_mvc-1.0.0b1/forge_cli/starters/data/carnet-contacts/entities/ville.json +31 -0
- forge_mvc-1.0.0b1/forge_cli/starters/data/carnet-contacts/files/mvc/controllers/contact_controller.py +158 -0
- forge_mvc-1.0.0b1/forge_cli/starters/data/carnet-contacts/files/mvc/controllers/ville_controller.py +13 -0
- forge_mvc-1.0.0b1/forge_cli/starters/data/carnet-contacts/files/mvc/forms/__init__.py +1 -0
- forge_mvc-1.0.0b1/forge_cli/starters/data/carnet-contacts/files/mvc/forms/contact_form.py +15 -0
- forge_mvc-1.0.0b1/forge_cli/starters/data/carnet-contacts/files/mvc/models/contact_model.py +76 -0
- forge_mvc-1.0.0b1/forge_cli/starters/data/carnet-contacts/files/mvc/models/ville_model.py +12 -0
- forge_mvc-1.0.0b1/forge_cli/starters/data/carnet-contacts/files/mvc/views/contact/form.html +73 -0
- forge_mvc-1.0.0b1/forge_cli/starters/data/carnet-contacts/files/mvc/views/contact/index.html +63 -0
- forge_mvc-1.0.0b1/forge_cli/starters/data/carnet-contacts/files/mvc/views/contact/show.html +37 -0
- forge_mvc-1.0.0b1/forge_cli/starters/data/carnet-contacts/files/mvc/views/layouts/app.html +27 -0
- forge_mvc-1.0.0b1/forge_cli/starters/data/carnet-contacts/files/mvc/views/ville/index.html +32 -0
- forge_mvc-1.0.0b1/forge_cli/starters/data/carnet-contacts/files/scripts/seed_villes.py +85 -0
- forge_mvc-1.0.0b1/forge_cli/starters/data/carnet-contacts/relations.json +16 -0
- forge_mvc-1.0.0b1/forge_cli/starters/data/carnet-contacts/routes.py.snippet +16 -0
- forge_mvc-1.0.0b1/forge_cli/starters/data/carnet-contacts/starter.json +38 -0
- forge_mvc-1.0.0b1/forge_cli/starters/data/communes-sejours/files/mvc/controllers/communes_sejours_controller.py +140 -0
- forge_mvc-1.0.0b1/forge_cli/starters/data/communes-sejours/files/mvc/entities/commune/commune.json +45 -0
- forge_mvc-1.0.0b1/forge_cli/starters/data/communes-sejours/files/mvc/entities/demande_sejour/demande_sejour.json +77 -0
- forge_mvc-1.0.0b1/forge_cli/starters/data/communes-sejours/files/mvc/entities/hebergement/hebergement.json +92 -0
- forge_mvc-1.0.0b1/forge_cli/starters/data/communes-sejours/files/mvc/entities/proprietaire/proprietaire.json +49 -0
- forge_mvc-1.0.0b1/forge_cli/starters/data/communes-sejours/files/mvc/entities/relations.json +38 -0
- forge_mvc-1.0.0b1/forge_cli/starters/data/communes-sejours/files/mvc/forms/__init__.py +1 -0
- forge_mvc-1.0.0b1/forge_cli/starters/data/communes-sejours/files/mvc/forms/demande_sejour_form.py +12 -0
- forge_mvc-1.0.0b1/forge_cli/starters/data/communes-sejours/files/mvc/mail/templates/communes_sejours/demande_proprietaire_subject.txt +1 -0
- forge_mvc-1.0.0b1/forge_cli/starters/data/communes-sejours/files/mvc/mail/templates/communes_sejours/demande_proprietaire_text.txt +22 -0
- forge_mvc-1.0.0b1/forge_cli/starters/data/communes-sejours/files/mvc/mail/templates/communes_sejours/demande_visiteur_subject.txt +1 -0
- forge_mvc-1.0.0b1/forge_cli/starters/data/communes-sejours/files/mvc/mail/templates/communes_sejours/demande_visiteur_text.txt +15 -0
- forge_mvc-1.0.0b1/forge_cli/starters/data/communes-sejours/files/mvc/views/public/communes_sejours/hebergements_index.html +41 -0
- forge_mvc-1.0.0b1/forge_cli/starters/data/communes-sejours/files/mvc/views/public/communes_sejours/hebergements_show.html +139 -0
- forge_mvc-1.0.0b1/forge_cli/starters/data/communes-sejours/files/mvc/views/public/communes_sejours/home.html +25 -0
- forge_mvc-1.0.0b1/forge_cli/starters/data/communes-sejours/files/seed/communes.json +20 -0
- forge_mvc-1.0.0b1/forge_cli/starters/data/communes-sejours/files/seed/demandes_sejour.json +38 -0
- forge_mvc-1.0.0b1/forge_cli/starters/data/communes-sejours/files/seed/hebergements.json +35 -0
- forge_mvc-1.0.0b1/forge_cli/starters/data/communes-sejours/files/seed/proprietaires.json +20 -0
- forge_mvc-1.0.0b1/forge_cli/starters/data/communes-sejours/files/translations/fr.json +59 -0
- forge_mvc-1.0.0b1/forge_cli/starters/data/communes-sejours/routes.py.snippet +9 -0
- forge_mvc-1.0.0b1/forge_cli/starters/data/communes-sejours/starter.json +27 -0
- forge_mvc-1.0.0b1/forge_cli/starters/data/contact-simple/contact.json +47 -0
- forge_mvc-1.0.0b1/forge_cli/starters/data/contact-simple/starter.json +32 -0
- forge_mvc-1.0.0b1/forge_cli/starters/data/suivi-comportement-eleves/entities/cours.json +11 -0
- forge_mvc-1.0.0b1/forge_cli/starters/data/suivi-comportement-eleves/entities/eleve.json +12 -0
- forge_mvc-1.0.0b1/forge_cli/starters/data/suivi-comportement-eleves/entities/observation_cours.json +17 -0
- forge_mvc-1.0.0b1/forge_cli/starters/data/suivi-comportement-eleves/entities/utilisateur.json +59 -0
- forge_mvc-1.0.0b1/forge_cli/starters/data/suivi-comportement-eleves/files/mvc/controllers/auth_controller.py +102 -0
- forge_mvc-1.0.0b1/forge_cli/starters/data/suivi-comportement-eleves/files/mvc/controllers/cours_controller.py +37 -0
- forge_mvc-1.0.0b1/forge_cli/starters/data/suivi-comportement-eleves/files/mvc/controllers/eleve_controller.py +37 -0
- forge_mvc-1.0.0b1/forge_cli/starters/data/suivi-comportement-eleves/files/mvc/controllers/observation_cours_controller.py +116 -0
- forge_mvc-1.0.0b1/forge_cli/starters/data/suivi-comportement-eleves/files/mvc/controllers/suivi_controller.py +16 -0
- forge_mvc-1.0.0b1/forge_cli/starters/data/suivi-comportement-eleves/files/mvc/models/auth_model.py +25 -0
- forge_mvc-1.0.0b1/forge_cli/starters/data/suivi-comportement-eleves/files/mvc/models/cours_model.py +33 -0
- forge_mvc-1.0.0b1/forge_cli/starters/data/suivi-comportement-eleves/files/mvc/models/eleve_model.py +26 -0
- forge_mvc-1.0.0b1/forge_cli/starters/data/suivi-comportement-eleves/files/mvc/models/observation_cours_model.py +112 -0
- forge_mvc-1.0.0b1/forge_cli/starters/data/suivi-comportement-eleves/files/mvc/views/auth/login.html +40 -0
- forge_mvc-1.0.0b1/forge_cli/starters/data/suivi-comportement-eleves/files/mvc/views/cours/index.html +42 -0
- forge_mvc-1.0.0b1/forge_cli/starters/data/suivi-comportement-eleves/files/mvc/views/cours/show.html +63 -0
- forge_mvc-1.0.0b1/forge_cli/starters/data/suivi-comportement-eleves/files/mvc/views/eleve/index.html +47 -0
- forge_mvc-1.0.0b1/forge_cli/starters/data/suivi-comportement-eleves/files/mvc/views/eleve/show.html +63 -0
- forge_mvc-1.0.0b1/forge_cli/starters/data/suivi-comportement-eleves/files/mvc/views/layouts/app.html +32 -0
- forge_mvc-1.0.0b1/forge_cli/starters/data/suivi-comportement-eleves/files/mvc/views/observations/edit.html +61 -0
- forge_mvc-1.0.0b1/forge_cli/starters/data/suivi-comportement-eleves/files/mvc/views/observations/new.html +73 -0
- forge_mvc-1.0.0b1/forge_cli/starters/data/suivi-comportement-eleves/files/mvc/views/observations/show.html +47 -0
- forge_mvc-1.0.0b1/forge_cli/starters/data/suivi-comportement-eleves/files/mvc/views/suivi/dashboard.html +52 -0
- forge_mvc-1.0.0b1/forge_cli/starters/data/suivi-comportement-eleves/files/scripts/create_auth_user.py +86 -0
- forge_mvc-1.0.0b1/forge_cli/starters/data/suivi-comportement-eleves/files/scripts/seed_suivi.py +132 -0
- forge_mvc-1.0.0b1/forge_cli/starters/data/suivi-comportement-eleves/relations.json +27 -0
- forge_mvc-1.0.0b1/forge_cli/starters/data/suivi-comportement-eleves/routes.py.snippet +23 -0
- forge_mvc-1.0.0b1/forge_cli/starters/data/suivi-comportement-eleves/starter.json +52 -0
- forge_mvc-1.0.0b1/forge_cli/starters/data/utilisateurs-auth/entities/utilisateur.json +59 -0
- forge_mvc-1.0.0b1/forge_cli/starters/data/utilisateurs-auth/files/mvc/controllers/auth_controller.py +84 -0
- forge_mvc-1.0.0b1/forge_cli/starters/data/utilisateurs-auth/files/mvc/controllers/dashboard_controller.py +29 -0
- forge_mvc-1.0.0b1/forge_cli/starters/data/utilisateurs-auth/files/mvc/models/auth_model.py +60 -0
- forge_mvc-1.0.0b1/forge_cli/starters/data/utilisateurs-auth/files/mvc/views/auth/login.html +40 -0
- forge_mvc-1.0.0b1/forge_cli/starters/data/utilisateurs-auth/files/mvc/views/dashboard/index.html +11 -0
- forge_mvc-1.0.0b1/forge_cli/starters/data/utilisateurs-auth/files/mvc/views/dashboard/profil.html +19 -0
- forge_mvc-1.0.0b1/forge_cli/starters/data/utilisateurs-auth/files/mvc/views/layouts/app.html +30 -0
- forge_mvc-1.0.0b1/forge_cli/starters/data/utilisateurs-auth/files/scripts/create_auth_user.py +86 -0
- forge_mvc-1.0.0b1/forge_cli/starters/data/utilisateurs-auth/routes.py.snippet +13 -0
- forge_mvc-1.0.0b1/forge_cli/starters/data/utilisateurs-auth/starter.json +29 -0
- forge_mvc-1.0.0b1/forge_cli/starters/file_ops.py +59 -0
- forge_mvc-1.0.0b1/forge_cli/starters/registry.py +45 -0
- forge_mvc-1.0.0b1/forge_cli/starters/relations.py +64 -0
- forge_mvc-1.0.0b1/forge_cli/starters/route_ops.py +140 -0
- forge_mvc-1.0.0b1/forge_cli/starters/scaffold.py +115 -0
- forge_mvc-1.0.0b1/forge_cli/sync_landing.py +116 -0
- forge_mvc-1.0.0b1/forge_cli/uploads.py +50 -0
- forge_mvc-1.0.0b1/forge_mvc.egg-info/PKG-INFO +918 -0
- forge_mvc-1.0.0b1/forge_mvc.egg-info/SOURCES.txt +468 -0
- forge_mvc-1.0.0b1/forge_mvc.egg-info/dependency_links.txt +1 -0
- forge_mvc-1.0.0b1/forge_mvc.egg-info/entry_points.txt +2 -0
- forge_mvc-1.0.0b1/forge_mvc.egg-info/requires.txt +5 -0
- forge_mvc-1.0.0b1/forge_mvc.egg-info/top_level.txt +4 -0
- forge_mvc-1.0.0b1/integrations/__init__.py +0 -0
- forge_mvc-1.0.0b1/integrations/jinja2/__init__.py +0 -0
- forge_mvc-1.0.0b1/integrations/jinja2/renderer.py +38 -0
- forge_mvc-1.0.0b1/pyproject.toml +95 -0
- forge_mvc-1.0.0b1/setup.cfg +4 -0
- forge_mvc-1.0.0b1/tests/test_api_auth.py +309 -0
- forge_mvc-1.0.0b1/tests/test_api_controller_conventions.py +365 -0
- forge_mvc-1.0.0b1/tests/test_api_doc.py +134 -0
- forge_mvc-1.0.0b1/tests/test_api_json_response.py +224 -0
- forge_mvc-1.0.0b1/tests/test_api_routes.py +298 -0
- forge_mvc-1.0.0b1/tests/test_app_stability_contract.py +105 -0
- forge_mvc-1.0.0b1/tests/test_application.py +210 -0
- forge_mvc-1.0.0b1/tests/test_auth_admin_cli.py +665 -0
- forge_mvc-1.0.0b1/tests/test_auth_admin_roles_cli.py +387 -0
- forge_mvc-1.0.0b1/tests/test_auth_admin_ux.py +518 -0
- forge_mvc-1.0.0b1/tests/test_auth_app.py +219 -0
- forge_mvc-1.0.0b1/tests/test_auth_audit.py +248 -0
- forge_mvc-1.0.0b1/tests/test_auth_audit_controller.py +539 -0
- forge_mvc-1.0.0b1/tests/test_auth_audit_propagate_001.py +132 -0
- forge_mvc-1.0.0b1/tests/test_auth_audit_resilience_001.py +171 -0
- forge_mvc-1.0.0b1/tests/test_auth_audit_table.py +100 -0
- forge_mvc-1.0.0b1/tests/test_auth_cli.py +218 -0
- forge_mvc-1.0.0b1/tests/test_auth_cli_to_login_e2e.py +164 -0
- forge_mvc-1.0.0b1/tests/test_auth_default_align_001.py +100 -0
- forge_mvc-1.0.0b1/tests/test_auth_email_verification.py +287 -0
- forge_mvc-1.0.0b1/tests/test_auth_hash_migration_001.py +241 -0
- forge_mvc-1.0.0b1/tests/test_auth_mfa_challenge.py +604 -0
- forge_mvc-1.0.0b1/tests/test_auth_mfa_contract.py +396 -0
- forge_mvc-1.0.0b1/tests/test_auth_mfa_login_challenge.py +397 -0
- forge_mvc-1.0.0b1/tests/test_auth_mfa_ratelimit_001.py +347 -0
- forge_mvc-1.0.0b1/tests/test_auth_mfa_recovery_codes.py +603 -0
- forge_mvc-1.0.0b1/tests/test_auth_mfa_recovery_table.py +124 -0
- forge_mvc-1.0.0b1/tests/test_auth_mfa_revalidation.py +619 -0
- forge_mvc-1.0.0b1/tests/test_auth_mfa_revalidation_identity_001.py +227 -0
- forge_mvc-1.0.0b1/tests/test_auth_mfa_session_persistence_001.py +350 -0
- forge_mvc-1.0.0b1/tests/test_auth_mfa_table.py +123 -0
- forge_mvc-1.0.0b1/tests/test_auth_mfa_totp.py +491 -0
- forge_mvc-1.0.0b1/tests/test_auth_mfa_totp_replay_001.py +339 -0
- forge_mvc-1.0.0b1/tests/test_auth_password.py +144 -0
- forge_mvc-1.0.0b1/tests/test_auth_password_reset.py +363 -0
- forge_mvc-1.0.0b1/tests/test_auth_password_reset_complete.py +301 -0
- forge_mvc-1.0.0b1/tests/test_auth_rate_limit.py +433 -0
- forge_mvc-1.0.0b1/tests/test_auth_rate_limit_table.py +91 -0
- forge_mvc-1.0.0b1/tests/test_auth_session.py +221 -0
- forge_mvc-1.0.0b1/tests/test_auth_session_hardening.py +381 -0
- forge_mvc-1.0.0b1/tests/test_auth_session_helpers.py +217 -0
- forge_mvc-1.0.0b1/tests/test_auth_token_table.py +132 -0
- forge_mvc-1.0.0b1/tests/test_auth_tokens.py +342 -0
- forge_mvc-1.0.0b1/tests/test_auth_user_contract.py +300 -0
- forge_mvc-1.0.0b1/tests/test_auth_user_jinja.py +248 -0
- forge_mvc-1.0.0b1/tests/test_auth_user_rbac.py +206 -0
- forge_mvc-1.0.0b1/tests/test_auth_user_rbac_resolver.py +239 -0
- forge_mvc-1.0.0b1/tests/test_auth_user_rbac_route.py +221 -0
- forge_mvc-1.0.0b1/tests/test_auth_user_table.py +145 -0
- forge_mvc-1.0.0b1/tests/test_cli_entrypoint.py +328 -0
- forge_mvc-1.0.0b1/tests/test_cli_errors.py +92 -0
- forge_mvc-1.0.0b1/tests/test_cli_help.py +165 -0
- forge_mvc-1.0.0b1/tests/test_cli_recovery.py +181 -0
- forge_mvc-1.0.0b1/tests/test_concurrency_session_001.py +388 -0
- forge_mvc-1.0.0b1/tests/test_crud_bulk_actions_audit.py +359 -0
- forge_mvc-1.0.0b1/tests/test_crud_bulk_delete.py +451 -0
- forge_mvc-1.0.0b1/tests/test_crud_export_audit.py +317 -0
- forge_mvc-1.0.0b1/tests/test_crud_export_csv.py +544 -0
- forge_mvc-1.0.0b1/tests/test_crud_filter_doc.py +294 -0
- forge_mvc-1.0.0b1/tests/test_crud_filter_whitelist_001.py +176 -0
- forge_mvc-1.0.0b1/tests/test_crud_filters.py +328 -0
- forge_mvc-1.0.0b1/tests/test_crud_filters_htmx.py +282 -0
- forge_mvc-1.0.0b1/tests/test_crud_htmx.py +427 -0
- forge_mvc-1.0.0b1/tests/test_crud_rbac_ui.py +239 -0
- forge_mvc-1.0.0b1/tests/test_crud_sort.py +331 -0
- forge_mvc-1.0.0b1/tests/test_csp_completeness_001.py +124 -0
- forge_mvc-1.0.0b1/tests/test_csp_harden_001.py +66 -0
- forge_mvc-1.0.0b1/tests/test_csp_nonce_001.py +208 -0
- forge_mvc-1.0.0b1/tests/test_database_helpers.py +134 -0
- forge_mvc-1.0.0b1/tests/test_deploy_cli.py +234 -0
- forge_mvc-1.0.0b1/tests/test_deploy_prod_security_doc.py +357 -0
- forge_mvc-1.0.0b1/tests/test_doc_15min.py +273 -0
- forge_mvc-1.0.0b1/tests/test_doc_app_complete.py +332 -0
- forge_mvc-1.0.0b1/tests/test_doc_contribute.py +323 -0
- forge_mvc-1.0.0b1/tests/test_doc_deploy_advanced.py +358 -0
- forge_mvc-1.0.0b1/tests/test_doc_module_author.py +330 -0
- forge_mvc-1.0.0b1/tests/test_doc_starter_author.py +311 -0
- forge_mvc-1.0.0b1/tests/test_doc_structure.py +262 -0
- forge_mvc-1.0.0b1/tests/test_docs_config.py +66 -0
- forge_mvc-1.0.0b1/tests/test_doctor.py +616 -0
- forge_mvc-1.0.0b1/tests/test_e2e_cli.py +200 -0
- forge_mvc-1.0.0b1/tests/test_e2e_mariadb.py +331 -0
- forge_mvc-1.0.0b1/tests/test_e2e_module.py +330 -0
- forge_mvc-1.0.0b1/tests/test_e2e_non_overwrite.py +306 -0
- forge_mvc-1.0.0b1/tests/test_e2e_starter.py +277 -0
- forge_mvc-1.0.0b1/tests/test_e2e_upload_http.py +466 -0
- forge_mvc-1.0.0b1/tests/test_entity_db_apply.py +325 -0
- forge_mvc-1.0.0b1/tests/test_entity_db_init.py +550 -0
- forge_mvc-1.0.0b1/tests/test_entity_form_field.py +461 -0
- forge_mvc-1.0.0b1/tests/test_entity_json_validation.py +318 -0
- forge_mvc-1.0.0b1/tests/test_entity_list_filter.py +652 -0
- forge_mvc-1.0.0b1/tests/test_entity_media_declaration.py +333 -0
- forge_mvc-1.0.0b1/tests/test_entity_model_cli.py +401 -0
- forge_mvc-1.0.0b1/tests/test_entity_relations.py +237 -0
- forge_mvc-1.0.0b1/tests/test_entity_sync_command.py +138 -0
- forge_mvc-1.0.0b1/tests/test_forge_new.py +428 -0
- forge_mvc-1.0.0b1/tests/test_forms.py +184 -0
- forge_mvc-1.0.0b1/tests/test_forms_advanced_fields.py +227 -0
- forge_mvc-1.0.0b1/tests/test_forms_date_fields.py +175 -0
- forge_mvc-1.0.0b1/tests/test_forms_file_field.py +202 -0
- forge_mvc-1.0.0b1/tests/test_forms_from_request_files.py +94 -0
- forge_mvc-1.0.0b1/tests/test_forms_image_field.py +199 -0
- forge_mvc-1.0.0b1/tests/test_forms_public_api.py +196 -0
- forge_mvc-1.0.0b1/tests/test_forms_relation_field.py +151 -0
- forge_mvc-1.0.0b1/tests/test_forms_slug_field.py +126 -0
- forge_mvc-1.0.0b1/tests/test_forms_textarea_field.py +145 -0
- forge_mvc-1.0.0b1/tests/test_front_css_contract.py +52 -0
- forge_mvc-1.0.0b1/tests/test_front_js_init.py +424 -0
- forge_mvc-1.0.0b1/tests/test_front_layout_contract.py +115 -0
- forge_mvc-1.0.0b1/tests/test_hashing.py +139 -0
- forge_mvc-1.0.0b1/tests/test_health_endpoint_001.py +264 -0
- forge_mvc-1.0.0b1/tests/test_http_e2e_001.py +312 -0
- forge_mvc-1.0.0b1/tests/test_i18n_cache_001.py +174 -0
- forge_mvc-1.0.0b1/tests/test_i18n_cli.py +243 -0
- forge_mvc-1.0.0b1/tests/test_i18n_core.py +323 -0
- forge_mvc-1.0.0b1/tests/test_i18n_jinja.py +85 -0
- forge_mvc-1.0.0b1/tests/test_json.py +111 -0
- forge_mvc-1.0.0b1/tests/test_landing_post_2_2_refresh.py +189 -0
- forge_mvc-1.0.0b1/tests/test_license_metadata.py +127 -0
- forge_mvc-1.0.0b1/tests/test_lts_policy.py +288 -0
- forge_mvc-1.0.0b1/tests/test_mail.py +237 -0
- forge_mvc-1.0.0b1/tests/test_mail_cli.py +366 -0
- forge_mvc-1.0.0b1/tests/test_mail_log.py +392 -0
- forge_mvc-1.0.0b1/tests/test_mail_message.py +326 -0
- forge_mvc-1.0.0b1/tests/test_mail_templates.py +219 -0
- forge_mvc-1.0.0b1/tests/test_mail_transports.py +422 -0
- forge_mvc-1.0.0b1/tests/test_mailer.py +216 -0
- forge_mvc-1.0.0b1/tests/test_make_crud.py +1558 -0
- forge_mvc-1.0.0b1/tests/test_make_crud_empty_states.py +255 -0
- forge_mvc-1.0.0b1/tests/test_make_crud_htmx_delete.py +148 -0
- forge_mvc-1.0.0b1/tests/test_make_crud_htmx_pagination.py +136 -0
- forge_mvc-1.0.0b1/tests/test_make_crud_htmx_search.py +171 -0
- forge_mvc-1.0.0b1/tests/test_make_crud_many_to_many.py +308 -0
- forge_mvc-1.0.0b1/tests/test_make_crud_media.py +1121 -0
- forge_mvc-1.0.0b1/tests/test_make_crud_media_alt.py +466 -0
- forge_mvc-1.0.0b1/tests/test_make_crud_media_context.py +285 -0
- forge_mvc-1.0.0b1/tests/test_make_crud_media_destroy.py +354 -0
- forge_mvc-1.0.0b1/tests/test_make_crud_media_gallery_add.py +441 -0
- forge_mvc-1.0.0b1/tests/test_make_crud_media_gallery_context.py +407 -0
- forge_mvc-1.0.0b1/tests/test_make_crud_media_gallery_delete.py +400 -0
- forge_mvc-1.0.0b1/tests/test_make_crud_media_gallery_multiupload.py +651 -0
- forge_mvc-1.0.0b1/tests/test_make_crud_media_gallery_order.py +426 -0
- forge_mvc-1.0.0b1/tests/test_make_crud_media_runtime.py +352 -0
- forge_mvc-1.0.0b1/tests/test_make_crud_pagination.py +183 -0
- forge_mvc-1.0.0b1/tests/test_make_crud_partials.py +224 -0
- forge_mvc-1.0.0b1/tests/test_make_crud_rbac.py +372 -0
- forge_mvc-1.0.0b1/tests/test_make_crud_search.py +247 -0
- forge_mvc-1.0.0b1/tests/test_make_crud_sort.py +203 -0
- forge_mvc-1.0.0b1/tests/test_make_entity_command.py +235 -0
- forge_mvc-1.0.0b1/tests/test_make_public_contact.py +254 -0
- forge_mvc-1.0.0b1/tests/test_make_public_form.py +445 -0
- forge_mvc-1.0.0b1/tests/test_make_public_i18n.py +243 -0
- forge_mvc-1.0.0b1/tests/test_make_public_list.py +228 -0
- forge_mvc-1.0.0b1/tests/test_make_public_list_media.py +471 -0
- forge_mvc-1.0.0b1/tests/test_make_public_page.py +136 -0
- forge_mvc-1.0.0b1/tests/test_make_public_show.py +174 -0
- forge_mvc-1.0.0b1/tests/test_make_relation_command.py +271 -0
- forge_mvc-1.0.0b1/tests/test_media_attach.py +176 -0
- forge_mvc-1.0.0b1/tests/test_media_delete.py +148 -0
- forge_mvc-1.0.0b1/tests/test_media_entity.py +90 -0
- forge_mvc-1.0.0b1/tests/test_media_gallery.py +344 -0
- forge_mvc-1.0.0b1/tests/test_media_integration.py +290 -0
- forge_mvc-1.0.0b1/tests/test_media_repository.py +420 -0
- forge_mvc-1.0.0b1/tests/test_media_route.py +168 -0
- forge_mvc-1.0.0b1/tests/test_middleware.py +40 -0
- forge_mvc-1.0.0b1/tests/test_migration_guide.py +392 -0
- forge_mvc-1.0.0b1/tests/test_migrations.py +1115 -0
- forge_mvc-1.0.0b1/tests/test_module_cli.py +682 -0
- forge_mvc-1.0.0b1/tests/test_module_discovery.py +233 -0
- forge_mvc-1.0.0b1/tests/test_module_files.py +339 -0
- forge_mvc-1.0.0b1/tests/test_module_install.py +197 -0
- forge_mvc-1.0.0b1/tests/test_module_manifest.py +442 -0
- forge_mvc-1.0.0b1/tests/test_module_registry.py +297 -0
- forge_mvc-1.0.0b1/tests/test_module_remove_001.py +369 -0
- forge_mvc-1.0.0b1/tests/test_module_routes.py +257 -0
- forge_mvc-1.0.0b1/tests/test_output.py +86 -0
- forge_mvc-1.0.0b1/tests/test_package_metadata.py +37 -0
- forge_mvc-1.0.0b1/tests/test_packaging.py +304 -0
- forge_mvc-1.0.0b1/tests/test_pagination.py +26 -0
- forge_mvc-1.0.0b1/tests/test_profile_differentiation_001.py +173 -0
- forge_mvc-1.0.0b1/tests/test_project_audit.py +450 -0
- forge_mvc-1.0.0b1/tests/test_project_check.py +465 -0
- forge_mvc-1.0.0b1/tests/test_project_profiles.py +399 -0
- forge_mvc-1.0.0b1/tests/test_public_templates.py +111 -0
- forge_mvc-1.0.0b1/tests/test_rbac_authorization.py +250 -0
- forge_mvc-1.0.0b1/tests/test_rbac_jinja.py +214 -0
- forge_mvc-1.0.0b1/tests/test_rbac_models.py +246 -0
- forge_mvc-1.0.0b1/tests/test_rbac_security.py +491 -0
- forge_mvc-1.0.0b1/tests/test_rbac_sql.py +144 -0
- forge_mvc-1.0.0b1/tests/test_relations_many_to_many.py +617 -0
- forge_mvc-1.0.0b1/tests/test_relations_ordered.py +371 -0
- forge_mvc-1.0.0b1/tests/test_request_body.py +89 -0
- forge_mvc-1.0.0b1/tests/test_response.py +25 -0
- forge_mvc-1.0.0b1/tests/test_roadmap_unified.py +179 -0
- forge_mvc-1.0.0b1/tests/test_router.py +117 -0
- forge_mvc-1.0.0b1/tests/test_runtime_errors_jsonl.py +482 -0
- forge_mvc-1.0.0b1/tests/test_runtime_errors_markdown.py +394 -0
- forge_mvc-1.0.0b1/tests/test_security_cache_headers.py +266 -0
- forge_mvc-1.0.0b1/tests/test_security_cookies.py +467 -0
- forge_mvc-1.0.0b1/tests/test_security_cookies_host_prefix.py +221 -0
- forge_mvc-1.0.0b1/tests/test_security_csrf_constant_time_001.py +58 -0
- forge_mvc-1.0.0b1/tests/test_security_csrf_http.py +736 -0
- forge_mvc-1.0.0b1/tests/test_security_headers.py +350 -0
- forge_mvc-1.0.0b1/tests/test_security_rbac_audit.py +510 -0
- forge_mvc-1.0.0b1/tests/test_security_upload_rate_limit.py +291 -0
- forge_mvc-1.0.0b1/tests/test_security_uploads_audit.py +491 -0
- forge_mvc-1.0.0b1/tests/test_serve_static.py +84 -0
- forge_mvc-1.0.0b1/tests/test_session.py +123 -0
- forge_mvc-1.0.0b1/tests/test_session_file_store_001.py +338 -0
- forge_mvc-1.0.0b1/tests/test_session_mariadb_store_001.py +434 -0
- forge_mvc-1.0.0b1/tests/test_session_store_contract_001.py +258 -0
- forge_mvc-1.0.0b1/tests/test_sessions_contract_integration_001.py +124 -0
- forge_mvc-1.0.0b1/tests/test_sql_loader.py +78 -0
- forge_mvc-1.0.0b1/tests/test_starter_cli.py +1264 -0
- forge_mvc-1.0.0b1/tests/test_starter_communes_sejours.py +1616 -0
- forge_mvc-1.0.0b1/tests/test_stats_admin.py +377 -0
- forge_mvc-1.0.0b1/tests/test_stats_events.py +266 -0
- forge_mvc-1.0.0b1/tests/test_stats_schema.py +165 -0
- forge_mvc-1.0.0b1/tests/test_stats_tracking.py +279 -0
- forge_mvc-1.0.0b1/tests/test_sync_landing.py +108 -0
- forge_mvc-1.0.0b1/tests/test_templating.py +302 -0
- forge_mvc-1.0.0b1/tests/test_tls_defaults_001.py +129 -0
- forge_mvc-1.0.0b1/tests/test_tpl_components.py +112 -0
- forge_mvc-1.0.0b1/tests/test_tpl_doc.py +146 -0
- forge_mvc-1.0.0b1/tests/test_tpl_flash.py +163 -0
- forge_mvc-1.0.0b1/tests/test_tpl_layouts.py +111 -0
- forge_mvc-1.0.0b1/tests/test_uploads.py +486 -0
- forge_mvc-1.0.0b1/tests/test_uploads_image.py +283 -0
- forge_mvc-1.0.0b1/tests/test_validation_decorators.py +144 -0
- forge_mvc-1.0.0b1/tests/test_validator.py +62 -0
- forge_mvc-1.0.0b1/tests/test_workflow_jinja.py +262 -0
- forge_mvc-1.0.0b1/tests/test_workflow_status.py +266 -0
- forge_mvc-1.0.0b1/tests/test_workflow_transitions.py +273 -0
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
Forge — Licence propriétaire / source disponible
|
|
2
|
+
|
|
3
|
+
Copyright (c) Roger Cauchon.
|
|
4
|
+
Tous droits réservés.
|
|
5
|
+
|
|
6
|
+
Le code source de Forge est mis à disposition uniquement pour lecture, étude,
|
|
7
|
+
évaluation et usage éducatif personnel.
|
|
8
|
+
|
|
9
|
+
Sauf autorisation écrite préalable de Roger Cauchon, il est interdit de :
|
|
10
|
+
|
|
11
|
+
- utiliser Forge dans un cadre professionnel, commercial ou institutionnel ;
|
|
12
|
+
- utiliser Forge pour une prestation client ;
|
|
13
|
+
- intégrer Forge dans un produit, service, SaaS, application vendue ou solution
|
|
14
|
+
déployée pour un tiers ;
|
|
15
|
+
- redistribuer Forge, modifié ou non ;
|
|
16
|
+
- publier une version modifiée de Forge ;
|
|
17
|
+
- vendre, louer, sous-licencier ou exploiter commercialement Forge ;
|
|
18
|
+
- supprimer ou modifier les mentions de copyright et de licence.
|
|
19
|
+
|
|
20
|
+
Les usages autorisés sans autorisation écrite préalable sont limités à :
|
|
21
|
+
|
|
22
|
+
- lire le code ;
|
|
23
|
+
- étudier son fonctionnement ;
|
|
24
|
+
- tester Forge à titre personnel ;
|
|
25
|
+
- l'utiliser dans un cadre éducatif personnel ou pédagogique non commercial ;
|
|
26
|
+
- évaluer le framework avant une éventuelle demande d'autorisation.
|
|
27
|
+
|
|
28
|
+
Toute utilisation non explicitement autorisée par cette licence nécessite une
|
|
29
|
+
autorisation écrite préalable de Roger Cauchon.
|
|
30
|
+
|
|
31
|
+
Cette licence pourra évoluer ultérieurement. Toute version publiée de Forge
|
|
32
|
+
reste soumise à la licence présente dans son dépôt au moment de sa récupération.
|
|
33
|
+
|
|
34
|
+
LE LOGICIEL EST FOURNI « TEL QUEL », SANS GARANTIE D'AUCUNE SORTE, EXPRESSE OU
|
|
35
|
+
IMPLICITE. EN AUCUN CAS LE DÉTENTEUR DU COPYRIGHT NE POURRA ÊTRE TENU
|
|
36
|
+
RESPONSABLE DE TOUT DOMMAGE DÉCOULANT DE L'UTILISATION DE CE LOGICIEL.
|