Basic functionality

This commit is contained in:
2022-03-12 16:25:30 +01:00
parent f3beaa64cf
commit acc21b7b24
137 changed files with 12647 additions and 5089 deletions

View File

@@ -1,10 +1,18 @@
includes:
- ext/nettrine.neon
- ext/contributte.neon
parameters:
application:
errorPresenter: Error
catchExceptions: %productionMode%
#errorPresenter: %system.error.presenter%
mapping:
*: [App, Modules\*, Presenters\*Presenter]
Admin: [App\Modules\Admin, *, *\*Presenter]
Front: [App\Modules\Front, *, *\*Presenter]
Mailing: [App\Modules\Mailing, *, *\*Presenter]
Pdf: [App\Modules\Pdf, *, *\*Presenter]
Api: Tomaj\NetteApi\Presenters\*Presenter
session:

40
config/ext/contributte.neon Executable file
View File

@@ -0,0 +1,40 @@
# Extension > Contributte
#
extensions:
contributte.console: Contributte\Console\DI\ConsoleExtension(%consoleMode%)
contributte.console.extra: Contributte\Console\Extra\DI\ConsoleBridgesExtension(%consoleMode%)
contributte.events: Contributte\EventDispatcher\DI\EventDispatcherExtension
contributte.events2nette: Contributte\Events\Extra\DI\EventBridgesExtension
contributte.monolog: Contributte\Monolog\DI\MonologExtension
contributte.mailing: Contributte\Mailing\DI\MailingExtension
contributte.post: Contributte\Mail\DI\MailExtension
contributte.console:
url: http://localhost/
lazy: true
contributte.mailing:
template:
config:
layout: %appDir%/resources/mail/@layout.latte
contributte.monolog:
holder:
enabled: true
hook:
toTracy: false
channel:
default:
handlers:
- Monolog\Handler\RotatingFileHandler(%appDir%/../log/syslog.log, 30, Monolog\Logger::WARNING)
processors:
- Monolog\Processor\WebProcessor()
- Monolog\Processor\IntrospectionProcessor()
- Monolog\Processor\MemoryPeakUsageProcessor()
- Monolog\Processor\ProcessIdProcessor()
services:
-
factory: Contributte\PdfResponse\PdfResponse
setup:
- $mpdfConfig([tempDir: %tempDir%/mpdf])

62
config/ext/nettrine.neon Executable file
View File

@@ -0,0 +1,62 @@
# Extension > Nettrine
#
extensions:
nettrine.annotations: Nettrine\Annotations\DI\AnnotationsExtension
nettrine.cache: Nettrine\Cache\DI\CacheExtension
nettrine.migrations: Nettrine\Migrations\DI\MigrationsExtension
nettrine.fixtures: Nettrine\Fixtures\DI\FixturesExtension
# Dbal
nettrine.dbal: Nettrine\DBAL\DI\DbalExtension
nettrine.dbal.console: Nettrine\DBAL\DI\DbalConsoleExtension(%consoleMode%)
# Orm
nettrine.orm: Nettrine\ORM\DI\OrmExtension
nettrine.orm.cache: Nettrine\ORM\DI\OrmCacheExtension
nettrine.orm.console: Nettrine\ORM\DI\OrmConsoleExtension(%consoleMode%)
nettrine.orm.annotations: Nettrine\ORM\DI\OrmAnnotationsExtension
nettrine.dbal:
debug:
panel: %debugMode%
configuration:
sqlLogger: Nettrine\DBAL\Logger\PsrLogger(@Monolog\Logger)
connection:
driver: %database.driver%
host: %database.host%
user: %database.user%
password: %database.password%
dbname: %database.dbname%
port: %database.port%
nettrine.orm:
entityManagerDecoratorClass: App\Model\Database\EntityManager
configuration:
autoGenerateProxyClasses: %debugMode%
nettrine.orm.annotations:
mapping:
App\Model\Database\Entity: %appDir%/model/Database/Entity
nettrine.orm.cache:
nettrine.cache:
# driver: Doctrine\Common\Cache\ApcuCache
nettrine.migrations:
table: doctrine_migrations
column: version
directory: %rootDir%/db/Migrations
namespace: Database\Migrations
versionsOrganization: null
nettrine.fixtures:
paths:
- %rootDir%/db/Fixtures
decorator:
Doctrine\Common\EventSubscriber:
tags: [nettrine.subscriber]
services:
- Nettrine\Migrations\Subscriber\FixPostgreSQLDefaultSchemaSubscriber

View File

@@ -1,7 +1,8 @@
parameters:
database:
dsn: 'mysql:host=db;dbname=root'
user: root
password: root
database:
host: database
dbname: dict
user: dict_user
password: PW4dbdict
driver: pdo_pgsql
port: 5432

View File

@@ -1,6 +1,61 @@
services:
- App\Router\RouterFactory::createRouter
- Vite(http://localhost:3000, %wwwDir%/manifest.json, not(%debugMode%))
nette.latteFactory:
setup:
- addFilter(asset, App\Latte\AssetFilter())
# - App\Router\RouterFactory::createRouter
- Vite(http://localhost:3000, %wwwDir%/manifest.json, not(%debugMode%))
- App\UI\Form\FormFactory
# - App\UI\Form\SearchFormFactory
# Latte/Templates
latte.latteFactory:
setup:
- addFilter(asset, App\Latte\AssetFilter())
- addFilter(datetime, App\Model\Latte\Filters::datetime)
- addFilter(neon, App\Model\Latte\Filters::neon)
- addFilter(json, App\Model\Latte\Filters::json)
latte.templateFactory:
class: App\Model\Latte\TemplateFactory
# Security ================
nette.userStorage:
setup:
- setNamespace("Webapp")
security.passwords: App\Model\Security\Passwords
security.user: App\Model\Security\SecurityUser
security.authenticator: App\Model\Security\Authenticator\UserAuthenticator
security.authorizator: App\Model\Security\Authorizator\StaticAuthorizator
# Routing ================
- App\Model\Router\RouterFactory
router:
class: Nette\Application\IRouter
factory: @App\Model\Router\RouterFactory::create
- Tomaj\NetteApi\Link\ApiLink
- Tomaj\NetteApi\Misc\IpDetector
apiDecider:
factory: Tomaj\NetteApi\ApiDecider
setup:
- addApi(\Tomaj\NetteApi\EndpointIdentifier('GET', 1, 'users'), \App\MyApi\v1\Handlers\UsersListingHandler(), \Tomaj\NetteApi\Authorization\NoAuthorization())
- addApi(\Tomaj\NetteApi\EndpointIdentifier('GET', 1, 'terms'), \App\MyApi\v1\Handlers\TermsHandler(), \Tomaj\NetteApi\Authorization\NoAuthorization())
- addApi(\Tomaj\NetteApi\EndpointIdentifier('GET', 1, 'translations'), \App\MyApi\v1\Handlers\TranslationsHandler(), \Tomaj\NetteApi\Authorization\NoAuthorization())
# Domain =================
- App\Domain\User\CreateUserFacade
# - App\Domain\Order\OrderLogSubscriber
# - App\Domain\Http\RequestLoggerSubscriber
# Console ================
- {class: App\Model\Console\HelloCommand, tags: {console.command: hello}}
# Facades =================
- App\Model\Database\Facade\TermFacade
latte:
macros:
- App\Model\Latte\Macros::register