├── .environment └── demo.devi.tools │ └── docker-compose.yml ├── .github └── workflows │ └── ci.yml ├── .gitignore ├── .gitlab-ci.yml ├── .gitmodules ├── .tevun └── hooks │ ├── install.sh │ ├── post-checkout.sh │ ├── pre-checkout.sh │ └── setup.sh ├── README.md ├── cover.jpg ├── laravel ├── .docker │ ├── devitools-nginx │ │ ├── opt │ │ │ └── docker │ │ │ │ └── etc │ │ │ │ └── nginx │ │ │ │ └── vhost.common.d │ │ │ │ └── cache.conf │ │ └── usr │ │ │ └── local │ │ │ └── etc │ │ │ └── php │ │ │ └── conf.d │ │ │ └── docker-php-ext-xdebug.ini │ └── devitools-queue │ │ └── opt │ │ └── docker │ │ └── etc │ │ └── supervisor.d │ │ └── php-fpm.conf ├── .env.defaults ├── .gitattributes ├── .gitignore ├── .styleci.yml ├── README.md ├── artisan ├── bootstrap │ ├── app.php │ └── cache │ │ └── .gitignore ├── composer.json ├── composer.lock ├── config │ ├── app.php │ ├── audit.php │ ├── auth.php │ ├── broadcasting.php │ ├── cache.php │ ├── cors.php │ ├── database.php │ ├── filesystems.php │ ├── flare.php │ ├── hashing.php │ ├── horizon.php │ ├── ignition.php │ ├── jwt.php │ ├── logging.php │ ├── mail.php │ ├── queue.php │ ├── sentry.php │ ├── services.php │ ├── session.php │ ├── tinker.php │ ├── trustedproxy.php │ └── view.php ├── database │ ├── .gitignore │ ├── factories │ │ └── UserFactory.php │ ├── migrations │ │ ├── 0000_00_00_000000_profiles-create.php │ │ ├── 0000_00_00_000001_users-create_table.php │ │ ├── 0000_00_00_000002_password_resets-create.php │ │ ├── 0000_00_00_000003_failed_jobs-create.php │ │ ├── 0000_00_00_000004_audits-create.php │ │ ├── 0000_00_00_000006_permissions-create.php │ │ ├── 2020_06_06_120600_categories-create.php │ │ ├── 2020_06_23_111700_categories-add_description_active.php │ │ ├── 2020_06_23_134900_markers-create.php │ │ ├── 2020_07_05_202000_types-create.php │ │ └── 3000_00_00_000000_seed_data.php │ └── seeds │ │ └── DatabaseSeeder.php ├── docker-compose.yml ├── phpunit.xml ├── public │ ├── .htaccess │ ├── favicon.ico │ ├── favicon.png │ ├── index.html │ ├── index.php │ ├── report │ │ └── logo.png │ ├── robots.txt │ ├── script │ │ └── app.js │ ├── style │ │ └── app.css │ ├── vendor │ │ └── horizon │ │ │ ├── app-dark.css │ │ │ ├── app.css │ │ │ ├── app.js │ │ │ ├── img │ │ │ ├── favicon.png │ │ │ ├── horizon.svg │ │ │ └── sprite.svg │ │ │ └── mix-manifest.json │ └── web.config ├── resources │ ├── assets │ │ ├── js │ │ │ ├── app.js │ │ │ ├── bootstrap.js │ │ │ └── components │ │ │ │ └── ExampleComponent.vue │ │ └── sass │ │ │ ├── _variables.scss │ │ │ └── app.scss │ ├── js │ │ ├── app.js │ │ └── bootstrap.js │ ├── lang │ │ └── en │ │ │ ├── admin │ │ │ └── user │ │ │ │ ├── created.php │ │ │ │ └── reset.php │ │ │ ├── auth.php │ │ │ ├── pagination.php │ │ │ ├── passwords.php │ │ │ ├── service.php │ │ │ └── validation.php │ ├── sass │ │ └── app.scss │ └── views │ │ ├── errors │ │ ├── 401.blade.php │ │ ├── 403.blade.php │ │ ├── 404.blade.php │ │ ├── 419.blade.php │ │ ├── 429.blade.php │ │ ├── 500.blade.php │ │ ├── 503.blade.php │ │ ├── illustrated-layout.blade.php │ │ ├── layout.blade.php │ │ └── minimal.blade.php │ │ ├── report │ │ └── layout │ │ │ ├── default.blade.php │ │ │ ├── empty.blade.php │ │ │ ├── error.blade.php │ │ │ ├── loading.blade.php │ │ │ └── style.blade.php │ │ └── welcome.blade.php ├── routes │ ├── api.php │ ├── api │ │ ├── admin.php │ │ ├── auth.php │ │ └── general.php │ ├── channels.php │ ├── console.php │ ├── web.php │ └── web │ │ ├── report.php │ │ └── statics.php ├── server.php ├── source │ ├── Domains │ │ ├── Admin │ │ │ ├── Permission.php │ │ │ ├── Permission │ │ │ │ ├── PermissionNamespaces.php │ │ │ │ └── ProfileSaving.php │ │ │ ├── Profile.php │ │ │ ├── Profile │ │ │ │ └── ProfileRepository.php │ │ │ ├── User.php │ │ │ └── User │ │ │ │ ├── UserBefore.php │ │ │ │ ├── UserCreated.php │ │ │ │ ├── UserCreating.php │ │ │ │ ├── UserFilterReference.php │ │ │ │ ├── UserRepository.php │ │ │ │ └── UserUpdating.php │ │ └── General │ │ │ ├── Category.php │ │ │ ├── Category │ │ │ └── CategoryRepository.php │ │ │ ├── Marker.php │ │ │ ├── Marker │ │ │ └── MarkerRepository.php │ │ │ ├── Type.php │ │ │ └── Type │ │ │ └── TypeRepository.php │ └── Http │ │ ├── Controllers │ │ ├── Admin │ │ │ ├── ProfileController.php │ │ │ └── UserController.php │ │ ├── Auth │ │ │ ├── Confirm.php │ │ │ ├── Me.php │ │ │ ├── Refresh.php │ │ │ ├── SignIn.php │ │ │ └── SignUp.php │ │ └── General │ │ │ ├── CategoryController.php │ │ │ ├── MarkerController.php │ │ │ └── TypeController.php │ │ └── Routing │ │ └── AppJWTAuthentication.php ├── storage │ ├── app │ │ ├── .gitignore │ │ └── public │ │ │ └── .gitignore │ ├── framework │ │ ├── .gitignore │ │ ├── cache │ │ │ ├── .gitignore │ │ │ └── data │ │ │ │ └── .gitignore │ │ ├── sessions │ │ │ └── .gitignore │ │ ├── testing │ │ │ └── .gitignore │ │ └── views │ │ │ └── .gitignore │ └── logs │ │ └── .gitignore ├── tests │ ├── CreatesApplication.php │ ├── Feature │ │ └── ExampleTest.php │ ├── Http │ │ ├── auth │ │ │ ├── me.http │ │ │ ├── register.http │ │ │ └── sign-in.http │ │ └── http-client.env.json │ ├── TestCase.php │ └── Unit │ │ └── ExampleTest.php └── webpack.mix.js ├── quasar ├── .babelrc ├── .env.defaults ├── .env.production ├── .eslintignore ├── .eslintrc.js ├── .gitignore ├── .postcssrc.js ├── .stylintrc ├── .vscode │ ├── extensions.json │ └── settings.json ├── babel.config.js ├── docker-compose.sh ├── docker-compose.yml ├── package.json ├── quasar.conf.js ├── quasar.extensions.json ├── resources │ ├── lang │ │ ├── en-us │ │ │ ├── actions.js │ │ │ ├── app.js │ │ │ ├── domains.js │ │ │ ├── index.js │ │ │ ├── pages.js │ │ │ └── permissions.js │ │ └── pt-br │ │ │ ├── actions.js │ │ │ ├── app.js │ │ │ ├── domains.js │ │ │ ├── index.js │ │ │ ├── pages.js │ │ │ └── permissions.js │ └── views │ │ ├── Error403.vue │ │ ├── Error404.vue │ │ ├── auth │ │ ├── AuthSignIn.vue │ │ └── AuthSignUp.vue │ │ └── dashboard │ │ ├── DashboardIndex.vue │ │ ├── admin │ │ ├── profile │ │ │ ├── ProfileForm.vue │ │ │ ├── ProfileTable.vue │ │ │ └── index.js │ │ └── user │ │ │ ├── UserForm.vue │ │ │ ├── UserTable.vue │ │ │ └── index.js │ │ ├── general │ │ ├── category │ │ │ ├── CategoryForm.vue │ │ │ ├── CategoryTable.vue │ │ │ └── index.js │ │ ├── marker │ │ │ ├── MarkerForm.vue │ │ │ ├── MarkerTable.vue │ │ │ └── index.js │ │ └── type │ │ │ ├── TypeForm.vue │ │ │ ├── TypeTable.vue │ │ │ └── index.js │ │ ├── movement │ │ ├── confirmation │ │ │ ├── ConfirmationForm.vue │ │ │ ├── ConfirmationTable.vue │ │ │ └── index.js │ │ ├── expense │ │ │ ├── ExpenseForm.vue │ │ │ ├── ExpenseTable.vue │ │ │ └── index.js │ │ ├── invoice │ │ │ ├── InvoiceForm.vue │ │ │ ├── InvoiceTable.vue │ │ │ └── index.js │ │ └── revenue │ │ │ ├── RevenueForm.vue │ │ │ ├── RevenueTable.vue │ │ │ └── index.js │ │ ├── preview │ │ ├── alert │ │ │ ├── AlertForm.vue │ │ │ ├── AlertTable.vue │ │ │ └── index.js │ │ ├── goal │ │ │ ├── GoalForm.vue │ │ │ ├── GoalTable.vue │ │ │ └── index.js │ │ ├── input │ │ │ ├── InputForm.vue │ │ │ ├── InputTable.vue │ │ │ └── index.js │ │ ├── output │ │ │ ├── OutputForm.vue │ │ │ ├── OutputTable.vue │ │ │ └── index.js │ │ └── simulation │ │ │ ├── SimulationForm.vue │ │ │ ├── SimulationTable.vue │ │ │ └── index.js │ │ ├── print │ │ ├── Printable.vue │ │ ├── PrintableArray.vue │ │ └── PrintableMixin.js │ │ ├── report │ │ └── ExampleReport.vue │ │ ├── settings │ │ └── MyAccountForm.vue │ │ └── wallet │ │ ├── account │ │ ├── AccountForm.vue │ │ ├── AccountTable.vue │ │ └── index.js │ │ ├── bankAccount │ │ ├── BankAccountForm.vue │ │ ├── BankAccountTable.vue │ │ └── index.js │ │ ├── card │ │ ├── CardForm.vue │ │ ├── CardTable.vue │ │ └── index.js │ │ ├── investment │ │ ├── InvestmentForm.vue │ │ ├── InvestmentTable.vue │ │ └── index.js │ │ └── ticket │ │ ├── TicketForm.vue │ │ ├── TicketTable.vue │ │ └── index.js ├── routes │ ├── auth.js │ ├── dashboard.js │ └── dashboard │ │ ├── admin.js │ │ └── general.js ├── source │ ├── domains │ │ ├── Admin │ │ │ ├── Profile │ │ │ │ ├── Schema │ │ │ │ │ ├── ProfileSchema.ts │ │ │ │ │ └── ProfileService.ts │ │ │ │ ├── en-us.js │ │ │ │ ├── pt-br.js │ │ │ │ └── settings.js │ │ │ └── User │ │ │ │ ├── Schema │ │ │ │ ├── UserSchema.ts │ │ │ │ └── UserService.ts │ │ │ │ ├── en-us.js │ │ │ │ ├── pt-br.js │ │ │ │ └── settings.js │ │ ├── Auth │ │ │ ├── Mixin │ │ │ │ └── Session.js │ │ │ └── Service │ │ │ │ ├── AuthService.js │ │ │ │ └── index.js │ │ ├── General │ │ │ ├── Category │ │ │ │ ├── Schema │ │ │ │ │ ├── CategorySchema.ts │ │ │ │ │ └── CategoryService.ts │ │ │ │ ├── en-us.js │ │ │ │ ├── pt-br.js │ │ │ │ └── settings.js │ │ │ ├── Marker │ │ │ │ ├── Schema │ │ │ │ │ ├── MarkerSchema.ts │ │ │ │ │ └── MarkerService.ts │ │ │ │ ├── en-us.js │ │ │ │ ├── pt-br.js │ │ │ │ └── settings.js │ │ │ └── Type │ │ │ │ ├── Schema │ │ │ │ ├── TypeSchema.ts │ │ │ │ └── TypeService.ts │ │ │ │ ├── en-us.js │ │ │ │ ├── pt-br.js │ │ │ │ └── settings.js │ │ ├── Movement │ │ │ ├── Confirmation │ │ │ │ ├── Schema │ │ │ │ │ ├── ConfirmationSchema.ts │ │ │ │ │ └── ConfirmationService.ts │ │ │ │ ├── en-us.js │ │ │ │ ├── pt-br.js │ │ │ │ └── settings.js │ │ │ ├── Expense │ │ │ │ ├── Schema │ │ │ │ │ ├── ExpenseSchema.ts │ │ │ │ │ └── ExpenseService.ts │ │ │ │ ├── en-us.js │ │ │ │ ├── pt-br.js │ │ │ │ └── settings.js │ │ │ ├── Invoice │ │ │ │ ├── Schema │ │ │ │ │ ├── InvoiceSchema.ts │ │ │ │ │ └── InvoiceService.ts │ │ │ │ ├── en-us.js │ │ │ │ ├── pt-br.js │ │ │ │ └── settings.js │ │ │ └── Revenue │ │ │ │ ├── Schema │ │ │ │ ├── RevenueSchema.ts │ │ │ │ └── RevenueService.ts │ │ │ │ ├── en-us.js │ │ │ │ ├── pt-br.js │ │ │ │ └── settings.js │ │ ├── Preview │ │ │ ├── Alert │ │ │ │ ├── Schema │ │ │ │ │ ├── AlertSchema.ts │ │ │ │ │ └── AlertService.ts │ │ │ │ ├── en-us.js │ │ │ │ ├── pt-br.js │ │ │ │ └── settings.js │ │ │ ├── Goal │ │ │ │ ├── Schema │ │ │ │ │ ├── GoalSchema.ts │ │ │ │ │ └── GoalService.ts │ │ │ │ ├── en-us.js │ │ │ │ ├── pt-br.js │ │ │ │ └── settings.js │ │ │ ├── Input │ │ │ │ ├── Schema │ │ │ │ │ ├── InputSchema.ts │ │ │ │ │ └── InputService.ts │ │ │ │ ├── en-us.js │ │ │ │ ├── pt-br.js │ │ │ │ └── settings.js │ │ │ ├── Output │ │ │ │ ├── Schema │ │ │ │ │ ├── OutputSchema.ts │ │ │ │ │ └── OutputService.ts │ │ │ │ ├── en-us.js │ │ │ │ ├── pt-br.js │ │ │ │ └── settings.js │ │ │ └── Simulation │ │ │ │ ├── Schema │ │ │ │ ├── SimulationSchema.ts │ │ │ │ └── SimulationService.ts │ │ │ │ ├── en-us.js │ │ │ │ ├── pt-br.js │ │ │ │ └── settings.js │ │ ├── Report │ │ │ ├── en-us.js │ │ │ ├── index.js │ │ │ ├── pt-br.js │ │ │ └── routes.js │ │ ├── Settings │ │ │ └── Account │ │ │ │ ├── Schema │ │ │ │ └── MyAccountSchema.js │ │ │ │ ├── en-us.js │ │ │ │ ├── pt-br.js │ │ │ │ └── settings.js │ │ └── Wallet │ │ │ ├── Account │ │ │ ├── Schema │ │ │ │ ├── AccountSchema.ts │ │ │ │ └── AccountService.ts │ │ │ ├── en-us.js │ │ │ ├── pt-br.js │ │ │ └── settings.js │ │ │ ├── BankAccount │ │ │ ├── Schema │ │ │ │ ├── BankAccountSchema.ts │ │ │ │ └── BankAccountService.ts │ │ │ ├── en-us.js │ │ │ ├── pt-br.js │ │ │ └── settings.js │ │ │ ├── Card │ │ │ ├── Schema │ │ │ │ ├── CardSchema.ts │ │ │ │ └── CardService.ts │ │ │ ├── en-us.js │ │ │ ├── pt-br.js │ │ │ └── settings.js │ │ │ ├── Investment │ │ │ ├── Schema │ │ │ │ ├── InvestmentSchema.ts │ │ │ │ └── InvestmentService.ts │ │ │ ├── en-us.js │ │ │ ├── pt-br.js │ │ │ └── settings.js │ │ │ └── Ticket │ │ │ ├── Schema │ │ │ ├── TicketSchema.ts │ │ │ └── TicketService.ts │ │ │ ├── en-us.js │ │ │ ├── pt-br.js │ │ │ └── settings.js │ └── modules │ │ ├── Auth │ │ ├── AuthAttempt.js │ │ ├── AuthLayout.vue │ │ ├── components │ │ │ └── index.js │ │ ├── router │ │ │ └── middleware.js │ │ └── store │ │ │ ├── actions.js │ │ │ ├── getters.js │ │ │ ├── index.js │ │ │ ├── mutations.js │ │ │ └── state.js │ │ ├── Dashboard │ │ ├── DashboardLayout.vue │ │ ├── components │ │ │ ├── DashboardAction.vue │ │ │ ├── DashboardActions.vue │ │ │ ├── DashboardMenu.vue │ │ │ └── index.js │ │ ├── router │ │ │ └── middleware.js │ │ └── store │ │ │ ├── actions.js │ │ │ ├── custom │ │ │ ├── actions.js │ │ │ ├── getters.js │ │ │ ├── mutations.js │ │ │ └── state.js │ │ │ ├── getters.js │ │ │ ├── index.js │ │ │ ├── mutations.js │ │ │ └── state.js │ │ └── General │ │ └── version.js ├── src-pwa │ ├── custom-service-worker.js │ ├── pwa-flag.d.ts │ └── register-service-worker.js ├── src │ ├── App.vue │ ├── assets │ │ ├── quasar-logo-full.svg │ │ └── sad.svg │ ├── boot │ │ ├── .gitkeep │ │ ├── app.js │ │ ├── i18n.js │ │ ├── sentry.js │ │ └── static.js │ ├── css │ │ ├── agnostic.styl │ │ ├── app.styl │ │ └── quasar.variables.styl │ ├── env.d.ts │ ├── i18n │ │ └── index.js │ ├── index.template.html │ ├── router │ │ ├── index.js │ │ └── middleware │ │ │ ├── updateDevice.js │ │ │ └── updateTitle.js │ ├── settings │ │ ├── action.js │ │ ├── actions.js │ │ ├── components.js │ │ ├── date.js │ │ ├── executors.js │ │ ├── field.js │ │ ├── filler.js │ │ ├── http.js │ │ ├── local.js │ │ ├── message.js │ │ ├── permissions.js │ │ ├── report.js │ │ ├── rest.js │ │ ├── schema.js │ │ ├── security.js │ │ ├── storage.js │ │ └── table.js │ ├── statics │ │ ├── app-logo-128x128.png │ │ ├── auth │ │ │ ├── background.jpg │ │ │ └── background.mp4 │ │ ├── browserconfig.xml │ │ ├── dashboard │ │ │ ├── header-logo-white.png │ │ │ └── header-logo.png │ │ ├── favicon.ico │ │ ├── favicon.png │ │ ├── header-logo.png │ │ ├── icons │ │ │ ├── android-chrome-192x192.png │ │ │ ├── android-chrome-256x256.png │ │ │ ├── android-chrome-384x384.png │ │ │ ├── android-icon-144x144.png │ │ │ ├── android-icon-192x192.png │ │ │ ├── android-icon-36x36.png │ │ │ ├── android-icon-48x48.png │ │ │ ├── android-icon-72x72.png │ │ │ ├── android-icon-96x96.png │ │ │ ├── apple-icon-114x114.png │ │ │ ├── apple-icon-120x120.png │ │ │ ├── apple-icon-144x144.png │ │ │ ├── apple-icon-152x152.png │ │ │ ├── apple-icon-180x180.png │ │ │ ├── apple-icon-57x57.png │ │ │ ├── apple-icon-60x60.png │ │ │ ├── apple-icon-72x72.png │ │ │ ├── apple-icon-76x76.png │ │ │ ├── apple-icon-precomposed.png │ │ │ ├── apple-icon.png │ │ │ ├── apple-touch-icon.png │ │ │ ├── favicon-16x16.png │ │ │ ├── favicon-32x32.png │ │ │ ├── favicon-96x96.png │ │ │ ├── favicon.ico │ │ │ ├── icon-128x128.png │ │ │ ├── icon-192x192.png │ │ │ ├── icon-256x256.png │ │ │ ├── icon-384x384.png │ │ │ ├── icon-512x512.png │ │ │ ├── ms-icon-144x144.png │ │ │ ├── ms-icon-150x150.png │ │ │ ├── ms-icon-310x310.png │ │ │ ├── ms-icon-70x70.png │ │ │ ├── mstile-150x150.png │ │ │ └── safari-pinned-tab.svg │ │ ├── logo-horizontal-white.png │ │ ├── logo-horizontal.png │ │ ├── logo.png │ │ ├── site.webmanifest │ │ └── version │ └── store │ │ ├── app │ │ ├── actions.js │ │ ├── getters.js │ │ ├── index.js │ │ ├── mutations.js │ │ └── state.js │ │ ├── index.js │ │ └── store-flag.d.ts ├── tsconfig.json ├── version.ejs └── yarn.lock └── system.js /.gitignore: -------------------------------------------------------------------------------- 1 | ###> symfony/framework-bundle ### 2 | /symfony/.env.local 3 | /symfony/.env.local.php 4 | /symfony/.env.*.local 5 | /symfony/public/bundles/ 6 | /symfony/var/* 7 | /symfony/vendor/ 8 | ###< symfony/framework-bundle ### 9 | 10 | .idea/ 11 | /.bin/ 12 | /docker-compose.override.yml 13 | /coverage 14 | 15 | !*.gitkeep 16 | *.log 17 | nbproject 18 | /@ignored 19 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "quasar/@devitools"] 2 | path = quasar/@devitools 3 | url = https://github.com/devitools/quasar.git 4 | [submodule "laravel/@devitools"] 5 | path = laravel/@devitools 6 | url = https://github.com/devitools/laravel.git 7 | -------------------------------------------------------------------------------- /.tevun/hooks/install.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | echo " ~> [hooks\install.sh] on [${1}, ${2}]" 4 | 5 | cd "${1}" || exit 6 | 7 | docker exec devitools-nginx bash -c "su -c 'composer install --no-interaction' application" 8 | docker exec devitools-nginx bash -c "su -c 'php artisan migrate --force' application" 9 | -------------------------------------------------------------------------------- /.tevun/hooks/post-checkout.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | echo " ~> [hooks\post-checkout.sh] on [${1}, ${2}]" 4 | 5 | cd "${1}" || exit 6 | 7 | docker-compose up -d 8 | -------------------------------------------------------------------------------- /.tevun/hooks/pre-checkout.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | echo " ~> [hooks\pre-checkout.sh] on [${1}, ${2}]" 4 | 5 | cd "${1}" || exit 6 | 7 | docker-compose down 8 | -------------------------------------------------------------------------------- /.tevun/hooks/setup.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | echo " ~> [hooks\setup.sh] on [${1}, ${2}]" 4 | 5 | cd "${1}" || exit 6 | 7 | docker exec -it devitools-nginx bash -c "su -c 'php artisan env' application" 8 | docker exec -it devitools-nginx bash -c "su -c 'php artisan key:generate' application" 9 | docker exec -it devitools-nginx bash -c "su -c 'php artisan jwt:secret' application" 10 | docker exec -it devitools-nginx bash -c "su -c 'php artisan migrate:fresh' application" 11 | -------------------------------------------------------------------------------- /cover.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devitools/starter-kit/a6091487349311d839904622a0f813b13b32fe55/cover.jpg -------------------------------------------------------------------------------- /laravel/.docker/devitools-nginx/opt/docker/etc/nginx/vhost.common.d/cache.conf: -------------------------------------------------------------------------------- 1 | location ~* (.*-worker\.js)$ { 2 | expires off; 3 | add_header Pragma no-cache; 4 | add_header Cache-Control 'no-store, no-cache, must-revalidate, proxy-revalidate, max-age=0'; 5 | } 6 | 7 | location ~ ^/(css|js|fonts|img|images)/ { 8 | expires max; 9 | } 10 | 11 | location ~* ^.+\.(html|htm)$ { 12 | expires 5m; 13 | } 14 | -------------------------------------------------------------------------------- /laravel/.docker/devitools-queue/opt/docker/etc/supervisor.d/php-fpm.conf: -------------------------------------------------------------------------------- 1 | [group:php-fpm] 2 | programs=php-fpmd 3 | priority=20 4 | 5 | [program:php-fpmd] 6 | command=/opt/docker/bin/service.d/php-fpm.sh 7 | process_name=%(program_name)s 8 | startsecs=0 9 | autostart=true 10 | autorestart=true 11 | stdout_logfile=/dev/stdout 12 | stdout_logfile_maxbytes=0 13 | stderr_logfile=/dev/stderr 14 | stderr_logfile_maxbytes=0 15 | 16 | [program:php-email] 17 | process_name=%(program_name)s_%(process_num)02d 18 | command=php /var/www/app/artisan queue:work --queue=email --timeout=86400 --memory=512 --tries=1 --daemon 19 | autostart=true 20 | autorestart=true 21 | numprocs=1 22 | redirect_stderr=true 23 | stdout_logfile=/var/www/app/storage/logs/email.log 24 | 25 | [program:php-generic] 26 | process_name=%(program_name)s_%(process_num)02d 27 | command=php /var/www/app/artisan queue:work --queue=generic --timeout=86400 --memory=512 --tries=1 --daemon 28 | autostart=true 29 | autorestart=true 30 | numprocs=1 31 | redirect_stderr=true 32 | stdout_logfile=/var/www/app/storage/logs/generic.log 33 | -------------------------------------------------------------------------------- /laravel/.env.defaults: -------------------------------------------------------------------------------- 1 | # app constants 2 | APP_NAME="Devitools Demo" 3 | APP_ENV=development 4 | APP_KEY= 5 | APP_DEBUG=true 6 | APP_URL=http://localhost:8080 7 | APP_CLIENT=http://localhost:8000 8 | APP_DEV=true 9 | 10 | # log setings 11 | LOG_CHANNEL=stack 12 | 13 | # MySQL connection 14 | DB_CONNECTION=mysql 15 | DB_HOST=devitools-mysql 16 | DB_PORT=3306 17 | DB_DATABASE=database 18 | DB_USERNAME=user 19 | DB_PASSWORD=password 20 | 21 | # drivers 22 | BROADCAST_DRIVER=log 23 | CACHE_DRIVER=file 24 | SESSION_DRIVER=file 25 | SESSION_LIFETIME=120 26 | QUEUE_CONNECTION=redis 27 | 28 | # Redis connection 29 | REDIS_HOST=devitools-redis 30 | REDIS_PASSWORD=null 31 | REDIS_PORT=6379 32 | 33 | # mail credentials 34 | MAIL_DRIVER=smtp 35 | MAIL_HOST=smtp.mailtrap.io 36 | MAIL_PORT=2525 37 | MAIL_USERNAME= 38 | MAIL_PASSWORD= 39 | MAIL_FROM_NAME= 40 | MAIL_FROM_ADDRESS= 41 | 42 | # pusher credentials 43 | PUSHER_APP_CLUSTER=mt1 44 | PUSHER_APP_ID= 45 | PUSHER_APP_KEY= 46 | PUSHER_APP_SECRET= 47 | 48 | MIX_PUSHER_APP_KEY= 49 | MIX_PUSHER_APP_CLUSTER= 50 | 51 | # JWT and Sentry settings 52 | JWT_SECRET= 53 | SENTRY_LARAVEL_DSN="" 54 | -------------------------------------------------------------------------------- /laravel/.gitattributes: -------------------------------------------------------------------------------- 1 | * text=auto 2 | *.css linguist-vendored 3 | *.scss linguist-vendored 4 | *.js linguist-vendored 5 | CHANGELOG.md export-ignore 6 | -------------------------------------------------------------------------------- /laravel/.gitignore: -------------------------------------------------------------------------------- 1 | /node_modules 2 | /public/hot 3 | /public/storage 4 | /storage/*.key 5 | /vendor 6 | /nbproject 7 | /.idea 8 | /.vscode 9 | /.vagrant 10 | Homestead.json 11 | Homestead.yaml 12 | npm-debug.log 13 | yarn-error.log 14 | /.env 15 | /docker-compose.override.yml 16 | *.cache 17 | /server 18 | -------------------------------------------------------------------------------- /laravel/.styleci.yml: -------------------------------------------------------------------------------- 1 | php: 2 | preset: laravel 3 | disabled: 4 | - unused_use 5 | finder: 6 | not-name: 7 | - index.php 8 | - server.php 9 | js: 10 | finder: 11 | not-name: 12 | - webpack.mix.js 13 | css: true 14 | -------------------------------------------------------------------------------- /laravel/bootstrap/cache/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /laravel/config/sentry.php: -------------------------------------------------------------------------------- 1 | env('SENTRY_LARAVEL_DSN', env('SENTRY_DSN')), 6 | 7 | // capture release as git sha 8 | // 'release' => trim(exec('git --git-dir ' . base_path('.git') . ' log --pretty="%h" -n1 HEAD')), 9 | 10 | 'breadcrumbs' => [ 11 | // Capture Laravel logs in breadcrumbs 12 | 'logs' => true, 13 | 14 | // Capture SQL queries in breadcrumbs 15 | 'sql_queries' => true, 16 | 17 | // Capture bindings on SQL queries logged in breadcrumbs 18 | 'sql_bindings' => true, 19 | 20 | // Capture queue job information in breadcrumbs 21 | 'queue_info' => true, 22 | ], 23 | 24 | ]; 25 | -------------------------------------------------------------------------------- /laravel/database/.gitignore: -------------------------------------------------------------------------------- 1 | *.sqlite 2 | *.sqlite-journal 3 | -------------------------------------------------------------------------------- /laravel/database/factories/UserFactory.php: -------------------------------------------------------------------------------- 1 | define(User::class, function (Faker $faker) { 21 | return [ 22 | 'name' => $faker->name, 23 | 'email' => $faker->unique()->safeEmail, 24 | 'email_verified_at' => now(), 25 | 'password' => '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', // password 26 | 'remember_token' => Str::random(10), 27 | ]; 28 | }); 29 | -------------------------------------------------------------------------------- /laravel/database/migrations/0000_00_00_000000_profiles-create.php: -------------------------------------------------------------------------------- 1 | string('name'); 29 | $table->string('reference'); 30 | } 31 | } 32 | 33 | -------------------------------------------------------------------------------- /laravel/database/migrations/0000_00_00_000001_users-create_table.php: -------------------------------------------------------------------------------- 1 | string('name'); 29 | $table->string('username')->unique(); 30 | $table->string('password')->nullable(); 31 | $table->boolean('active')->default(0); 32 | $table->string('email')->nullable(); 33 | $table->rememberToken(); 34 | 35 | $table->efficientUuid('profileId')->nullable(); 36 | $table->foreign('profileId', 'usersProFileId') 37 | ->references('uuid') 38 | ->on('profiles') 39 | ->onDelete('restrict'); 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /laravel/database/migrations/0000_00_00_000002_password_resets-create.php: -------------------------------------------------------------------------------- 1 | string('email')->index(); 34 | $table->string('token'); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /laravel/database/migrations/0000_00_00_000006_permissions-create.php: -------------------------------------------------------------------------------- 1 | efficientUuid('profileId'); 29 | 30 | $table->string('namespace'); 31 | 32 | $table->foreign('profileId', 'permissions_profileId') 33 | ->references('uuid') 34 | ->on('profiles') 35 | ->onDelete('cascade'); 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /laravel/database/migrations/2020_06_06_120600_categories-create.php: -------------------------------------------------------------------------------- 1 | string('name'); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /laravel/database/migrations/2020_06_23_111700_categories-add_description_active.php: -------------------------------------------------------------------------------- 1 | text('description')->nullable(); 29 | $table->boolean('active')->default(false)->nullable(); 30 | } 31 | 32 | /** 33 | * @param Table $table 34 | * 35 | * @return void 36 | */ 37 | protected function onDown(Table $table) 38 | { 39 | $table->dropColumn('description'); 40 | $table->dropColumn('active'); 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /laravel/database/migrations/2020_06_23_134900_markers-create.php: -------------------------------------------------------------------------------- 1 | string('name'); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /laravel/database/migrations/2020_07_05_202000_types-create.php: -------------------------------------------------------------------------------- 1 | string('name'); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /laravel/database/migrations/3000_00_00_000000_seed_data.php: -------------------------------------------------------------------------------- 1 | run(); 21 | } 22 | 23 | /** 24 | * Reverse the migrations. 25 | * 26 | * @return void 27 | */ 28 | public function down() 29 | { 30 | // 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /laravel/public/.htaccess: -------------------------------------------------------------------------------- 1 | 2 | 3 | Options -MultiViews -Indexes 4 | 5 | 6 | RewriteEngine On 7 | 8 | # Handle Authorization Header 9 | RewriteCond %{HTTP:Authorization} . 10 | RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] 11 | 12 | # Redirect Trailing Slashes If Not A Folder... 13 | RewriteCond %{REQUEST_FILENAME} !-d 14 | RewriteCond %{REQUEST_URI} (.+)/$ 15 | RewriteRule ^ %1 [L,R=301] 16 | 17 | # Send Requests To Front Controller... 18 | RewriteCond %{REQUEST_FILENAME} !-d 19 | RewriteCond %{REQUEST_FILENAME} !-f 20 | RewriteRule ^ index.php [L] 21 | 22 | -------------------------------------------------------------------------------- /laravel/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devitools/starter-kit/a6091487349311d839904622a0f813b13b32fe55/laravel/public/favicon.ico -------------------------------------------------------------------------------- /laravel/public/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devitools/starter-kit/a6091487349311d839904622a0f813b13b32fe55/laravel/public/favicon.png -------------------------------------------------------------------------------- /laravel/public/report/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devitools/starter-kit/a6091487349311d839904622a0f813b13b32fe55/laravel/public/report/logo.png -------------------------------------------------------------------------------- /laravel/public/robots.txt: -------------------------------------------------------------------------------- 1 | User-agent: * 2 | Disallow: 3 | -------------------------------------------------------------------------------- /laravel/public/vendor/horizon/img/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devitools/starter-kit/a6091487349311d839904622a0f813b13b32fe55/laravel/public/vendor/horizon/img/favicon.png -------------------------------------------------------------------------------- /laravel/public/vendor/horizon/mix-manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "/app.js": "/app.js?id=4f93645700a6c5485654", 3 | "/app.css": "/app.css?id=99048465add47d086ac7", 4 | "/app-dark.css": "/app-dark.css?id=f42b555818ed19478827" 5 | } 6 | -------------------------------------------------------------------------------- /laravel/resources/assets/js/app.js: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * First we will load all of this project's JavaScript dependencies which 4 | * includes Vue and other libraries. It is a great starting point when 5 | * building robust, powerful web applications using Vue and Laravel. 6 | */ 7 | 8 | require('./bootstrap'); 9 | 10 | window.Vue = require('vue'); 11 | 12 | /** 13 | * Next, we will create a fresh Vue application instance and attach it to 14 | * the page. Then, you may begin adding components to this application 15 | * or customize the JavaScript scaffolding to fit your unique needs. 16 | */ 17 | 18 | Vue.component('example-component', require('./components/ExampleComponent.vue')); 19 | 20 | const app = new Vue({ 21 | el: '#app' 22 | }); 23 | -------------------------------------------------------------------------------- /laravel/resources/assets/js/components/ExampleComponent.vue: -------------------------------------------------------------------------------- 1 | 16 | 17 | 24 | -------------------------------------------------------------------------------- /laravel/resources/assets/sass/_variables.scss: -------------------------------------------------------------------------------- 1 | 2 | // Body 3 | $body-bg: #f5f8fa; 4 | 5 | // Typography 6 | $font-family-sans-serif: "Raleway", sans-serif; 7 | $font-size-base: 0.9rem; 8 | $line-height-base: 1.6; 9 | -------------------------------------------------------------------------------- /laravel/resources/assets/sass/app.scss: -------------------------------------------------------------------------------- 1 | 2 | // Fonts 3 | @import url("https://fonts.googleapis.com/css?family=Raleway:300,400,600"); 4 | 5 | // Variables 6 | @import "variables"; 7 | 8 | // Bootstrap 9 | @import '~bootstrap/scss/bootstrap'; 10 | 11 | .navbar-laravel { 12 | background-color: #fff; 13 | box-shadow: 0 2px 4px rgba(0, 0, 0, 0.04); 14 | } 15 | -------------------------------------------------------------------------------- /laravel/resources/js/app.js: -------------------------------------------------------------------------------- 1 | require('./bootstrap'); 2 | -------------------------------------------------------------------------------- /laravel/resources/js/bootstrap.js: -------------------------------------------------------------------------------- 1 | window._ = require('lodash'); 2 | 3 | /** 4 | * We'll load the axios HTTP library which allows us to easily issue requests 5 | * to our Laravel back-end. This library automatically handles sending the 6 | * CSRF token as a header based on the value of the "XSRF" token cookie. 7 | */ 8 | 9 | window.axios = require('axios'); 10 | 11 | window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; 12 | 13 | /** 14 | * Echo exposes an expressive API for subscribing to channels and listening 15 | * for events that are broadcast by Laravel. Echo and event broadcasting 16 | * allows your team to easily build robust real-time web applications. 17 | */ 18 | 19 | // import Echo from 'laravel-echo'; 20 | 21 | // window.Pusher = require('pusher-js'); 22 | 23 | // window.Echo = new Echo({ 24 | // broadcaster: 'pusher', 25 | // key: process.env.MIX_PUSHER_APP_KEY, 26 | // cluster: process.env.MIX_PUSHER_APP_CLUSTER, 27 | // forceTLS: true 28 | // }); 29 | -------------------------------------------------------------------------------- /laravel/resources/lang/en/admin/user/created.php: -------------------------------------------------------------------------------- 1 | [ 5 | 'subject' => 'Devitools :: registration confirmation', 6 | ], 7 | ]; 8 | -------------------------------------------------------------------------------- /laravel/resources/lang/en/admin/user/reset.php: -------------------------------------------------------------------------------- 1 | [ 5 | 'subject' => 'Devitools :: reset password', 6 | ], 7 | ]; 8 | -------------------------------------------------------------------------------- /laravel/resources/lang/en/auth.php: -------------------------------------------------------------------------------- 1 | 'These credentials do not match our records.', 17 | 'throttle' => 'Too many login attempts. Please try again in :seconds seconds.', 18 | 19 | ]; 20 | -------------------------------------------------------------------------------- /laravel/resources/lang/en/pagination.php: -------------------------------------------------------------------------------- 1 | '« Previous', 17 | 'next' => 'Next »', 18 | 19 | ]; 20 | -------------------------------------------------------------------------------- /laravel/resources/lang/en/passwords.php: -------------------------------------------------------------------------------- 1 | 'Passwords must be at least six characters and match the confirmation.', 17 | 'reset' => 'Your password has been reset!', 18 | 'sent' => 'We have e-mailed your password reset link!', 19 | 'token' => 'This password reset token is invalid.', 20 | 'user' => "We can't find a user with that e-mail address.", 21 | 22 | ]; 23 | -------------------------------------------------------------------------------- /laravel/resources/lang/en/service.php: -------------------------------------------------------------------------------- 1 | [ 17 | 'subject' => 'Devitools :: contact', 18 | ], 19 | 20 | 'notification' => [ 21 | 'subject' => 'Devitools :: report problems', 22 | ], 23 | 24 | ]; 25 | -------------------------------------------------------------------------------- /laravel/resources/sass/app.scss: -------------------------------------------------------------------------------- 1 | // 2 | -------------------------------------------------------------------------------- /laravel/resources/views/errors/401.blade.php: -------------------------------------------------------------------------------- 1 | @extends('errors::minimal') 2 | 3 | @section('title', __('Unauthorized')) 4 | @section('code', '401') 5 | @section('message', __('Unauthorized')) 6 | -------------------------------------------------------------------------------- /laravel/resources/views/errors/403.blade.php: -------------------------------------------------------------------------------- 1 | @extends('errors::minimal') 2 | 3 | @section('title', __('Forbidden')) 4 | @section('code', '403') 5 | @section('message', __($exception->getMessage() ?: 'Forbidden')) 6 | -------------------------------------------------------------------------------- /laravel/resources/views/errors/404.blade.php: -------------------------------------------------------------------------------- 1 | @extends('errors::minimal') 2 | 3 | @section('title', __('Not Found')) 4 | @section('code', '404') 5 | @section('message', __('Not Found')) 6 | -------------------------------------------------------------------------------- /laravel/resources/views/errors/419.blade.php: -------------------------------------------------------------------------------- 1 | @extends('errors::minimal') 2 | 3 | @section('title', __('Page Expired')) 4 | @section('code', '419') 5 | @section('message', __('Page Expired')) 6 | -------------------------------------------------------------------------------- /laravel/resources/views/errors/429.blade.php: -------------------------------------------------------------------------------- 1 | @extends('errors::minimal') 2 | 3 | @section('title', __('Too Many Requests')) 4 | @section('code', '429') 5 | @section('message', __('Too Many Requests')) 6 | -------------------------------------------------------------------------------- /laravel/resources/views/errors/500.blade.php: -------------------------------------------------------------------------------- 1 | @extends('errors::minimal') 2 | 3 | @section('title', __('Server Error')) 4 | @section('code', '500') 5 | @section('message', __('Server Error')) 6 | -------------------------------------------------------------------------------- /laravel/resources/views/errors/503.blade.php: -------------------------------------------------------------------------------- 1 | @extends('errors::minimal') 2 | 3 | @section('title', __('Service Unavailable')) 4 | @section('code', '503') 5 | @section('message', __($exception->getMessage() ?: 'Service Unavailable')) 6 | -------------------------------------------------------------------------------- /laravel/resources/views/report/layout/default.blade.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | {{ $title }} 4 | @include('report.layout.style') 5 | @if($printing) 6 | 11 | @endif 12 | 13 | 14 |
15 |
16 | logo 20 |
21 |

{{ $title }}

22 |
23 | 24 | @yield('content') 25 | 26 | 30 |
31 |
32 | 33 | 34 | -------------------------------------------------------------------------------- /laravel/resources/views/report/layout/empty.blade.php: -------------------------------------------------------------------------------- 1 | 8 | 9 |
10 | There is no data 11 |
12 | -------------------------------------------------------------------------------- /laravel/routes/api.php: -------------------------------------------------------------------------------- 1 | group(static function () { 20 | Router::group([], __DIR__ . '/api/auth.php'); 21 | Router::group([], __DIR__ . '/api/admin.php'); 22 | Router::group([], __DIR__ . '/api/general.php'); 23 | }); 24 | 25 | Router::any('{any}', static function ($any) { 26 | return Answer::error("Route not found: {$any}", 404); 27 | })->where('any', '.*'); 28 | -------------------------------------------------------------------------------- /laravel/routes/api/admin.php: -------------------------------------------------------------------------------- 1 | group(static function () { 10 | Router::api('/admin/user', UserController::class); 11 | Router::api('/admin/profile', ProfileController::class); 12 | }); 13 | -------------------------------------------------------------------------------- /laravel/routes/api/auth.php: -------------------------------------------------------------------------------- 1 | group(static function () { 16 | Router::get('/auth/me', Me::class); 17 | }); 18 | -------------------------------------------------------------------------------- /laravel/routes/api/general.php: -------------------------------------------------------------------------------- 1 | group(static function () { 11 | Router::api('/general/category', CategoryController::class); 12 | Router::api('/general/marker', MarkerController::class); 13 | Router::api('/general/type', TypeController::class); 14 | }); 15 | -------------------------------------------------------------------------------- /laravel/routes/channels.php: -------------------------------------------------------------------------------- 1 | id === (int)$id; 22 | } 23 | ); 24 | -------------------------------------------------------------------------------- /laravel/routes/web/report.php: -------------------------------------------------------------------------------- 1 | middleware(['jwt.auth']); -------------------------------------------------------------------------------- /laravel/routes/web/statics.php: -------------------------------------------------------------------------------- 1 | where('any', '.*'); 10 | Router::post('/{any}', Upload::class)->where('any', '.*'); 11 | -------------------------------------------------------------------------------- /laravel/server.php: -------------------------------------------------------------------------------- 1 | 8 | */ 9 | 10 | $uri = urldecode( 11 | parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH) 12 | ); 13 | 14 | // This file allows us to emulate Apache's "mod_rewrite" functionality from the 15 | // built-in PHP web server. This provides a convenient way to test a Laravel 16 | // application without having installed a "real" web server software here. 17 | if ($uri !== '/' && file_exists(__DIR__.'/public'.$uri)) { 18 | return false; 19 | } 20 | 21 | require_once __DIR__.'/public/index.php'; 22 | -------------------------------------------------------------------------------- /laravel/source/Domains/Admin/Profile/ProfileRepository.php: -------------------------------------------------------------------------------- 1 | model->where('reference', $reference)->first(); 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /laravel/source/Domains/Admin/User/UserBefore.php: -------------------------------------------------------------------------------- 1 | configurePassword($user); 25 | } 26 | 27 | /** 28 | * @param User $user 29 | */ 30 | private function configurePassword(User $user): void 31 | { 32 | $password = $user->getValue('password'); 33 | if (!$password) { 34 | return; 35 | } 36 | 37 | $info = Hash::info($password); 38 | if (prop($info, 'algoName') !== 'unknown') { 39 | return; 40 | } 41 | $user->setValue('password', Hash::make($password)); 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /laravel/source/Domains/Admin/User/UserCreating.php: -------------------------------------------------------------------------------- 1 | addField('name') 42 | ->validationRequired(); 43 | 44 | $this->addField('description') 45 | ->isText(); 46 | 47 | $this->addField('active') 48 | ->isToggle(); 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /laravel/source/Domains/General/Category/CategoryRepository.php: -------------------------------------------------------------------------------- 1 | addField('name') 42 | ->validationRequired(); 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /laravel/source/Domains/General/Marker/MarkerRepository.php: -------------------------------------------------------------------------------- 1 | addField('name') 42 | ->validationRequired(); 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /laravel/source/Domains/General/Type/TypeRepository.php: -------------------------------------------------------------------------------- 1 | refresh(); 28 | 29 | $payload = $auth->payload(); 30 | 31 | /** @noinspection PhpUndefinedMethodInspection */ 32 | $token_expires_at = JWTAuth::setToken($token)->getPayload()->get('exp'); 33 | 34 | return $this->answerSuccess([ 35 | 'token' => $token, 36 | 'token_type' => 'bearer', 37 | 'token_expires_at' => $token_expires_at, 38 | 'session' => $payload->get('session'), 39 | ]); 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /laravel/source/Http/Controllers/General/CategoryController.php: -------------------------------------------------------------------------------- 1 | make(Kernel::class)->bootstrap(); 27 | 28 | return $app; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /laravel/tests/Feature/ExampleTest.php: -------------------------------------------------------------------------------- 1 | get('/'); 25 | 26 | $response->assertStatus(200); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /laravel/tests/Http/auth/me.http: -------------------------------------------------------------------------------- 1 | GET {{host}}/api/v1/auth/me 2 | Authorization: Bearer {{authorization}} 3 | 4 | ### 5 | -------------------------------------------------------------------------------- /laravel/tests/Http/auth/register.http: -------------------------------------------------------------------------------- 1 | POST {{host}}/api/v1/auth/register HTTP/1.1 2 | Cookie: XDEBUG_SESSION=XDEBUG_ECLIPSE 3 | Content-Type: application/json 4 | 5 | { 6 | "username": "wil3" 7 | } 8 | -------------------------------------------------------------------------------- /laravel/tests/Http/auth/sign-in.http: -------------------------------------------------------------------------------- 1 | POST http://localhost:8080/api/v1/auth/sign-in 2 | Content-Type: application/json 3 | Device: test 4 | 5 | { 6 | "username": "root", 7 | "password": "aq1sw2de3" 8 | } 9 | > {% client.global.set('authorization', response.body.data.token) %} 10 | 11 | ### 12 | -------------------------------------------------------------------------------- /laravel/tests/Http/http-client.env.json: -------------------------------------------------------------------------------- 1 | { 2 | "development": { 3 | "host": "http://localhost:8080" 4 | } 5 | } -------------------------------------------------------------------------------- /laravel/tests/TestCase.php: -------------------------------------------------------------------------------- 1 | assertTrue(true); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /laravel/webpack.mix.js: -------------------------------------------------------------------------------- 1 | const mix = require('laravel-mix'); 2 | 3 | /* 4 | |-------------------------------------------------------------------------- 5 | | Mix Asset Management 6 | |-------------------------------------------------------------------------- 7 | | 8 | | Mix provides a clean, fluent API for defining some Webpack build steps 9 | | for your Laravel application. By default, we are compiling the Sass 10 | | file for the application as well as bundling up all the JS files. 11 | | 12 | */ 13 | 14 | mix.js('resources/js/app.js', 'public/js') 15 | .sass('resources/sass/app.scss', 'public/css'); 16 | -------------------------------------------------------------------------------- /quasar/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "plugins": ["@babel/plugin-syntax-dynamic-import", "transform-class-properties"], 3 | "env": { 4 | "test": { 5 | "plugins": ["dynamic-import-node"], 6 | "presets": [ 7 | [ 8 | "@babel/preset-env", 9 | { 10 | "modules": "commonjs", 11 | "targets": { 12 | "node": "current" 13 | } 14 | } 15 | ] 16 | ] 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /quasar/.env.defaults: -------------------------------------------------------------------------------- 1 | # the path where the app is deployed 2 | VUE_APP_PUBLIC_PATH="/" 3 | # the name of app 4 | VUE_APP_NAME="Devitools" 5 | # sub title of app 6 | VUE_APP_SUB_TITLE="Devitools" 7 | # the messages group of language to use 8 | VUE_APP_LOCALE="pt-br" 9 | # the INTL reference locale (https://www.currency-iso.org/dam/downloads/lists/list_one.xml) 10 | VUE_APP_CURRENCY="USD" 11 | # the rest base url 12 | VUE_APP_REST_BASE_URL="http://localhost:8080" 13 | # the report base url 14 | VUE_APP_REPORT_BASE_URL="http://localhost:8080/report" 15 | # URL of external static resources 16 | VUE_APP_STATIC_URL="http://localhost:8080/statics" 17 | # Default title 18 | VUE_APP_DEFAULT_TITLE="Devitools" 19 | # Default mask to dates 20 | VUE_APP_DEFAULT_DATE_MASK="DD/MM/YYYY" 21 | # setup Sentry DSN 22 | VUE_APP_SENTRY_DSN="" 23 | # ipinfo access token 24 | VUE_APP_COUNTRY_CODE="BR" 25 | VUE_APP_IPINFO_TOKEN="afcf8c7bac20bb" 26 | # show all menu open by default 27 | VUE_APP_SIDEBAR_EXPANDED=false 28 | 29 | # activate dev resources 30 | VUE_APP_DEV_USERNAME= 31 | VUE_APP_DEV_PASSWORD= 32 | 33 | VUE_APP_DEVI_TOOLS=false 34 | -------------------------------------------------------------------------------- /quasar/.env.production: -------------------------------------------------------------------------------- 1 | # the rest base url 2 | VUE_APP_REST_BASE_URL="https://demo.devi.tools" 3 | # the report base url 4 | VUE_APP_REPORT_BASE_URL="https://demo.devi.tools/report" 5 | # URL of extenal static ressources 6 | VUE_APP_STATIC_URL="https://demo.devi.tools/statics" 7 | 8 | # setup Sentry DSN 9 | VUE_APP_SENTRY_DSN="" 10 | 11 | # ipinfo access token 12 | VUE_APP_COUNTRY_CODE="BR" 13 | VUE_APP_IPINFO_TOKEN="afcf8c7bac20bb" 14 | 15 | VUE_APP_DEVI_TOOLS=true 16 | -------------------------------------------------------------------------------- /quasar/.eslintignore: -------------------------------------------------------------------------------- 1 | /dist 2 | /src-bex/www 3 | -------------------------------------------------------------------------------- /quasar/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | .thumbs.db 3 | node_modules 4 | 5 | # Quasar core related directories 6 | .quasar 7 | /dist 8 | /.env 9 | 10 | # Cordova related directories and files 11 | /src-cordova/node_modules 12 | /src-cordova/platforms 13 | /src-cordova/plugins 14 | /src-cordova/www 15 | 16 | # Capacitor related directories and files 17 | /src-capacitor/www 18 | /src-capacitor/node_modules 19 | 20 | # BEX related directories and files 21 | /src-bex/www 22 | /src-bex/js/core 23 | 24 | # Log files 25 | npm-debug.log* 26 | yarn-debug.log* 27 | yarn-error.log* 28 | 29 | # Editor directories and files 30 | .idea 31 | .vscode 32 | *.suo 33 | *.ntvs* 34 | *.njsproj 35 | *.sln 36 | .bin 37 | /docker-compose.override.yml 38 | -------------------------------------------------------------------------------- /quasar/.postcssrc.js: -------------------------------------------------------------------------------- 1 | // https://github.com/michael-ciniawsky/postcss-load-config 2 | 3 | module.exports = { 4 | plugins: [ 5 | // to edit target browsers: use "browserslist" field in package.json 6 | require('autoprefixer') 7 | ] 8 | } 9 | -------------------------------------------------------------------------------- /quasar/.stylintrc: -------------------------------------------------------------------------------- 1 | { 2 | "blocks": "never", 3 | "brackets": "never", 4 | "colons": "never", 5 | "colors": "always", 6 | "commaSpace": "always", 7 | "commentSpace": "always", 8 | "cssLiteral": "never", 9 | "depthLimit": false, 10 | "duplicates": true, 11 | "efficient": "always", 12 | "extendPref": false, 13 | "globalDupe": true, 14 | "indentPref": 2, 15 | "leadingZero": "never", 16 | "maxErrors": false, 17 | "maxWarnings": false, 18 | "mixed": false, 19 | "namingConvention": false, 20 | "namingConventionStrict": false, 21 | "none": "never", 22 | "noImportant": false, 23 | "parenSpace": "never", 24 | "placeholder": false, 25 | "prefixVarsWithDollar": "always", 26 | "quotePref": "single", 27 | "semicolons": "never", 28 | "sortOrder": false, 29 | "stackedProperties": "never", 30 | "trailingWhitespace": "never", 31 | "universal": "never", 32 | "valid": true, 33 | "zeroUnits": "never", 34 | "zIndexNormalize": false 35 | } 36 | -------------------------------------------------------------------------------- /quasar/.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | "recommendations": [ 3 | "dbaeumer.vscode-eslint", 4 | 5 | "octref.vetur" 6 | ], 7 | "unwantedRecommendations": [ 8 | "hookyqr.beautify", 9 | "dbaeumer.jshint", 10 | "ms-vscode.vscode-typescript-tslint-plugin" 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /quasar/.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "vetur.validation.template": false, 3 | 4 | "eslint.validate": ["javascript", "javascriptreact", "typescript", "vue"], 5 | "typescript.tsdk": "node_modules/typescript/lib", 6 | "vetur.experimental.templateInterpolationService": true 7 | } 8 | -------------------------------------------------------------------------------- /quasar/babel.config.js: -------------------------------------------------------------------------------- 1 | /* eslint-env node */ 2 | module.exports = { 3 | presets: [ 4 | '@quasar/babel-preset-app' 5 | ] 6 | } 7 | -------------------------------------------------------------------------------- /quasar/docker-compose.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | if [[ ! -d /var/www/app/node_modules ]]; then 4 | echo "~> installing dependencies" 5 | yarn install 6 | fi 7 | 8 | if [[ ! -f /home/node/bin/node && -f /usr/local/bin/node ]]; then 9 | echo "~> expose bin" 10 | cp /usr/local/bin/node /home/node/bin/node 11 | echo "~> fix permissions" 12 | chown -R node:node . 13 | fi 14 | 15 | echo "Details: '$(pwd)' | '$(quasar -v)'" 16 | 17 | echo "~> starting dev" 18 | quasar dev 19 | -------------------------------------------------------------------------------- /quasar/docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: '3' 2 | 3 | # services 4 | services: 5 | 6 | # app 7 | quasar-app: 8 | container_name: ${DOCKER_SERVICE_APP} 9 | user: node 10 | image: tevun/quasar:latest 11 | working_dir: /var/www/app 12 | command: bash /var/www/app/docker-compose.sh 13 | volumes: 14 | - .:/var/www/app 15 | - ./.bin:/home/node/bin 16 | ports: 17 | - 8000:8000 18 | -------------------------------------------------------------------------------- /quasar/quasar.extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | "qdecimal": {} 3 | } -------------------------------------------------------------------------------- /quasar/resources/lang/en-us/actions.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @type {Object} 3 | */ 4 | export default { 5 | home: 'Home', 6 | general: 'General', 7 | 'general.category': 'Categories', 8 | 'general.product': 'Products', 9 | admin: 'Admin', 10 | 'admin.user': 'Users', 11 | 'admin.profile': 'Profiles' 12 | } 13 | -------------------------------------------------------------------------------- /quasar/resources/lang/en-us/app.js: -------------------------------------------------------------------------------- 1 | import { app } from '@devitools/Lang/en-us' 2 | 3 | /** 4 | * @type {Object} 5 | */ 6 | export default { 7 | ...app, 8 | menu: { 9 | ...app.menu, 10 | balance: { 11 | label: 'My Balance', 12 | caption: 'Show your current balance' 13 | } 14 | }, 15 | export: { 16 | error: 'Can not export your data' 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /quasar/resources/lang/en-us/domains.js: -------------------------------------------------------------------------------- 1 | // domains/Admin 2 | import profile from 'source/domains/Admin/Profile/en-us' 3 | import user from 'source/domains/Admin/User/en-us' 4 | 5 | // domains/General 6 | import category from 'source/domains/General/Category/en-us' 7 | 8 | // domains/Home 9 | import settingsAccount from 'source/domains/Settings/Account/en-us' 10 | 11 | // domains/Report 12 | import report from 'source/domains/Report/en-us' 13 | 14 | /** 15 | */ 16 | export default { 17 | settings: { 18 | account: settingsAccount 19 | }, 20 | admin: { 21 | profile, user 22 | }, 23 | general: { 24 | category 25 | }, 26 | report 27 | } 28 | -------------------------------------------------------------------------------- /quasar/resources/lang/en-us/index.js: -------------------------------------------------------------------------------- 1 | import { agnostic, auth, geo, validation, worker } from '@devitools/Lang/en-us' 2 | 3 | import actions from 'resources/lang/en-us/actions' 4 | import app from 'resources/lang/en-us/app' 5 | import domains from 'resources/lang/en-us/domains' 6 | import pages from 'resources/lang/en-us/pages' 7 | import permissions from 'resources/lang/en-us/permissions' 8 | 9 | /** 10 | * put all messages together 11 | */ 12 | export default { actions, agnostic, app, auth, domains, geo, pages, permissions, validation, worker } 13 | -------------------------------------------------------------------------------- /quasar/resources/lang/en-us/pages.js: -------------------------------------------------------------------------------- 1 | /** 2 | * messages to routes 3 | * crumb is used in breadcrumb 4 | * @see AppBreadcrumb 5 | * title is used to update the document.title for update router middleware 6 | * @sse updateTitle 7 | */ 8 | export default { 9 | '/': { 10 | title: 'Login | Devitools' 11 | }, 12 | '/dashboard': { 13 | crumb: 'Home' 14 | }, 15 | '/dashboard/home': { 16 | title: 'Welcome to Devitools' 17 | }, 18 | dashboard: { 19 | index: { 20 | version: 'Version', 21 | transactionCard: { 22 | title: 'Transactions', 23 | subtitle: 'Manage your transactions', 24 | actionNew: 'Create a new Transaction', 25 | actionAll: 'My Transactions' 26 | } 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /quasar/resources/lang/pt-br/actions.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @type {Object} 3 | */ 4 | export default { 5 | home: 'Início', 6 | general: 'Organizadores', 7 | 'general.category': 'Pastas', 8 | 'general.marker': 'Marcadores', 9 | 'general.type': 'Tipos de Movimento', 10 | wallet: 'Carteira', 11 | 'wallet.account': 'Dinheiro e Outros', 12 | 'wallet.card': 'Cartões', 13 | 'wallet.bank-account': 'Contas Bancárias', 14 | 'wallet.ticket': 'Tickets e Vales', 15 | 'wallet.investment': 'Investimentos', 16 | preview: 'Previsão', 17 | 'preview.input': 'Entradas', 18 | 'preview.output': 'Saídas', 19 | 'preview.alert': 'Alertas', 20 | 'preview.goal': 'Metas', 21 | 'preview.simulation': 'Simulações', 22 | movement: 'Movimentação', 23 | 'movement.revenue': 'Receitas', 24 | 'movement.expense': 'Despesas', 25 | 'movement.confirmation': 'Confirmações', 26 | 'movement.invoice': 'Faturas', 27 | admin: 'Administração', 28 | 'admin.user': 'Usuários', 29 | 'admin.profile': 'Perfis' 30 | } 31 | -------------------------------------------------------------------------------- /quasar/resources/lang/pt-br/app.js: -------------------------------------------------------------------------------- 1 | import { app } from '@devitools/Lang/pt-br' 2 | 3 | /** 4 | * @type {Object} 5 | */ 6 | export default { 7 | ...app, 8 | menu: { 9 | ...app.menu, 10 | balance: { 11 | label: 'Meu saldo', 12 | caption: 'Mostre seu saldo atual' 13 | } 14 | }, 15 | export: { 16 | error: 'Não é possível exportar seus dados' 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /quasar/resources/lang/pt-br/domains.js: -------------------------------------------------------------------------------- 1 | // domains/Admin 2 | import profile from 'source/domains/Admin/Profile/pt-br' 3 | import user from 'source/domains/Admin/User/pt-br' 4 | 5 | // domains/General 6 | import category from 'source/domains/General/Category/pt-br' 7 | import marker from 'source/domains/General/Marker/pt-br' 8 | import type from 'source/domains/General/Type/pt-br' 9 | 10 | // domains/Settings 11 | import settingsAccount from 'source/domains/Settings/Account/pt-br' 12 | 13 | // domains/Report 14 | import report from 'source/domains/Report/pt-br' 15 | 16 | /** 17 | */ 18 | export default { 19 | settings: { 20 | account: settingsAccount 21 | }, 22 | admin: { 23 | profile, user 24 | }, 25 | general: { 26 | category, marker, type 27 | }, 28 | report 29 | } 30 | -------------------------------------------------------------------------------- /quasar/resources/lang/pt-br/index.js: -------------------------------------------------------------------------------- 1 | import { agnostic, auth, geo, validation, worker } from '@devitools/Lang/pt-br' 2 | 3 | import actions from 'resources/lang/pt-br/actions' 4 | import app from 'resources/lang/pt-br/app' 5 | import domains from 'resources/lang/pt-br/domains' 6 | import pages from 'resources/lang/pt-br/pages' 7 | import permissions from 'resources/lang/pt-br/permissions' 8 | 9 | /** 10 | * put all messages together 11 | */ 12 | export default { actions, agnostic, app, auth, domains, geo, pages, permissions, validation, worker } 13 | -------------------------------------------------------------------------------- /quasar/resources/lang/pt-br/pages.js: -------------------------------------------------------------------------------- 1 | /** 2 | * messages to routes 3 | * crumb is used in breadcrumb 4 | * @see AppBreadcrumb 5 | * title is used to update the document.title for update router middleware 6 | * @sse updateTitle 7 | */ 8 | export default { 9 | '/': { 10 | title: 'Login | Devitools' 11 | }, 12 | '/dashboard': { 13 | crumb: 'Início' 14 | }, 15 | '/dashboard/home': { 16 | title: 'Bem vindo ao Devitools' 17 | }, 18 | dashboard: { 19 | index: { 20 | version: 'Versão', 21 | transactionCard: { 22 | title: 'Transações', 23 | subtitle: 'Gerenciar transações', 24 | actionNew: 'Criar uma nova transação', 25 | actionAll: 'Minhas transações' 26 | } 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /quasar/resources/views/Error404.vue: -------------------------------------------------------------------------------- 1 | 30 | 31 | 43 | 44 | 51 | -------------------------------------------------------------------------------- /quasar/resources/views/dashboard/admin/profile/ProfileForm.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 23 | 24 | 29 | -------------------------------------------------------------------------------- /quasar/resources/views/dashboard/admin/profile/ProfileTable.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 23 | 24 | 29 | -------------------------------------------------------------------------------- /quasar/resources/views/dashboard/admin/profile/index.js: -------------------------------------------------------------------------------- 1 | export { domain } from 'source/domains/Admin/Profile/settings' 2 | 3 | /** 4 | * @type {string} 5 | */ 6 | export const path = '/dashboard/admin/profile' 7 | 8 | /** 9 | * @type {string} 10 | */ 11 | export const icon = 'playlist_add_check' 12 | 13 | /** 14 | * @type {function} 15 | */ 16 | export const table = () => import('resources/views/dashboard/admin/profile/ProfileTable.vue') 17 | 18 | /** 19 | * @type {function} 20 | */ 21 | export const form = () => import('resources/views/dashboard/admin/profile/ProfileForm.vue') 22 | -------------------------------------------------------------------------------- /quasar/resources/views/dashboard/admin/user/UserForm.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 23 | 24 | 29 | -------------------------------------------------------------------------------- /quasar/resources/views/dashboard/admin/user/UserTable.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 23 | 24 | 29 | -------------------------------------------------------------------------------- /quasar/resources/views/dashboard/admin/user/index.js: -------------------------------------------------------------------------------- 1 | export { domain } from 'source/domains/Admin/User/settings' 2 | 3 | /** 4 | * @type {string} 5 | */ 6 | export const path = '/dashboard/admin/user' 7 | 8 | /** 9 | * @type {string} 10 | */ 11 | export const icon = 'group' 12 | 13 | /** 14 | * @type {function} 15 | */ 16 | export const table = () => import('resources/views/dashboard/admin/user/UserTable.vue') 17 | 18 | /** 19 | * @type {function} 20 | */ 21 | export const form = () => import('resources/views/dashboard/admin/user/UserForm.vue') 22 | -------------------------------------------------------------------------------- /quasar/resources/views/dashboard/general/category/CategoryForm.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 23 | 24 | 29 | -------------------------------------------------------------------------------- /quasar/resources/views/dashboard/general/category/CategoryTable.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 23 | 24 | 29 | -------------------------------------------------------------------------------- /quasar/resources/views/dashboard/general/category/index.js: -------------------------------------------------------------------------------- 1 | export { domain } from 'source/domains/General/Category/settings' 2 | 3 | /** 4 | * @type {string} 5 | */ 6 | export const path = '/dashboard/general/category' 7 | 8 | /** 9 | * @type {string} 10 | */ 11 | export const icon = 'folder' 12 | 13 | /** 14 | * @type {function} 15 | */ 16 | export const table = () => import('resources/views/dashboard/general/category/CategoryTable.vue') 17 | 18 | /** 19 | * @type {function} 20 | */ 21 | export const form = () => import('resources/views/dashboard/general/category/CategoryForm.vue') 22 | -------------------------------------------------------------------------------- /quasar/resources/views/dashboard/general/marker/MarkerForm.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 23 | 24 | 29 | -------------------------------------------------------------------------------- /quasar/resources/views/dashboard/general/marker/MarkerTable.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 23 | 24 | 29 | -------------------------------------------------------------------------------- /quasar/resources/views/dashboard/general/marker/index.js: -------------------------------------------------------------------------------- 1 | export { domain } from 'source/domains/General/Marker/settings' 2 | 3 | /** 4 | * @type {string} 5 | */ 6 | export const path = '/dashboard/general/marker' 7 | 8 | /** 9 | * @type {string} 10 | */ 11 | export const icon = 'beenhere' 12 | 13 | /** 14 | * @type {function} 15 | */ 16 | export const table = () => import('resources/views/dashboard/general/marker/MarkerTable.vue') 17 | 18 | /** 19 | * @type {function} 20 | */ 21 | export const form = () => import('resources/views/dashboard/general/marker/MarkerForm.vue') 22 | -------------------------------------------------------------------------------- /quasar/resources/views/dashboard/general/type/TypeForm.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 23 | 24 | 29 | -------------------------------------------------------------------------------- /quasar/resources/views/dashboard/general/type/TypeTable.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 23 | 24 | 29 | -------------------------------------------------------------------------------- /quasar/resources/views/dashboard/general/type/index.js: -------------------------------------------------------------------------------- 1 | export { domain } from 'source/domains/General/Type/settings' 2 | 3 | /** 4 | * @type {string} 5 | */ 6 | export const path = '/dashboard/general/type' 7 | 8 | /** 9 | * @type {string} 10 | */ 11 | export const icon = 'local_offer' 12 | 13 | /** 14 | * @type {function} 15 | */ 16 | export const table = () => import('resources/views/dashboard/general/type/TypeTable.vue') 17 | 18 | /** 19 | * @type {function} 20 | */ 21 | export const form = () => import('resources/views/dashboard/general/type/TypeForm.vue') 22 | -------------------------------------------------------------------------------- /quasar/resources/views/dashboard/movement/confirmation/ConfirmationForm.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 23 | 24 | 29 | -------------------------------------------------------------------------------- /quasar/resources/views/dashboard/movement/confirmation/ConfirmationTable.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 23 | 24 | 29 | -------------------------------------------------------------------------------- /quasar/resources/views/dashboard/movement/confirmation/index.js: -------------------------------------------------------------------------------- 1 | export { domain } from 'source/domains/Movement/Confirmation/settings' 2 | 3 | /** 4 | * @type {string} 5 | */ 6 | export const path = '/dashboard/movement/confirmation' 7 | 8 | /** 9 | * @type {string} 10 | */ 11 | export const icon = 'done_all' 12 | 13 | /** 14 | * @type {function} 15 | */ 16 | export const table = () => import('resources/views/dashboard/movement/confirmation/ConfirmationTable.vue') 17 | 18 | /** 19 | * @type {function} 20 | */ 21 | export const form = () => import('resources/views/dashboard/movement/confirmation/ConfirmationForm.vue') 22 | -------------------------------------------------------------------------------- /quasar/resources/views/dashboard/movement/expense/ExpenseForm.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 23 | 24 | 29 | -------------------------------------------------------------------------------- /quasar/resources/views/dashboard/movement/expense/ExpenseTable.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 23 | 24 | 29 | -------------------------------------------------------------------------------- /quasar/resources/views/dashboard/movement/expense/index.js: -------------------------------------------------------------------------------- 1 | export { domain } from 'source/domains/Movement/Expense/settings' 2 | 3 | /** 4 | * @type {string} 5 | */ 6 | export const path = '/dashboard/movement/expense' 7 | 8 | /** 9 | * @type {string} 10 | */ 11 | export const icon = 'money_off' 12 | 13 | /** 14 | * @type {function} 15 | */ 16 | export const table = () => import('resources/views/dashboard/movement/expense/ExpenseTable.vue') 17 | 18 | /** 19 | * @type {function} 20 | */ 21 | export const form = () => import('resources/views/dashboard/movement/expense/ExpenseForm.vue') 22 | -------------------------------------------------------------------------------- /quasar/resources/views/dashboard/movement/invoice/InvoiceForm.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 23 | 24 | 29 | -------------------------------------------------------------------------------- /quasar/resources/views/dashboard/movement/invoice/InvoiceTable.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 23 | 24 | 29 | -------------------------------------------------------------------------------- /quasar/resources/views/dashboard/movement/invoice/index.js: -------------------------------------------------------------------------------- 1 | export { domain } from 'source/domains/Movement/Invoice/settings' 2 | 3 | /** 4 | * @type {string} 5 | */ 6 | export const path = '/dashboard/movement/invoice' 7 | 8 | /** 9 | * @type {string} 10 | */ 11 | export const icon = 'payments' 12 | 13 | /** 14 | * @type {function} 15 | */ 16 | export const table = () => import('resources/views/dashboard/movement/invoice/InvoiceTable.vue') 17 | 18 | /** 19 | * @type {function} 20 | */ 21 | export const form = () => import('resources/views/dashboard/movement/invoice/InvoiceForm.vue') 22 | -------------------------------------------------------------------------------- /quasar/resources/views/dashboard/movement/revenue/RevenueForm.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 23 | 24 | 29 | -------------------------------------------------------------------------------- /quasar/resources/views/dashboard/movement/revenue/RevenueTable.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 23 | 24 | 29 | -------------------------------------------------------------------------------- /quasar/resources/views/dashboard/movement/revenue/index.js: -------------------------------------------------------------------------------- 1 | export { domain } from 'source/domains/Movement/Revenue/settings' 2 | 3 | /** 4 | * @type {string} 5 | */ 6 | export const path = '/dashboard/movement/revenue' 7 | 8 | /** 9 | * @type {string} 10 | */ 11 | export const icon = 'attach_money' 12 | 13 | /** 14 | * @type {function} 15 | */ 16 | export const table = () => import('resources/views/dashboard/movement/revenue/RevenueTable.vue') 17 | 18 | /** 19 | * @type {function} 20 | */ 21 | export const form = () => import('resources/views/dashboard/movement/revenue/RevenueForm.vue') 22 | -------------------------------------------------------------------------------- /quasar/resources/views/dashboard/preview/alert/AlertForm.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 23 | 24 | 29 | -------------------------------------------------------------------------------- /quasar/resources/views/dashboard/preview/alert/AlertTable.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 23 | 24 | 29 | -------------------------------------------------------------------------------- /quasar/resources/views/dashboard/preview/alert/index.js: -------------------------------------------------------------------------------- 1 | export { domain } from 'source/domains/Preview/Alert/settings' 2 | 3 | /** 4 | * @type {string} 5 | */ 6 | export const path = '/dashboard/general/alert' 7 | 8 | /** 9 | * @type {string} 10 | */ 11 | export const icon = 'notifications_active' 12 | 13 | /** 14 | * @type {function} 15 | */ 16 | export const table = () => import('resources/views/dashboard/preview/alert/AlertTable.vue') 17 | 18 | /** 19 | * @type {function} 20 | */ 21 | export const form = () => import('resources/views/dashboard/preview/alert/AlertForm.vue') 22 | -------------------------------------------------------------------------------- /quasar/resources/views/dashboard/preview/goal/GoalForm.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 23 | 24 | 29 | -------------------------------------------------------------------------------- /quasar/resources/views/dashboard/preview/goal/GoalTable.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 23 | 24 | 29 | -------------------------------------------------------------------------------- /quasar/resources/views/dashboard/preview/goal/index.js: -------------------------------------------------------------------------------- 1 | export { domain } from 'source/domains/Preview/Goal/settings' 2 | 3 | /** 4 | * @type {string} 5 | */ 6 | export const path = '/dashboard/general/goal' 7 | 8 | /** 9 | * @type {string} 10 | */ 11 | export const icon = 'military_tech' // follow_the_signs 12 | 13 | /** 14 | * @type {function} 15 | */ 16 | export const table = () => import('resources/views/dashboard/preview/goal/GoalTable.vue') 17 | 18 | /** 19 | * @type {function} 20 | */ 21 | export const form = () => import('resources/views/dashboard/preview/goal/GoalForm.vue') 22 | -------------------------------------------------------------------------------- /quasar/resources/views/dashboard/preview/input/InputForm.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 23 | 24 | 29 | -------------------------------------------------------------------------------- /quasar/resources/views/dashboard/preview/input/InputTable.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 23 | 24 | 29 | -------------------------------------------------------------------------------- /quasar/resources/views/dashboard/preview/input/index.js: -------------------------------------------------------------------------------- 1 | export { domain } from 'source/domains/Preview/Input/settings' 2 | 3 | /** 4 | * @type {string} 5 | */ 6 | export const path = '/dashboard/general/input' 7 | 8 | /** 9 | * @type {string} 10 | */ 11 | export const icon = 'attach_money' 12 | 13 | /** 14 | * @type {function} 15 | */ 16 | export const table = () => import('resources/views/dashboard/preview/input/InputTable.vue') 17 | 18 | /** 19 | * @type {function} 20 | */ 21 | export const form = () => import('resources/views/dashboard/preview/input/InputForm.vue') 22 | -------------------------------------------------------------------------------- /quasar/resources/views/dashboard/preview/output/OutputForm.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 23 | 24 | 29 | -------------------------------------------------------------------------------- /quasar/resources/views/dashboard/preview/output/OutputTable.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 23 | 24 | 29 | -------------------------------------------------------------------------------- /quasar/resources/views/dashboard/preview/output/index.js: -------------------------------------------------------------------------------- 1 | export { domain } from 'source/domains/Preview/Output/settings' 2 | 3 | /** 4 | * @type {string} 5 | */ 6 | export const path = '/dashboard/general/output' 7 | 8 | /** 9 | * @type {string} 10 | */ 11 | export const icon = 'money_off' 12 | 13 | /** 14 | * @type {function} 15 | */ 16 | export const table = () => import('resources/views/dashboard/preview/output/OutputTable.vue') 17 | 18 | /** 19 | * @type {function} 20 | */ 21 | export const form = () => import('resources/views/dashboard/preview/output/OutputForm.vue') 22 | -------------------------------------------------------------------------------- /quasar/resources/views/dashboard/preview/simulation/SimulationForm.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 23 | 24 | 29 | -------------------------------------------------------------------------------- /quasar/resources/views/dashboard/preview/simulation/SimulationTable.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 23 | 24 | 29 | -------------------------------------------------------------------------------- /quasar/resources/views/dashboard/preview/simulation/index.js: -------------------------------------------------------------------------------- 1 | export { domain } from 'source/domains/Preview/Simulation/settings' 2 | 3 | /** 4 | * @type {string} 5 | */ 6 | export const path = '/dashboard/general/simulation' 7 | 8 | /** 9 | * @type {string} 10 | */ 11 | export const icon = 'calendar_today' 12 | 13 | /** 14 | * @type {function} 15 | */ 16 | export const table = () => import('resources/views/dashboard/preview/simulation/SimulationTable.vue') 17 | 18 | /** 19 | * @type {function} 20 | */ 21 | export const form = () => import('resources/views/dashboard/preview/simulation/SimulationForm.vue') 22 | -------------------------------------------------------------------------------- /quasar/resources/views/dashboard/report/ExampleReport.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 21 | 22 | 25 | -------------------------------------------------------------------------------- /quasar/resources/views/dashboard/settings/MyAccountForm.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 23 | 24 | 29 | -------------------------------------------------------------------------------- /quasar/resources/views/dashboard/wallet/account/AccountForm.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 23 | 24 | 29 | -------------------------------------------------------------------------------- /quasar/resources/views/dashboard/wallet/account/AccountTable.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 23 | 24 | 29 | -------------------------------------------------------------------------------- /quasar/resources/views/dashboard/wallet/account/index.js: -------------------------------------------------------------------------------- 1 | export { domain } from 'source/domains/Wallet/Account/settings' 2 | 3 | /** 4 | * @type {string} 5 | */ 6 | export const path = '/dashboard/wallet/account' 7 | 8 | /** 9 | * @type {string} 10 | */ 11 | export const icon = 'request_quote' 12 | 13 | /** 14 | * @type {function} 15 | */ 16 | export const table = () => import('resources/views/dashboard/wallet/account/AccountTable.vue') 17 | 18 | /** 19 | * @type {function} 20 | */ 21 | export const form = () => import('resources/views/dashboard/wallet/account/AccountForm.vue') 22 | -------------------------------------------------------------------------------- /quasar/resources/views/dashboard/wallet/bankAccount/BankAccountForm.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 23 | 24 | 29 | -------------------------------------------------------------------------------- /quasar/resources/views/dashboard/wallet/bankAccount/BankAccountTable.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 23 | 24 | 29 | -------------------------------------------------------------------------------- /quasar/resources/views/dashboard/wallet/bankAccount/index.js: -------------------------------------------------------------------------------- 1 | export { domain } from 'source/domains/Wallet/BankAccount/settings' 2 | 3 | /** 4 | * @type {string} 5 | */ 6 | export const path = '/dashboard/wallet/bank-account' 7 | 8 | /** 9 | * @type {string} 10 | */ 11 | export const icon = 'account_balance' 12 | 13 | /** 14 | * @type {function} 15 | */ 16 | export const table = () => import('resources/views/dashboard/wallet/bankAccount/BankAccountTable.vue') 17 | 18 | /** 19 | * @type {function} 20 | */ 21 | export const form = () => import('resources/views/dashboard/wallet/bankAccount/BankAccountForm.vue') 22 | -------------------------------------------------------------------------------- /quasar/resources/views/dashboard/wallet/card/CardForm.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 23 | 24 | 29 | -------------------------------------------------------------------------------- /quasar/resources/views/dashboard/wallet/card/CardTable.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 23 | 24 | 29 | -------------------------------------------------------------------------------- /quasar/resources/views/dashboard/wallet/card/index.js: -------------------------------------------------------------------------------- 1 | export { domain } from 'source/domains/Wallet/Card/settings' 2 | 3 | /** 4 | * @Card {string} 5 | */ 6 | export const path = '/dashboard/wallet/card' 7 | 8 | /** 9 | * @Card {string} 10 | */ 11 | export const icon = 'credit_card' 12 | 13 | /** 14 | * @Card {function} 15 | */ 16 | export const table = () => import('resources/views/dashboard/wallet/card/CardTable.vue') 17 | 18 | /** 19 | * @Card {function} 20 | */ 21 | export const form = () => import('resources/views/dashboard/wallet/card/CardForm.vue') 22 | -------------------------------------------------------------------------------- /quasar/resources/views/dashboard/wallet/investment/InvestmentForm.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 23 | 24 | 29 | -------------------------------------------------------------------------------- /quasar/resources/views/dashboard/wallet/investment/InvestmentTable.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 23 | 24 | 29 | -------------------------------------------------------------------------------- /quasar/resources/views/dashboard/wallet/investment/index.js: -------------------------------------------------------------------------------- 1 | export { domain } from 'source/domains/Wallet/Investment/settings' 2 | 3 | /** 4 | * @type {string} 5 | */ 6 | export const path = '/dashboard/wallet/investment' 7 | 8 | /** 9 | * @type {string} 10 | */ 11 | export const icon = 'insights' 12 | 13 | /** 14 | * @type {function} 15 | */ 16 | export const table = () => import('app/resources/views/dashboard/wallet/investment/InvestmentTable.vue') 17 | 18 | /** 19 | * @type {function} 20 | */ 21 | export const form = () => import('app/resources/views/dashboard/wallet/investment/InvestmentForm.vue') 22 | -------------------------------------------------------------------------------- /quasar/resources/views/dashboard/wallet/ticket/TicketForm.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 23 | 24 | 29 | -------------------------------------------------------------------------------- /quasar/resources/views/dashboard/wallet/ticket/TicketTable.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 23 | 24 | 29 | -------------------------------------------------------------------------------- /quasar/resources/views/dashboard/wallet/ticket/index.js: -------------------------------------------------------------------------------- 1 | export { domain } from 'source/domains/Wallet/Ticket/settings' 2 | 3 | /** 4 | * @type {string} 5 | */ 6 | export const path = '/dashboard/wallet/ticket' 7 | 8 | /** 9 | * @type {string} 10 | */ 11 | export const icon = 'redeem' 12 | 13 | /** 14 | * @type {function} 15 | */ 16 | export const table = () => import('resources/views/dashboard/wallet/ticket/TicketTable.vue') 17 | 18 | /** 19 | * @type {function} 20 | */ 21 | export const form = () => import('resources/views/dashboard/wallet/ticket/TicketForm.vue') 22 | -------------------------------------------------------------------------------- /quasar/routes/auth.js: -------------------------------------------------------------------------------- 1 | import { checkSession, checkIsAlreadyConnected, checkPermission } from 'source/modules/Auth/router/middleware' 2 | import { otherwise } from 'src/router' 3 | import { signIn, signUp, layout } from 'source/modules/Auth/components' 4 | /** 5 | * @param {AppRouter} $router 6 | */ 7 | export default ($router) => { 8 | $router.group(otherwise, layout, (group) => { 9 | group.route('', signIn, { name: 'sign-in', public: true }) 10 | group.route('/sign-up', signUp, { name: 'sign-up', public: true }) 11 | }) 12 | 13 | // check user is logged in app 14 | $router.beforeThis(otherwise, checkIsAlreadyConnected) 15 | 16 | // check the user session 17 | $router.beforeEach(checkSession) 18 | 19 | // check the permission to route 20 | $router.beforeEach(checkPermission) 21 | } 22 | -------------------------------------------------------------------------------- /quasar/routes/dashboard/admin.js: -------------------------------------------------------------------------------- 1 | import * as profile from 'resources/views/dashboard/admin/profile' 2 | import * as user from 'resources/views/dashboard/admin/user' 3 | 4 | /** 5 | * @param {AppRouterGroup} $router 6 | */ 7 | export default ($router) => { 8 | $router.resource(profile) 9 | $router.resource(user) 10 | } 11 | -------------------------------------------------------------------------------- /quasar/routes/dashboard/general.js: -------------------------------------------------------------------------------- 1 | import * as category from 'resources/views/dashboard/general/category' 2 | import * as marker from 'resources/views/dashboard/general/marker' 3 | import * as type from 'resources/views/dashboard/general/type' 4 | 5 | /** 6 | * @param {AppRouterGroup} $router 7 | */ 8 | export default ($router) => { 9 | $router.resource(category) 10 | $router.resource(marker) 11 | $router.resource(type) 12 | } 13 | -------------------------------------------------------------------------------- /quasar/source/domains/Admin/Profile/Schema/ProfileService.ts: -------------------------------------------------------------------------------- 1 | import Rest from '@devitools/Services/Rest' 2 | import { resource } from '../settings' 3 | 4 | /** 5 | * @type {ProfileService} 6 | */ 7 | export default class ProfileService extends Rest { 8 | /** 9 | * @type {String} 10 | */ 11 | resource = resource 12 | } 13 | -------------------------------------------------------------------------------- /quasar/source/domains/Admin/Profile/en-us.js: -------------------------------------------------------------------------------- 1 | import { SCOPES } from '@devitools/Agnostic/enum' 2 | 3 | /** 4 | */ 5 | export default { 6 | routes: { 7 | group: { 8 | crumb: 'Admin / Profiles' 9 | }, 10 | [SCOPES.SCOPE_INDEX]: { 11 | title: 'Profiles' 12 | }, 13 | [SCOPES.SCOPE_TRASH]: { 14 | title: 'Profile Trash', 15 | crumb: 'Trash' 16 | }, 17 | [SCOPES.SCOPE_ADD]: { 18 | title: 'Create Profile', 19 | crumb: 'Create' 20 | }, 21 | [SCOPES.SCOPE_VIEW]: { 22 | title: 'View Profile', 23 | crumb: 'View' 24 | }, 25 | [SCOPES.SCOPE_EDIT]: { 26 | title: 'Edit Profile', 27 | crumb: 'Edit' 28 | } 29 | }, 30 | print: { 31 | title: 'Profile Printing' 32 | }, 33 | fields: { 34 | // [primaryKey]: 'Id', 35 | name: 'Name', 36 | reference: { 37 | label: 'Reference', 38 | options: [ 39 | { value: 'admin', label: 'ADMINISTRATOR' }, 40 | { value: 'regular', label: 'REGULAR' } 41 | ] 42 | }, 43 | permissions: { 44 | label: 'Permissions' 45 | } 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /quasar/source/domains/Admin/Profile/pt-br.js: -------------------------------------------------------------------------------- 1 | import { SCOPES } from '@devitools/Agnostic/enum' 2 | 3 | /** 4 | */ 5 | export default { 6 | routes: { 7 | group: { 8 | crumb: 'Administração / Perfils' 9 | }, 10 | [SCOPES.SCOPE_INDEX]: { 11 | title: 'Perfis' 12 | }, 13 | [SCOPES.SCOPE_Trash]: { 14 | title: 'Perfil Lixeira', 15 | crumb: 'Lixeira' 16 | }, 17 | [SCOPES.SCOPE_ADD]: { 18 | title: 'Create Perfil', 19 | crumb: 'Create' 20 | }, 21 | [SCOPES.SCOPE_View]: { 22 | title: 'Ver Perfil', 23 | crumb: 'Ver' 24 | }, 25 | [SCOPES.SCOPE_Edit]: { 26 | title: 'Editar Perfil', 27 | crumb: 'Editar' 28 | } 29 | }, 30 | print: { 31 | title: 'Impressão de Perfil' 32 | }, 33 | fields: { 34 | // [primaryKey]: 'Id', 35 | name: 'Nome', 36 | reference: { 37 | label: 'Referência', 38 | options: [ 39 | { value: 'admin', label: 'ADMINISTRADOR' }, 40 | { value: 'regular', label: 'REGULAR' } 41 | ] 42 | }, 43 | permissions: { 44 | label: 'Permissões' 45 | } 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /quasar/source/domains/Admin/Profile/settings.js: -------------------------------------------------------------------------------- 1 | /** @type {string} */ 2 | export const domain = 'admin.profile' 3 | 4 | /** @type {string} */ 5 | export const resource = '/admin/profile' 6 | -------------------------------------------------------------------------------- /quasar/source/domains/Admin/User/Schema/UserService.ts: -------------------------------------------------------------------------------- 1 | import Rest from '@devitools/Services/Rest' 2 | import { resource } from '../settings' 3 | 4 | /** 5 | * @type {UserService} 6 | */ 7 | export default class UserService extends Rest { 8 | /** 9 | * @type {String} 10 | */ 11 | resource = resource 12 | } 13 | -------------------------------------------------------------------------------- /quasar/source/domains/Admin/User/settings.js: -------------------------------------------------------------------------------- 1 | /** @type {string} */ 2 | export const domain = 'admin.user' 3 | 4 | /** @type {string} */ 5 | export const resource = '/admin/user' 6 | -------------------------------------------------------------------------------- /quasar/source/domains/Auth/Mixin/Session.js: -------------------------------------------------------------------------------- 1 | import { primaryKey } from 'src/settings/schema' 2 | 3 | /** 4 | */ 5 | export default { 6 | /** 7 | */ 8 | data: () => ({ 9 | userId: primaryKey 10 | }), 11 | /** 12 | */ 13 | computed: { 14 | /** 15 | * @returns {string} 16 | */ 17 | user () { 18 | if (!this.$store.getters['auth/getUser']) { 19 | return '' 20 | } 21 | const user = this.$store.getters['auth/getUser'] 22 | return String(user[this.userId]) 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /quasar/source/domains/Auth/Service/AuthService.js: -------------------------------------------------------------------------------- 1 | import Http from '@devitools/Services/Http' 2 | 3 | /** 4 | * @type {AuthService} 5 | */ 6 | export default class AuthService extends Http { 7 | /** 8 | * @type {string} 9 | */ 10 | path = '/api' 11 | 12 | /** 13 | * @param {string} username 14 | * @param {string} password 15 | * @return {Promise<*>} 16 | */ 17 | signIn (username, password) { 18 | return this.post('/v1/auth/sign-in', { username, password }) 19 | } 20 | 21 | /** 22 | * @param {Object} form 23 | * @returns {Promise} 24 | */ 25 | signUp (form) { 26 | return this.post('/v1/auth/sign-up', form) 27 | } 28 | 29 | /** 30 | * @returns {Promise} 31 | */ 32 | refresh () { 33 | return this.get('/v1/auth/refresh') 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /quasar/source/domains/Auth/Service/index.js: -------------------------------------------------------------------------------- 1 | import AuthService from '@devitools/Services/Http' 2 | import { $store } from 'src/store' 3 | 4 | /** 5 | * @returns {Promise} 6 | */ 7 | export function me () { 8 | return AuthService.build().get('api/v1/auth/me') 9 | .then(({ data }) => data) 10 | .then((user) => $store.dispatch('auth/updateUser', user)) 11 | } 12 | -------------------------------------------------------------------------------- /quasar/source/domains/General/Category/Schema/CategoryService.ts: -------------------------------------------------------------------------------- 1 | import Rest from '@devitools/Services/Rest' 2 | import { resource } from '../settings' 3 | 4 | /** 5 | * @class {CategoryService} 6 | */ 7 | export default class CategoryService extends Rest { 8 | /** 9 | * @type {string} 10 | */ 11 | resource = resource 12 | } 13 | -------------------------------------------------------------------------------- /quasar/source/domains/General/Category/settings.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @type {string} 3 | */ 4 | export const domain = 'general.category' 5 | 6 | /** @type {string} */ 7 | export const resource = '/general/category' 8 | -------------------------------------------------------------------------------- /quasar/source/domains/General/Marker/Schema/MarkerSchema.ts: -------------------------------------------------------------------------------- 1 | import Schema from '@devitools/Agnostic/Schema' 2 | 3 | import MarkerService from './MarkerService' 4 | import { domain } from '../settings' 5 | 6 | /** 7 | * @class {MarkerSchema} 8 | */ 9 | export default class MarkerSchema extends Schema { 10 | /** 11 | * @type {string} 12 | */ 13 | static domain = domain 14 | 15 | /** 16 | * @type {MarkerService} 17 | */ 18 | service = MarkerService 19 | 20 | /** 21 | * Call schema builder method 22 | */ 23 | construct () { 24 | // the magic happens 25 | 26 | this.addField('name') 27 | .fieldIsInputPlan() 28 | .fieldTableShow() 29 | .fieldTableWhere() 30 | .fieldFormAutofocus() 31 | .fieldFormFill() 32 | .validationRequired() 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /quasar/source/domains/General/Marker/Schema/MarkerService.ts: -------------------------------------------------------------------------------- 1 | import Rest from '@devitools/Services/Rest' 2 | import { resource } from '../settings' 3 | 4 | /** 5 | * @class {MarkerService} 6 | */ 7 | export default class MarkerService extends Rest { 8 | /** 9 | * @type {string} 10 | */ 11 | resource = resource 12 | } 13 | -------------------------------------------------------------------------------- /quasar/source/domains/General/Marker/en-us.js: -------------------------------------------------------------------------------- 1 | import { SCOPES } from '@devitools/Agnostic/enum' 2 | 3 | /** 4 | */ 5 | export default { 6 | routes: { 7 | group: { 8 | crumb: 'Organizers / Labels' 9 | }, 10 | [SCOPES.SCOPE_INDEX]: { 11 | title: 'Labels' 12 | }, 13 | [SCOPES.SCOPE_TRASH]: { 14 | title: 'Trash Labels', 15 | crumb: 'Trash' 16 | }, 17 | [SCOPES.SCOPE_ADD]: { 18 | title: 'Create Label', 19 | crumb: 'Create' 20 | }, 21 | [SCOPES.SCOPE_VIEW]: { 22 | title: 'View Label', 23 | crumb: 'View' 24 | }, 25 | [SCOPES.SCOPE_EDIT]: { 26 | title: 'Edit Marker', 27 | crumb: 'Edit' 28 | } 29 | }, 30 | print: { 31 | title: 'Print Marker' 32 | }, 33 | fields: { 34 | name: { 35 | label: 'Name', 36 | placeholder: 'ex.: bakery, pharmacy' 37 | } 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /quasar/source/domains/General/Marker/pt-br.js: -------------------------------------------------------------------------------- 1 | import { SCOPES } from '@devitools/Agnostic/enum' 2 | 3 | /** 4 | */ 5 | export default { 6 | routes: { 7 | group: { 8 | crumb: 'Organizadores / Marcadores' 9 | }, 10 | [SCOPES.SCOPE_INDEX]: { 11 | title: 'Marcadores' 12 | }, 13 | [SCOPES.SCOPE_TRASH]: { 14 | title: 'Lixeira dos Marcadores', 15 | crumb: 'Lixeira' 16 | }, 17 | [SCOPES.SCOPE_ADD]: { 18 | title: 'Criar Marcador', 19 | crumb: 'Criar' 20 | }, 21 | [SCOPES.SCOPE_VIEW]: { 22 | title: 'Ver Marcador', 23 | crumb: 'Ver' 24 | }, 25 | [SCOPES.SCOPE_EDIT]: { 26 | title: 'Editar Marcador', 27 | crumb: 'Editar' 28 | } 29 | }, 30 | print: { 31 | title: 'Impressão de Marcador' 32 | }, 33 | fields: { 34 | // [primaryKey]: 'Id', 35 | name: { 36 | label: 'Nome', 37 | placeholder: 'ex.: padaria, farmácia' 38 | } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /quasar/source/domains/General/Marker/settings.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @type {string} 3 | */ 4 | export const domain = 'general.marker' 5 | 6 | /** @type {string} */ 7 | export const resource = '/general/marker' 8 | -------------------------------------------------------------------------------- /quasar/source/domains/General/Type/Schema/TypeSchema.ts: -------------------------------------------------------------------------------- 1 | import Schema from '@devitools/Agnostic/Schema' 2 | 3 | import TypeService from './TypeService' 4 | import { domain } from '../settings' 5 | 6 | /** 7 | * @class {TypeSchema} 8 | */ 9 | export default class TypeSchema extends Schema { 10 | /** 11 | * @type {string} 12 | */ 13 | static domain = domain 14 | 15 | /** 16 | * @type {TypeService} 17 | */ 18 | service = TypeService 19 | 20 | /** 21 | * Call schema builder method 22 | */ 23 | construct () { 24 | // the magic happens 25 | 26 | this.addField('name') 27 | .fieldIsInputPlan() 28 | .fieldTableShow() 29 | .fieldTableWhere() 30 | .fieldFormAutofocus() 31 | .fieldFormFill() 32 | .validationRequired() 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /quasar/source/domains/General/Type/Schema/TypeService.ts: -------------------------------------------------------------------------------- 1 | import Rest from '@devitools/Services/Rest' 2 | import { resource } from '../settings' 3 | 4 | /** 5 | * @class {TypeService} 6 | */ 7 | export default class TypeService extends Rest { 8 | /** 9 | * @type {string} 10 | */ 11 | resource = resource 12 | } 13 | -------------------------------------------------------------------------------- /quasar/source/domains/General/Type/en-us.js: -------------------------------------------------------------------------------- 1 | import { SCOPES } from '@devitools/Agnostic/enum' 2 | 3 | /** 4 | */ 5 | export default { 6 | routes: { 7 | group: { 8 | crumb: 'Organizers / Labels Types' 9 | }, 10 | [SCOPES.SCOPE_INDEX]: { 11 | title: 'Labels Types' 12 | }, 13 | [SCOPES.SCOPE_TRASH]: { 14 | title: 'Trash Labels Types', 15 | crumb: 'Trash' 16 | }, 17 | [SCOPES.SCOPE_ADD]: { 18 | title: 'Create Label Type', 19 | crumb: 'Create' 20 | }, 21 | [SCOPES.SCOPE_VIEW]: { 22 | title: 'View Label Type', 23 | crumb: 'View' 24 | }, 25 | [SCOPES.SCOPE_EDIT]: { 26 | title: 'Edit Label Type', 27 | crumb: 'Edit' 28 | } 29 | }, 30 | print: { 31 | title: 'Print Label Type' 32 | }, 33 | fields: { 34 | name: { 35 | label: 'Name', 36 | placeholder: 'ex.: food, medicines' 37 | } 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /quasar/source/domains/General/Type/pt-br.js: -------------------------------------------------------------------------------- 1 | import { SCOPES } from '@devitools/Agnostic/enum' 2 | 3 | /** 4 | */ 5 | export default { 6 | routes: { 7 | group: { 8 | crumb: 'Organizadores / Tipos de Marcadores' 9 | }, 10 | [SCOPES.SCOPE_INDEX]: { 11 | title: 'Tipos de Marcadores' 12 | }, 13 | [SCOPES.SCOPE_TRASH]: { 14 | title: 'Lixeira dos Tipos de Marcadores', 15 | crumb: 'Lixeira' 16 | }, 17 | [SCOPES.SCOPE_ADD]: { 18 | title: 'Criar Marcador', 19 | crumb: 'Criar' 20 | }, 21 | [SCOPES.SCOPE_VIEW]: { 22 | title: 'Ver Marcador', 23 | crumb: 'Ver' 24 | }, 25 | [SCOPES.SCOPE_EDIT]: { 26 | title: 'Editar Marcador', 27 | crumb: 'Editar' 28 | } 29 | }, 30 | print: { 31 | title: 'Impressão de Marcador' 32 | }, 33 | fields: { 34 | name: { 35 | label: 'Nome', 36 | placeholder: 'ex.: alimentação, medicamentos' 37 | } 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /quasar/source/domains/General/Type/settings.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @type {string} 3 | */ 4 | export const domain = 'general.type' 5 | 6 | /** @type {string} */ 7 | export const resource = '/general/type' 8 | -------------------------------------------------------------------------------- /quasar/source/domains/Movement/Confirmation/Schema/ConfirmationSchema.ts: -------------------------------------------------------------------------------- 1 | import Schema from '@devitools/Agnostic/Schema' 2 | 3 | import ConfirmationService from './ConfirmationService' 4 | import { domain } from '../settings' 5 | 6 | /** 7 | * @class {ConfirmationSchema} 8 | */ 9 | export default class ConfirmationSchema extends Schema { 10 | /** 11 | * @type {string} 12 | */ 13 | static domain = domain 14 | 15 | /** 16 | * @type {ConfirmationService} 17 | */ 18 | service = ConfirmationService 19 | 20 | /** 21 | * Call schema builder method 22 | */ 23 | construct (): void { 24 | // the magic happens 25 | 26 | this.addField('name') 27 | .fieldTableShow() 28 | .fieldTableWhere() 29 | .fieldFormAutofocus() 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /quasar/source/domains/Movement/Confirmation/Schema/ConfirmationService.ts: -------------------------------------------------------------------------------- 1 | import Rest from '@devitools/Services/Rest' 2 | import { resource } from '../settings' 3 | 4 | /** 5 | * @class {ConfirmationService} 6 | */ 7 | export default class ConfirmationService extends Rest { 8 | /** 9 | * @type {string} 10 | */ 11 | resource = resource 12 | } 13 | -------------------------------------------------------------------------------- /quasar/source/domains/Movement/Confirmation/en-us.js: -------------------------------------------------------------------------------- 1 | import { SCOPES } from '@devitools/Agnostic/enum' 2 | 3 | /** 4 | */ 5 | export default { 6 | routes: { 7 | group: { 8 | crumb: 'General / Products' 9 | }, 10 | [SCOPES.SCOPE_INDEX]: { 11 | title: 'Products' 12 | }, 13 | [SCOPES.SCOPE_TRASH]: { 14 | title: 'Product Trash', 15 | crumb: 'Trash' 16 | }, 17 | [SCOPES.SCOPE_ADD]: { 18 | title: 'Create Product', 19 | crumb: 'Create' 20 | }, 21 | [SCOPES.SCOPE_VIEW]: { 22 | title: 'View Product', 23 | crumb: 'View' 24 | }, 25 | [SCOPES.SCOPE_EDIT]: { 26 | title: 'Edit Product', 27 | crumb: 'Edit' 28 | } 29 | }, 30 | print: { 31 | title: 'Product Printing' 32 | }, 33 | fields: { 34 | // [primaryKey]: 'Id', 35 | name: { 36 | label: 'Name', 37 | placeholder: 'Name of your product' 38 | } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /quasar/source/domains/Movement/Confirmation/pt-br.js: -------------------------------------------------------------------------------- 1 | import { SCOPES } from '@devitools/Agnostic/enum' 2 | 3 | /** 4 | */ 5 | export default { 6 | routes: { 7 | group: { 8 | crumb: 'Geral / Produtos' 9 | }, 10 | [SCOPES.SCOPE_INDEX]: { 11 | title: 'Produtos' 12 | }, 13 | [SCOPES.SCOPE_TRASH]: { 14 | title: 'Lixeira dos Produtos', 15 | crumb: 'Lixeira' 16 | }, 17 | [SCOPES.SCOPE_ADD]: { 18 | title: 'Criar Produto', 19 | crumb: 'Criar' 20 | }, 21 | [SCOPES.SCOPE_VIEW]: { 22 | title: 'Ver Produto', 23 | crumb: 'Ver' 24 | }, 25 | [SCOPES.SCOPE_EDIT]: { 26 | title: 'Editar Produto', 27 | crumb: 'Editar' 28 | } 29 | }, 30 | print: { 31 | title: 'Impressão de Produto' 32 | }, 33 | fields: { 34 | // [primaryKey]: 'Id', 35 | name: { 36 | label: 'Nome', 37 | placeholder: 'Nome do seu produto' 38 | } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /quasar/source/domains/Movement/Confirmation/settings.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @type {string} 3 | */ 4 | export const domain = 'movement.confirmation' 5 | 6 | /** @type {string} */ 7 | export const resource = '/movement/confirmation' 8 | -------------------------------------------------------------------------------- /quasar/source/domains/Movement/Expense/Schema/ExpenseSchema.ts: -------------------------------------------------------------------------------- 1 | import Schema from '@devitools/Agnostic/Schema' 2 | 3 | import ExpenseService from './ExpenseService' 4 | import { domain } from '../settings' 5 | 6 | /** 7 | * @class {ExpenseSchema} 8 | */ 9 | export default class ExpenseSchema extends Schema { 10 | /** 11 | * @type {string} 12 | */ 13 | static domain = domain 14 | 15 | /** 16 | * @type {ExpenseService} 17 | */ 18 | service = ExpenseService 19 | 20 | /** 21 | * Call schema builder method 22 | */ 23 | construct (): void { 24 | // the magic happens 25 | 26 | this.addField('name') 27 | .fieldTableShow() 28 | .fieldTableWhere() 29 | .fieldFormAutofocus() 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /quasar/source/domains/Movement/Expense/Schema/ExpenseService.ts: -------------------------------------------------------------------------------- 1 | import Rest from '@devitools/Services/Rest' 2 | import { resource } from '../settings' 3 | 4 | /** 5 | * @class {ExpenseService} 6 | */ 7 | export default class ExpenseService extends Rest { 8 | /** 9 | * @type {string} 10 | */ 11 | resource = resource 12 | } 13 | -------------------------------------------------------------------------------- /quasar/source/domains/Movement/Expense/en-us.js: -------------------------------------------------------------------------------- 1 | import { SCOPES } from '@devitools/Agnostic/enum' 2 | 3 | /** 4 | */ 5 | export default { 6 | routes: { 7 | group: { 8 | crumb: 'General / Products' 9 | }, 10 | [SCOPES.SCOPE_INDEX]: { 11 | title: 'Products' 12 | }, 13 | [SCOPES.SCOPE_TRASH]: { 14 | title: 'Product Trash', 15 | crumb: 'Trash' 16 | }, 17 | [SCOPES.SCOPE_ADD]: { 18 | title: 'Create Product', 19 | crumb: 'Create' 20 | }, 21 | [SCOPES.SCOPE_VIEW]: { 22 | title: 'View Product', 23 | crumb: 'View' 24 | }, 25 | [SCOPES.SCOPE_EDIT]: { 26 | title: 'Edit Product', 27 | crumb: 'Edit' 28 | } 29 | }, 30 | print: { 31 | title: 'Product Printing' 32 | }, 33 | fields: { 34 | // [primaryKey]: 'Id', 35 | name: { 36 | label: 'Name', 37 | placeholder: 'Name of your product' 38 | } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /quasar/source/domains/Movement/Expense/pt-br.js: -------------------------------------------------------------------------------- 1 | import { SCOPES } from '@devitools/Agnostic/enum' 2 | 3 | /** 4 | */ 5 | export default { 6 | routes: { 7 | group: { 8 | crumb: 'Geral / Produtos' 9 | }, 10 | [SCOPES.SCOPE_INDEX]: { 11 | title: 'Produtos' 12 | }, 13 | [SCOPES.SCOPE_TRASH]: { 14 | title: 'Lixeira dos Produtos', 15 | crumb: 'Lixeira' 16 | }, 17 | [SCOPES.SCOPE_ADD]: { 18 | title: 'Criar Produto', 19 | crumb: 'Criar' 20 | }, 21 | [SCOPES.SCOPE_VIEW]: { 22 | title: 'Ver Produto', 23 | crumb: 'Ver' 24 | }, 25 | [SCOPES.SCOPE_EDIT]: { 26 | title: 'Editar Produto', 27 | crumb: 'Editar' 28 | } 29 | }, 30 | print: { 31 | title: 'Impressão de Produto' 32 | }, 33 | fields: { 34 | // [primaryKey]: 'Id', 35 | name: { 36 | label: 'Nome', 37 | placeholder: 'Nome do seu produto' 38 | } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /quasar/source/domains/Movement/Expense/settings.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @type {string} 3 | */ 4 | export const domain = 'movement.expense' 5 | 6 | /** @type {string} */ 7 | export const resource = '/movement/expense' 8 | -------------------------------------------------------------------------------- /quasar/source/domains/Movement/Invoice/Schema/InvoiceSchema.ts: -------------------------------------------------------------------------------- 1 | import Schema from '@devitools/Agnostic/Schema' 2 | 3 | import InvoiceService from './InvoiceService' 4 | import { domain } from '../settings' 5 | 6 | /** 7 | * @class {InvoiceSchema} 8 | */ 9 | export default class InvoiceSchema extends Schema { 10 | /** 11 | * @type {string} 12 | */ 13 | static domain = domain 14 | 15 | /** 16 | * @type {InvoiceService} 17 | */ 18 | service = InvoiceService 19 | 20 | /** 21 | * Call schema builder method 22 | */ 23 | construct (): void { 24 | // the magic happens 25 | 26 | this.addField('name') 27 | .fieldTableShow() 28 | .fieldTableWhere() 29 | .fieldFormAutofocus() 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /quasar/source/domains/Movement/Invoice/Schema/InvoiceService.ts: -------------------------------------------------------------------------------- 1 | import Rest from '@devitools/Services/Rest' 2 | import { resource } from '../settings' 3 | 4 | /** 5 | * @class {InvoiceService} 6 | */ 7 | export default class InvoiceService extends Rest { 8 | /** 9 | * @type {string} 10 | */ 11 | resource = resource 12 | } 13 | -------------------------------------------------------------------------------- /quasar/source/domains/Movement/Invoice/en-us.js: -------------------------------------------------------------------------------- 1 | import { SCOPES } from '@devitools/Agnostic/enum' 2 | 3 | /** 4 | */ 5 | export default { 6 | routes: { 7 | group: { 8 | crumb: 'General / Products' 9 | }, 10 | [SCOPES.SCOPE_INDEX]: { 11 | title: 'Products' 12 | }, 13 | [SCOPES.SCOPE_TRASH]: { 14 | title: 'Product Trash', 15 | crumb: 'Trash' 16 | }, 17 | [SCOPES.SCOPE_ADD]: { 18 | title: 'Create Product', 19 | crumb: 'Create' 20 | }, 21 | [SCOPES.SCOPE_VIEW]: { 22 | title: 'View Product', 23 | crumb: 'View' 24 | }, 25 | [SCOPES.SCOPE_EDIT]: { 26 | title: 'Edit Product', 27 | crumb: 'Edit' 28 | } 29 | }, 30 | print: { 31 | title: 'Product Printing' 32 | }, 33 | fields: { 34 | // [primaryKey]: 'Id', 35 | name: { 36 | label: 'Name', 37 | placeholder: 'Name of your product' 38 | } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /quasar/source/domains/Movement/Invoice/pt-br.js: -------------------------------------------------------------------------------- 1 | import { SCOPES } from '@devitools/Agnostic/enum' 2 | 3 | /** 4 | */ 5 | export default { 6 | routes: { 7 | group: { 8 | crumb: 'Geral / Produtos' 9 | }, 10 | [SCOPES.SCOPE_INDEX]: { 11 | title: 'Produtos' 12 | }, 13 | [SCOPES.SCOPE_TRASH]: { 14 | title: 'Lixeira dos Produtos', 15 | crumb: 'Lixeira' 16 | }, 17 | [SCOPES.SCOPE_ADD]: { 18 | title: 'Criar Produto', 19 | crumb: 'Criar' 20 | }, 21 | [SCOPES.SCOPE_VIEW]: { 22 | title: 'Ver Produto', 23 | crumb: 'Ver' 24 | }, 25 | [SCOPES.SCOPE_EDIT]: { 26 | title: 'Editar Produto', 27 | crumb: 'Editar' 28 | } 29 | }, 30 | print: { 31 | title: 'Impressão de Produto' 32 | }, 33 | fields: { 34 | // [primaryKey]: 'Id', 35 | name: { 36 | label: 'Nome', 37 | placeholder: 'Nome do seu produto' 38 | } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /quasar/source/domains/Movement/Invoice/settings.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @type {string} 3 | */ 4 | export const domain = 'movement.invoice' 5 | 6 | /** @type {string} */ 7 | export const resource = '/movement/invoice' 8 | -------------------------------------------------------------------------------- /quasar/source/domains/Movement/Revenue/Schema/RevenueSchema.ts: -------------------------------------------------------------------------------- 1 | import Schema from '@devitools/Agnostic/Schema' 2 | 3 | import RevenueService from './RevenueService' 4 | import { domain } from '../settings' 5 | 6 | /** 7 | * @class {RevenueSchema} 8 | */ 9 | export default class RevenueSchema extends Schema { 10 | /** 11 | * @type {string} 12 | */ 13 | static domain = domain 14 | 15 | /** 16 | * @type {RevenueService} 17 | */ 18 | service = RevenueService 19 | 20 | /** 21 | * Call schema builder method 22 | */ 23 | construct (): void { 24 | // the magic happens 25 | 26 | this.addField('name') 27 | .fieldTableShow() 28 | .fieldTableWhere() 29 | .fieldFormAutofocus() 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /quasar/source/domains/Movement/Revenue/Schema/RevenueService.ts: -------------------------------------------------------------------------------- 1 | import Rest from '@devitools/Services/Rest' 2 | import { resource } from '../settings' 3 | 4 | /** 5 | * @class {RevenueService} 6 | */ 7 | export default class RevenueService extends Rest { 8 | /** 9 | * @type {string} 10 | */ 11 | resource = resource 12 | } 13 | -------------------------------------------------------------------------------- /quasar/source/domains/Movement/Revenue/en-us.js: -------------------------------------------------------------------------------- 1 | import { SCOPES } from '@devitools/Agnostic/enum' 2 | 3 | /** 4 | */ 5 | export default { 6 | routes: { 7 | group: { 8 | crumb: 'General / Products' 9 | }, 10 | [SCOPES.SCOPE_INDEX]: { 11 | title: 'Products' 12 | }, 13 | [SCOPES.SCOPE_TRASH]: { 14 | title: 'Product Trash', 15 | crumb: 'Trash' 16 | }, 17 | [SCOPES.SCOPE_ADD]: { 18 | title: 'Create Product', 19 | crumb: 'Create' 20 | }, 21 | [SCOPES.SCOPE_VIEW]: { 22 | title: 'View Product', 23 | crumb: 'View' 24 | }, 25 | [SCOPES.SCOPE_EDIT]: { 26 | title: 'Edit Product', 27 | crumb: 'Edit' 28 | } 29 | }, 30 | print: { 31 | title: 'Product Printing' 32 | }, 33 | fields: { 34 | // [primaryKey]: 'Id', 35 | name: { 36 | label: 'Name', 37 | placeholder: 'Name of your product' 38 | } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /quasar/source/domains/Movement/Revenue/pt-br.js: -------------------------------------------------------------------------------- 1 | import { SCOPES } from '@devitools/Agnostic/enum' 2 | 3 | /** 4 | */ 5 | export default { 6 | routes: { 7 | group: { 8 | crumb: 'Geral / Produtos' 9 | }, 10 | [SCOPES.SCOPE_INDEX]: { 11 | title: 'Produtos' 12 | }, 13 | [SCOPES.SCOPE_TRASH]: { 14 | title: 'Lixeira dos Produtos', 15 | crumb: 'Lixeira' 16 | }, 17 | [SCOPES.SCOPE_ADD]: { 18 | title: 'Criar Produto', 19 | crumb: 'Criar' 20 | }, 21 | [SCOPES.SCOPE_VIEW]: { 22 | title: 'Ver Produto', 23 | crumb: 'Ver' 24 | }, 25 | [SCOPES.SCOPE_EDIT]: { 26 | title: 'Editar Produto', 27 | crumb: 'Editar' 28 | } 29 | }, 30 | print: { 31 | title: 'Impressão de Produto' 32 | }, 33 | fields: { 34 | // [primaryKey]: 'Id', 35 | name: { 36 | label: 'Nome', 37 | placeholder: 'Nome do seu produto' 38 | } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /quasar/source/domains/Movement/Revenue/settings.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @type {string} 3 | */ 4 | export const domain = 'movement.revenue' 5 | 6 | /** @type {string} */ 7 | export const resource = '/movement/revenue' 8 | -------------------------------------------------------------------------------- /quasar/source/domains/Preview/Alert/Schema/AlertSchema.ts: -------------------------------------------------------------------------------- 1 | import Schema from '@devitools/Agnostic/Schema' 2 | 3 | import AlertService from './AlertService' 4 | import { domain } from '../settings' 5 | 6 | /** 7 | * @class {AlertSchema} 8 | */ 9 | export default class AlertSchema extends Schema { 10 | /** 11 | * @type {string} 12 | */ 13 | static domain = domain 14 | 15 | /** 16 | * @type {AlertService} 17 | */ 18 | service = AlertService 19 | 20 | /** 21 | * Call schema builder method 22 | */ 23 | construct (): void { 24 | // the magic happens 25 | 26 | this.addField('name') 27 | .fieldTableShow() 28 | .fieldTableWhere() 29 | .fieldFormAutofocus() 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /quasar/source/domains/Preview/Alert/Schema/AlertService.ts: -------------------------------------------------------------------------------- 1 | import Rest from '@devitools/Services/Rest' 2 | import { resource } from '../settings' 3 | 4 | /** 5 | * @class {AlertService} 6 | */ 7 | export default class AlertService extends Rest { 8 | /** 9 | * @type {string} 10 | */ 11 | resource = resource 12 | } 13 | -------------------------------------------------------------------------------- /quasar/source/domains/Preview/Alert/en-us.js: -------------------------------------------------------------------------------- 1 | import { SCOPES } from '@devitools/Agnostic/enum' 2 | 3 | /** 4 | */ 5 | export default { 6 | routes: { 7 | group: { 8 | crumb: 'General / Products' 9 | }, 10 | [SCOPES.SCOPE_INDEX]: { 11 | title: 'Products' 12 | }, 13 | [SCOPES.SCOPE_TRASH]: { 14 | title: 'Product Trash', 15 | crumb: 'Trash' 16 | }, 17 | [SCOPES.SCOPE_ADD]: { 18 | title: 'Create Product', 19 | crumb: 'Create' 20 | }, 21 | [SCOPES.SCOPE_VIEW]: { 22 | title: 'View Product', 23 | crumb: 'View' 24 | }, 25 | [SCOPES.SCOPE_EDIT]: { 26 | title: 'Edit Product', 27 | crumb: 'Edit' 28 | } 29 | }, 30 | print: { 31 | title: 'Product Printing' 32 | }, 33 | fields: { 34 | // [primaryKey]: 'Id', 35 | name: { 36 | label: 'Name', 37 | placeholder: 'Name of your product' 38 | } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /quasar/source/domains/Preview/Alert/pt-br.js: -------------------------------------------------------------------------------- 1 | import { SCOPES } from '@devitools/Agnostic/enum' 2 | 3 | /** 4 | */ 5 | export default { 6 | routes: { 7 | group: { 8 | crumb: 'Geral / Produtos' 9 | }, 10 | [SCOPES.SCOPE_INDEX]: { 11 | title: 'Produtos' 12 | }, 13 | [SCOPES.SCOPE_TRASH]: { 14 | title: 'Lixeira dos Produtos', 15 | crumb: 'Lixeira' 16 | }, 17 | [SCOPES.SCOPE_ADD]: { 18 | title: 'Criar Produto', 19 | crumb: 'Criar' 20 | }, 21 | [SCOPES.SCOPE_VIEW]: { 22 | title: 'Ver Produto', 23 | crumb: 'Ver' 24 | }, 25 | [SCOPES.SCOPE_EDIT]: { 26 | title: 'Editar Produto', 27 | crumb: 'Editar' 28 | } 29 | }, 30 | print: { 31 | title: 'Impressão de Produto' 32 | }, 33 | fields: { 34 | // [primaryKey]: 'Id', 35 | name: { 36 | label: 'Nome', 37 | placeholder: 'Nome do seu produto' 38 | } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /quasar/source/domains/Preview/Alert/settings.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @type {string} 3 | */ 4 | export const domain = 'preview.alert' 5 | 6 | /** @type {string} */ 7 | export const resource = '/preview/alert' 8 | -------------------------------------------------------------------------------- /quasar/source/domains/Preview/Goal/Schema/GoalSchema.ts: -------------------------------------------------------------------------------- 1 | import Schema from '@devitools/Agnostic/Schema' 2 | 3 | import GoalService from './GoalService' 4 | import { domain } from '../settings' 5 | 6 | /** 7 | * @class {GoalSchema} 8 | */ 9 | export default class GoalSchema extends Schema { 10 | /** 11 | * @type {string} 12 | */ 13 | static domain = domain 14 | 15 | /** 16 | * @type {GoalService} 17 | */ 18 | service = GoalService 19 | 20 | /** 21 | * Call schema builder method 22 | */ 23 | construct (): void { 24 | // the magic happens 25 | 26 | this.addField('name') 27 | .fieldTableShow() 28 | .fieldTableWhere() 29 | .fieldFormAutofocus() 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /quasar/source/domains/Preview/Goal/Schema/GoalService.ts: -------------------------------------------------------------------------------- 1 | import Rest from '@devitools/Services/Rest' 2 | import { resource } from '../settings' 3 | 4 | /** 5 | * @class {GoalService} 6 | */ 7 | export default class GoalService extends Rest { 8 | /** 9 | * @type {string} 10 | */ 11 | resource = resource 12 | } 13 | -------------------------------------------------------------------------------- /quasar/source/domains/Preview/Goal/en-us.js: -------------------------------------------------------------------------------- 1 | import { SCOPES } from '@devitools/Agnostic/enum' 2 | 3 | /** 4 | */ 5 | export default { 6 | routes: { 7 | group: { 8 | crumb: 'General / Products' 9 | }, 10 | [SCOPES.SCOPE_INDEX]: { 11 | title: 'Products' 12 | }, 13 | [SCOPES.SCOPE_TRASH]: { 14 | title: 'Product Trash', 15 | crumb: 'Trash' 16 | }, 17 | [SCOPES.SCOPE_ADD]: { 18 | title: 'Create Product', 19 | crumb: 'Create' 20 | }, 21 | [SCOPES.SCOPE_VIEW]: { 22 | title: 'View Product', 23 | crumb: 'View' 24 | }, 25 | [SCOPES.SCOPE_EDIT]: { 26 | title: 'Edit Product', 27 | crumb: 'Edit' 28 | } 29 | }, 30 | print: { 31 | title: 'Product Printing' 32 | }, 33 | fields: { 34 | // [primaryKey]: 'Id', 35 | name: { 36 | label: 'Name', 37 | placeholder: 'Name of your product' 38 | } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /quasar/source/domains/Preview/Goal/pt-br.js: -------------------------------------------------------------------------------- 1 | import { SCOPES } from '@devitools/Agnostic/enum' 2 | 3 | /** 4 | */ 5 | export default { 6 | routes: { 7 | group: { 8 | crumb: 'Geral / Produtos' 9 | }, 10 | [SCOPES.SCOPE_INDEX]: { 11 | title: 'Produtos' 12 | }, 13 | [SCOPES.SCOPE_TRASH]: { 14 | title: 'Lixeira dos Produtos', 15 | crumb: 'Lixeira' 16 | }, 17 | [SCOPES.SCOPE_ADD]: { 18 | title: 'Criar Produto', 19 | crumb: 'Criar' 20 | }, 21 | [SCOPES.SCOPE_VIEW]: { 22 | title: 'Ver Produto', 23 | crumb: 'Ver' 24 | }, 25 | [SCOPES.SCOPE_EDIT]: { 26 | title: 'Editar Produto', 27 | crumb: 'Editar' 28 | } 29 | }, 30 | print: { 31 | title: 'Impressão de Produto' 32 | }, 33 | fields: { 34 | // [primaryKey]: 'Id', 35 | name: { 36 | label: 'Nome', 37 | placeholder: 'Nome do seu produto' 38 | } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /quasar/source/domains/Preview/Goal/settings.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @type {string} 3 | */ 4 | export const domain = 'preview.goal' 5 | 6 | /** @type {string} */ 7 | export const resource = '/preview/goal' 8 | -------------------------------------------------------------------------------- /quasar/source/domains/Preview/Input/Schema/InputSchema.ts: -------------------------------------------------------------------------------- 1 | import Schema from '@devitools/Agnostic/Schema' 2 | 3 | import InputService from './InputService' 4 | import { domain } from '../settings' 5 | 6 | /** 7 | * @class {InputSchema} 8 | */ 9 | export default class InputSchema extends Schema { 10 | /** 11 | * @type {string} 12 | */ 13 | static domain = domain 14 | 15 | /** 16 | * @type {InputService} 17 | */ 18 | service = InputService 19 | 20 | /** 21 | * Call schema builder method 22 | */ 23 | construct (): void { 24 | // the magic happens 25 | 26 | this.addField('name') 27 | .fieldTableShow() 28 | .fieldTableWhere() 29 | .fieldFormAutofocus() 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /quasar/source/domains/Preview/Input/Schema/InputService.ts: -------------------------------------------------------------------------------- 1 | import Rest from '@devitools/Services/Rest' 2 | import { resource } from '../settings' 3 | 4 | /** 5 | * @class {InputService} 6 | */ 7 | export default class InputService extends Rest { 8 | /** 9 | * @type {string} 10 | */ 11 | resource = resource 12 | } 13 | -------------------------------------------------------------------------------- /quasar/source/domains/Preview/Input/en-us.js: -------------------------------------------------------------------------------- 1 | import { SCOPES } from '@devitools/Agnostic/enum' 2 | 3 | /** 4 | */ 5 | export default { 6 | routes: { 7 | group: { 8 | crumb: 'General / Products' 9 | }, 10 | [SCOPES.SCOPE_INDEX]: { 11 | title: 'Products' 12 | }, 13 | [SCOPES.SCOPE_TRASH]: { 14 | title: 'Product Trash', 15 | crumb: 'Trash' 16 | }, 17 | [SCOPES.SCOPE_ADD]: { 18 | title: 'Create Product', 19 | crumb: 'Create' 20 | }, 21 | [SCOPES.SCOPE_VIEW]: { 22 | title: 'View Product', 23 | crumb: 'View' 24 | }, 25 | [SCOPES.SCOPE_EDIT]: { 26 | title: 'Edit Product', 27 | crumb: 'Edit' 28 | } 29 | }, 30 | print: { 31 | title: 'Product Printing' 32 | }, 33 | fields: { 34 | // [primaryKey]: 'Id', 35 | name: { 36 | label: 'Name', 37 | placeholder: 'Name of your product' 38 | } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /quasar/source/domains/Preview/Input/pt-br.js: -------------------------------------------------------------------------------- 1 | import { SCOPES } from '@devitools/Agnostic/enum' 2 | 3 | /** 4 | */ 5 | export default { 6 | routes: { 7 | group: { 8 | crumb: 'Geral / Produtos' 9 | }, 10 | [SCOPES.SCOPE_INDEX]: { 11 | title: 'Produtos' 12 | }, 13 | [SCOPES.SCOPE_TRASH]: { 14 | title: 'Lixeira dos Produtos', 15 | crumb: 'Lixeira' 16 | }, 17 | [SCOPES.SCOPE_ADD]: { 18 | title: 'Criar Produto', 19 | crumb: 'Criar' 20 | }, 21 | [SCOPES.SCOPE_VIEW]: { 22 | title: 'Ver Produto', 23 | crumb: 'Ver' 24 | }, 25 | [SCOPES.SCOPE_EDIT]: { 26 | title: 'Editar Produto', 27 | crumb: 'Editar' 28 | } 29 | }, 30 | print: { 31 | title: 'Impressão de Produto' 32 | }, 33 | fields: { 34 | // [primaryKey]: 'Id', 35 | name: { 36 | label: 'Nome', 37 | placeholder: 'Nome do seu produto' 38 | } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /quasar/source/domains/Preview/Input/settings.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @type {string} 3 | */ 4 | export const domain = 'preview.input' 5 | 6 | /** @type {string} */ 7 | export const resource = '/preview/input' 8 | -------------------------------------------------------------------------------- /quasar/source/domains/Preview/Output/Schema/OutputSchema.ts: -------------------------------------------------------------------------------- 1 | import Schema from '@devitools/Agnostic/Schema' 2 | 3 | import OutputService from './OutputService' 4 | import { domain } from '../settings' 5 | 6 | /** 7 | * @class {OutputSchema} 8 | */ 9 | export default class OutputSchema extends Schema { 10 | /** 11 | * @type {string} 12 | */ 13 | static domain = domain 14 | 15 | /** 16 | * @type {OutputService} 17 | */ 18 | service = OutputService 19 | 20 | /** 21 | * Call schema builder method 22 | */ 23 | construct (): void { 24 | // the magic happens 25 | 26 | this.addField('name') 27 | .fieldTableShow() 28 | .fieldTableWhere() 29 | .fieldFormAutofocus() 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /quasar/source/domains/Preview/Output/Schema/OutputService.ts: -------------------------------------------------------------------------------- 1 | import Rest from '@devitools/Services/Rest' 2 | import { resource } from '../settings' 3 | 4 | /** 5 | * @class {OutputService} 6 | */ 7 | export default class OutputService extends Rest { 8 | /** 9 | * @type {string} 10 | */ 11 | resource = resource 12 | } 13 | -------------------------------------------------------------------------------- /quasar/source/domains/Preview/Output/en-us.js: -------------------------------------------------------------------------------- 1 | import { SCOPES } from '@devitools/Agnostic/enum' 2 | 3 | /** 4 | */ 5 | export default { 6 | routes: { 7 | group: { 8 | crumb: 'General / Products' 9 | }, 10 | [SCOPES.SCOPE_INDEX]: { 11 | title: 'Products' 12 | }, 13 | [SCOPES.SCOPE_TRASH]: { 14 | title: 'Product Trash', 15 | crumb: 'Trash' 16 | }, 17 | [SCOPES.SCOPE_ADD]: { 18 | title: 'Create Product', 19 | crumb: 'Create' 20 | }, 21 | [SCOPES.SCOPE_VIEW]: { 22 | title: 'View Product', 23 | crumb: 'View' 24 | }, 25 | [SCOPES.SCOPE_EDIT]: { 26 | title: 'Edit Product', 27 | crumb: 'Edit' 28 | } 29 | }, 30 | print: { 31 | title: 'Product Printing' 32 | }, 33 | fields: { 34 | // [primaryKey]: 'Id', 35 | name: { 36 | label: 'Name', 37 | placeholder: 'Name of your product' 38 | } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /quasar/source/domains/Preview/Output/pt-br.js: -------------------------------------------------------------------------------- 1 | import { SCOPES } from '@devitools/Agnostic/enum' 2 | 3 | /** 4 | */ 5 | export default { 6 | routes: { 7 | group: { 8 | crumb: 'Geral / Produtos' 9 | }, 10 | [SCOPES.SCOPE_INDEX]: { 11 | title: 'Produtos' 12 | }, 13 | [SCOPES.SCOPE_TRASH]: { 14 | title: 'Lixeira dos Produtos', 15 | crumb: 'Lixeira' 16 | }, 17 | [SCOPES.SCOPE_ADD]: { 18 | title: 'Criar Produto', 19 | crumb: 'Criar' 20 | }, 21 | [SCOPES.SCOPE_VIEW]: { 22 | title: 'Ver Produto', 23 | crumb: 'Ver' 24 | }, 25 | [SCOPES.SCOPE_EDIT]: { 26 | title: 'Editar Produto', 27 | crumb: 'Editar' 28 | } 29 | }, 30 | print: { 31 | title: 'Impressão de Produto' 32 | }, 33 | fields: { 34 | // [primaryKey]: 'Id', 35 | name: { 36 | label: 'Nome', 37 | placeholder: 'Nome do seu produto' 38 | } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /quasar/source/domains/Preview/Output/settings.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @type {string} 3 | */ 4 | export const domain = 'preview.output' 5 | 6 | /** @type {string} */ 7 | export const resource = '/preview/output' 8 | -------------------------------------------------------------------------------- /quasar/source/domains/Preview/Simulation/Schema/SimulationSchema.ts: -------------------------------------------------------------------------------- 1 | import Schema from '@devitools/Agnostic/Schema' 2 | 3 | import SimulationService from './SimulationService' 4 | import { domain } from '../settings' 5 | 6 | /** 7 | * @class {SimulationSchema} 8 | */ 9 | export default class SimulationSchema extends Schema { 10 | /** 11 | * @type {string} 12 | */ 13 | static domain = domain 14 | 15 | /** 16 | * @type {SimulationService} 17 | */ 18 | service = SimulationService 19 | 20 | /** 21 | * Call schema builder method 22 | */ 23 | construct (): void { 24 | // the magic happens 25 | 26 | this.addField('name') 27 | .fieldTableShow() 28 | .fieldTableWhere() 29 | .fieldFormAutofocus() 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /quasar/source/domains/Preview/Simulation/Schema/SimulationService.ts: -------------------------------------------------------------------------------- 1 | import Rest from '@devitools/Services/Rest' 2 | import { resource } from '../settings' 3 | 4 | /** 5 | * @class {SimulationService} 6 | */ 7 | export default class SimulationService extends Rest { 8 | /** 9 | * @type {string} 10 | */ 11 | resource = resource 12 | } 13 | -------------------------------------------------------------------------------- /quasar/source/domains/Preview/Simulation/en-us.js: -------------------------------------------------------------------------------- 1 | import { SCOPES } from '@devitools/Agnostic/enum' 2 | 3 | /** 4 | */ 5 | export default { 6 | routes: { 7 | group: { 8 | crumb: 'General / Products' 9 | }, 10 | [SCOPES.SCOPE_INDEX]: { 11 | title: 'Products' 12 | }, 13 | [SCOPES.SCOPE_TRASH]: { 14 | title: 'Product Trash', 15 | crumb: 'Trash' 16 | }, 17 | [SCOPES.SCOPE_ADD]: { 18 | title: 'Create Product', 19 | crumb: 'Create' 20 | }, 21 | [SCOPES.SCOPE_VIEW]: { 22 | title: 'View Product', 23 | crumb: 'View' 24 | }, 25 | [SCOPES.SCOPE_EDIT]: { 26 | title: 'Edit Product', 27 | crumb: 'Edit' 28 | } 29 | }, 30 | print: { 31 | title: 'Product Printing' 32 | }, 33 | fields: { 34 | // [primaryKey]: 'Id', 35 | name: { 36 | label: 'Name', 37 | placeholder: 'Name of your product' 38 | } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /quasar/source/domains/Preview/Simulation/pt-br.js: -------------------------------------------------------------------------------- 1 | import { SCOPES } from '@devitools/Agnostic/enum' 2 | 3 | /** 4 | */ 5 | export default { 6 | routes: { 7 | group: { 8 | crumb: 'Geral / Produtos' 9 | }, 10 | [SCOPES.SCOPE_INDEX]: { 11 | title: 'Produtos' 12 | }, 13 | [SCOPES.SCOPE_TRASH]: { 14 | title: 'Lixeira dos Produtos', 15 | crumb: 'Lixeira' 16 | }, 17 | [SCOPES.SCOPE_ADD]: { 18 | title: 'Criar Produto', 19 | crumb: 'Criar' 20 | }, 21 | [SCOPES.SCOPE_VIEW]: { 22 | title: 'Ver Produto', 23 | crumb: 'Ver' 24 | }, 25 | [SCOPES.SCOPE_EDIT]: { 26 | title: 'Editar Produto', 27 | crumb: 'Editar' 28 | } 29 | }, 30 | print: { 31 | title: 'Impressão de Produto' 32 | }, 33 | fields: { 34 | // [primaryKey]: 'Id', 35 | name: { 36 | label: 'Nome', 37 | placeholder: 'Nome do seu produto' 38 | } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /quasar/source/domains/Preview/Simulation/settings.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @type {string} 3 | */ 4 | export const domain = 'preview.simulation' 5 | 6 | /** @type {string} */ 7 | export const resource = '/preview/simulation' 8 | -------------------------------------------------------------------------------- /quasar/source/domains/Report/en-us.js: -------------------------------------------------------------------------------- 1 | export default { 2 | routes: { 3 | group: { 4 | crumb: 'Reports' 5 | } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /quasar/source/domains/Report/index.js: -------------------------------------------------------------------------------- 1 | import { route } from '@devitools/Util/routing' 2 | 3 | /** 4 | * @param {string} path 5 | * @param {Function} component 6 | * @returns {[RouteConfig]} 7 | */ 8 | export function report (path, component) { 9 | const reference = path.toCamelCase() 10 | const meta = { 11 | scope: 'report', 12 | namespace: `report.${reference}` 13 | } 14 | return [ 15 | route(`/dashboard/report/${path}`, component, `report.${reference}`, meta) 16 | ] 17 | } 18 | -------------------------------------------------------------------------------- /quasar/source/domains/Report/pt-br.js: -------------------------------------------------------------------------------- 1 | export default { 2 | routes: { 3 | group: { 4 | crumb: 'Relatórios' 5 | } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /quasar/source/domains/Report/routes.js: -------------------------------------------------------------------------------- 1 | import { group } from '@devitools/Util/routing' 2 | 3 | /** 4 | * @param {AppRouter} router 5 | * @returns Array 6 | */ 7 | export default (router) => { 8 | // index 9 | const index = () => import('@devitools/Components/Group/Group.vue') 10 | 11 | const children = [ 12 | ] 13 | const meta = { namespace: 'report', scope: 'group', bread: false } 14 | return [ 15 | group('/dashboard/report', index, children, meta) 16 | ] 17 | } 18 | -------------------------------------------------------------------------------- /quasar/source/domains/Settings/Account/en-us.js: -------------------------------------------------------------------------------- 1 | import { SCOPES } from '@devitools/Agnostic/enum.js' 2 | 3 | /** 4 | */ 5 | export default { 6 | routes: { 7 | [SCOPES.SCOPE_EDIT]: { 8 | title: 'My Profile', 9 | crumb: 'Settings / My Profile' 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /quasar/source/domains/Settings/Account/pt-br.js: -------------------------------------------------------------------------------- 1 | import { SCOPES } from '@devitools/Agnostic/enum.js' 2 | 3 | /** 4 | */ 5 | export default { 6 | routes: { 7 | [SCOPES.SCOPE_EDIT]: { 8 | title: 'Meu perfil', 9 | crumb: 'Definições / Meu perfil' 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /quasar/source/domains/Settings/Account/settings.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @type {string} 3 | */ 4 | export const domain = 'settings.account' 5 | -------------------------------------------------------------------------------- /quasar/source/domains/Wallet/Account/Schema/AccountSchema.ts: -------------------------------------------------------------------------------- 1 | import Schema from '@devitools/Agnostic/Schema' 2 | 3 | import AccountService from './AccountService' 4 | import { domain } from '../settings' 5 | 6 | /** 7 | * @class {AccountSchema} 8 | */ 9 | export default class AccountSchema extends Schema { 10 | /** 11 | * @type {string} 12 | */ 13 | static domain = domain 14 | 15 | /** 16 | * @type {AccountService} 17 | */ 18 | service = AccountService 19 | 20 | /** 21 | * Call schema builder method 22 | */ 23 | construct (): void { 24 | // the magic happens 25 | 26 | this.addField('name') 27 | .fieldTableShow() 28 | .fieldTableWhere() 29 | .fieldFormAutofocus() 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /quasar/source/domains/Wallet/Account/Schema/AccountService.ts: -------------------------------------------------------------------------------- 1 | import Rest from '@devitools/Services/Rest' 2 | import { resource } from '../settings' 3 | 4 | /** 5 | * @class {AccountService} 6 | */ 7 | export default class AccountService extends Rest { 8 | /** 9 | * @type {string} 10 | */ 11 | resource = resource 12 | } 13 | -------------------------------------------------------------------------------- /quasar/source/domains/Wallet/Account/en-us.js: -------------------------------------------------------------------------------- 1 | import { SCOPES } from '@devitools/Agnostic/enum' 2 | 3 | /** 4 | */ 5 | export default { 6 | routes: { 7 | group: { 8 | crumb: 'General / Products' 9 | }, 10 | [SCOPES.SCOPE_INDEX]: { 11 | title: 'Products' 12 | }, 13 | [SCOPES.SCOPE_TRASH]: { 14 | title: 'Product Trash', 15 | crumb: 'Trash' 16 | }, 17 | [SCOPES.SCOPE_ADD]: { 18 | title: 'Create Product', 19 | crumb: 'Create' 20 | }, 21 | [SCOPES.SCOPE_VIEW]: { 22 | title: 'View Product', 23 | crumb: 'View' 24 | }, 25 | [SCOPES.SCOPE_EDIT]: { 26 | title: 'Edit Product', 27 | crumb: 'Edit' 28 | } 29 | }, 30 | print: { 31 | title: 'Product Printing' 32 | }, 33 | fields: { 34 | // [primaryKey]: 'Id', 35 | name: { 36 | label: 'Name', 37 | placeholder: 'Name of your product' 38 | } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /quasar/source/domains/Wallet/Account/pt-br.js: -------------------------------------------------------------------------------- 1 | import { SCOPES } from '@devitools/Agnostic/enum' 2 | 3 | /** 4 | */ 5 | export default { 6 | routes: { 7 | group: { 8 | crumb: 'Geral / Produtos' 9 | }, 10 | [SCOPES.SCOPE_INDEX]: { 11 | title: 'Produtos' 12 | }, 13 | [SCOPES.SCOPE_TRASH]: { 14 | title: 'Lixeira dos Produtos', 15 | crumb: 'Lixeira' 16 | }, 17 | [SCOPES.SCOPE_ADD]: { 18 | title: 'Criar Produto', 19 | crumb: 'Criar' 20 | }, 21 | [SCOPES.SCOPE_VIEW]: { 22 | title: 'Ver Produto', 23 | crumb: 'Ver' 24 | }, 25 | [SCOPES.SCOPE_EDIT]: { 26 | title: 'Editar Produto', 27 | crumb: 'Editar' 28 | } 29 | }, 30 | print: { 31 | title: 'Impressão de Produto' 32 | }, 33 | fields: { 34 | // [primaryKey]: 'Id', 35 | name: { 36 | label: 'Nome', 37 | placeholder: 'Nome do seu produto' 38 | } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /quasar/source/domains/Wallet/Account/settings.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @type {string} 3 | */ 4 | export const domain = 'wallet.account' 5 | 6 | /** @type {string} */ 7 | export const resource = '/wallet/account' 8 | -------------------------------------------------------------------------------- /quasar/source/domains/Wallet/BankAccount/Schema/BankAccountSchema.ts: -------------------------------------------------------------------------------- 1 | import Schema from '@devitools/Agnostic/Schema' 2 | 3 | import BankAccountService from './BankAccountService' 4 | import { domain } from '../settings' 5 | 6 | /** 7 | * @class {BankAccountSchema} 8 | */ 9 | export default class BankAccountSchema extends Schema { 10 | /** 11 | * @type {string} 12 | */ 13 | static domain = domain 14 | 15 | /** 16 | * @type {BankAccountService} 17 | */ 18 | service = BankAccountService 19 | 20 | /** 21 | * Call schema builder method 22 | */ 23 | construct (): void { 24 | // the magic happens 25 | 26 | this.addField('name') 27 | .fieldTableShow() 28 | .fieldTableWhere() 29 | .fieldFormAutofocus() 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /quasar/source/domains/Wallet/BankAccount/Schema/BankAccountService.ts: -------------------------------------------------------------------------------- 1 | import Rest from '@devitools/Services/Rest' 2 | import { resource } from '../settings' 3 | 4 | /** 5 | * @class {BankAccountService} 6 | */ 7 | export default class BankAccountService extends Rest { 8 | /** 9 | * @type {string} 10 | */ 11 | resource = resource 12 | } 13 | -------------------------------------------------------------------------------- /quasar/source/domains/Wallet/BankAccount/en-us.js: -------------------------------------------------------------------------------- 1 | import { SCOPES } from '@devitools/Agnostic/enum' 2 | 3 | /** 4 | */ 5 | export default { 6 | routes: { 7 | group: { 8 | crumb: 'General / Products' 9 | }, 10 | [SCOPES.SCOPE_INDEX]: { 11 | title: 'Products' 12 | }, 13 | [SCOPES.SCOPE_TRASH]: { 14 | title: 'Product Trash', 15 | crumb: 'Trash' 16 | }, 17 | [SCOPES.SCOPE_ADD]: { 18 | title: 'Create Product', 19 | crumb: 'Create' 20 | }, 21 | [SCOPES.SCOPE_VIEW]: { 22 | title: 'View Product', 23 | crumb: 'View' 24 | }, 25 | [SCOPES.SCOPE_EDIT]: { 26 | title: 'Edit Product', 27 | crumb: 'Edit' 28 | } 29 | }, 30 | print: { 31 | title: 'Product Printing' 32 | }, 33 | fields: { 34 | // [primaryKey]: 'Id', 35 | name: { 36 | label: 'Name', 37 | placeholder: 'Name of your product' 38 | } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /quasar/source/domains/Wallet/BankAccount/pt-br.js: -------------------------------------------------------------------------------- 1 | import { SCOPES } from '@devitools/Agnostic/enum' 2 | 3 | /** 4 | */ 5 | export default { 6 | routes: { 7 | group: { 8 | crumb: 'Geral / Produtos' 9 | }, 10 | [SCOPES.SCOPE_INDEX]: { 11 | title: 'Produtos' 12 | }, 13 | [SCOPES.SCOPE_TRASH]: { 14 | title: 'Lixeira dos Produtos', 15 | crumb: 'Lixeira' 16 | }, 17 | [SCOPES.SCOPE_ADD]: { 18 | title: 'Criar Produto', 19 | crumb: 'Criar' 20 | }, 21 | [SCOPES.SCOPE_VIEW]: { 22 | title: 'Ver Produto', 23 | crumb: 'Ver' 24 | }, 25 | [SCOPES.SCOPE_EDIT]: { 26 | title: 'Editar Produto', 27 | crumb: 'Editar' 28 | } 29 | }, 30 | print: { 31 | title: 'Impressão de Produto' 32 | }, 33 | fields: { 34 | // [primaryKey]: 'Id', 35 | name: { 36 | label: 'Nome', 37 | placeholder: 'Nome do seu produto' 38 | } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /quasar/source/domains/Wallet/BankAccount/settings.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @type {string} 3 | */ 4 | export const domain = 'wallet.bank-account' 5 | 6 | /** @type {string} */ 7 | export const resource = '/wallet/bank-account' 8 | -------------------------------------------------------------------------------- /quasar/source/domains/Wallet/Card/Schema/CardSchema.ts: -------------------------------------------------------------------------------- 1 | import Schema from '@devitools/Agnostic/Schema' 2 | 3 | import CardService from './CardService' 4 | import { domain } from '../settings' 5 | 6 | /** 7 | * @class {CardSchema} 8 | */ 9 | export default class CardSchema extends Schema { 10 | /** 11 | * @type {string} 12 | */ 13 | static domain = domain 14 | 15 | /** 16 | * @type {CardService} 17 | */ 18 | service = CardService 19 | 20 | /** 21 | * Call schema builder method 22 | */ 23 | construct (): void { 24 | // the magic happens 25 | 26 | this.addField('name') 27 | .fieldTableShow() 28 | .fieldTableWhere() 29 | .fieldFormAutofocus() 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /quasar/source/domains/Wallet/Card/Schema/CardService.ts: -------------------------------------------------------------------------------- 1 | import Rest from '@devitools/Services/Rest' 2 | import { resource } from '../settings' 3 | 4 | /** 5 | * @class {CardService} 6 | */ 7 | export default class CardService extends Rest { 8 | /** 9 | * @type {string} 10 | */ 11 | resource = resource 12 | } 13 | -------------------------------------------------------------------------------- /quasar/source/domains/Wallet/Card/en-us.js: -------------------------------------------------------------------------------- 1 | import { SCOPES } from '@devitools/Agnostic/enum' 2 | 3 | /** 4 | */ 5 | export default { 6 | routes: { 7 | group: { 8 | crumb: 'General / Products' 9 | }, 10 | [SCOPES.SCOPE_INDEX]: { 11 | title: 'Products' 12 | }, 13 | [SCOPES.SCOPE_TRASH]: { 14 | title: 'Product Trash', 15 | crumb: 'Trash' 16 | }, 17 | [SCOPES.SCOPE_ADD]: { 18 | title: 'Create Product', 19 | crumb: 'Create' 20 | }, 21 | [SCOPES.SCOPE_VIEW]: { 22 | title: 'View Product', 23 | crumb: 'View' 24 | }, 25 | [SCOPES.SCOPE_EDIT]: { 26 | title: 'Edit Product', 27 | crumb: 'Edit' 28 | } 29 | }, 30 | print: { 31 | title: 'Product Printing' 32 | }, 33 | fields: { 34 | // [primaryKey]: 'Id', 35 | name: { 36 | label: 'Name', 37 | placeholder: 'Name of your product' 38 | } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /quasar/source/domains/Wallet/Card/pt-br.js: -------------------------------------------------------------------------------- 1 | import { SCOPES } from '@devitools/Agnostic/enum' 2 | 3 | /** 4 | */ 5 | export default { 6 | routes: { 7 | group: { 8 | crumb: 'Geral / Produtos' 9 | }, 10 | [SCOPES.SCOPE_INDEX]: { 11 | title: 'Produtos' 12 | }, 13 | [SCOPES.SCOPE_TRASH]: { 14 | title: 'Lixeira dos Produtos', 15 | crumb: 'Lixeira' 16 | }, 17 | [SCOPES.SCOPE_ADD]: { 18 | title: 'Criar Produto', 19 | crumb: 'Criar' 20 | }, 21 | [SCOPES.SCOPE_VIEW]: { 22 | title: 'Ver Produto', 23 | crumb: 'Ver' 24 | }, 25 | [SCOPES.SCOPE_EDIT]: { 26 | title: 'Editar Produto', 27 | crumb: 'Editar' 28 | } 29 | }, 30 | print: { 31 | title: 'Impressão de Produto' 32 | }, 33 | fields: { 34 | // [primaryKey]: 'Id', 35 | name: { 36 | label: 'Nome', 37 | placeholder: 'Nome do seu produto' 38 | } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /quasar/source/domains/Wallet/Card/settings.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @type {string} 3 | */ 4 | export const domain = 'wallet.card' 5 | 6 | /** @type {string} */ 7 | export const resource = '/wallet/card' 8 | -------------------------------------------------------------------------------- /quasar/source/domains/Wallet/Investment/Schema/InvestmentSchema.ts: -------------------------------------------------------------------------------- 1 | import Schema from '@devitools/Agnostic/Schema' 2 | 3 | import InvestmentService from './InvestmentService' 4 | import { domain } from '../settings' 5 | 6 | /** 7 | * @class {InvestmentSchema} 8 | */ 9 | export default class InvestmentSchema extends Schema { 10 | /** 11 | * @type {string} 12 | */ 13 | static domain = domain 14 | 15 | /** 16 | * @type {InvestmentService} 17 | */ 18 | service = InvestmentService 19 | 20 | /** 21 | * Call schema builder method 22 | */ 23 | construct (): void { 24 | // the magic happens 25 | 26 | this.addField('name') 27 | .fieldTableShow() 28 | .fieldTableWhere() 29 | .fieldFormAutofocus() 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /quasar/source/domains/Wallet/Investment/Schema/InvestmentService.ts: -------------------------------------------------------------------------------- 1 | import Rest from '@devitools/Services/Rest' 2 | import { resource } from '../settings' 3 | 4 | /** 5 | * @class {InvestmentService} 6 | */ 7 | export default class InvestmentService extends Rest { 8 | /** 9 | * @type {string} 10 | */ 11 | resource = resource 12 | } 13 | -------------------------------------------------------------------------------- /quasar/source/domains/Wallet/Investment/en-us.js: -------------------------------------------------------------------------------- 1 | import { SCOPES } from '@devitools/Agnostic/enum' 2 | 3 | /** 4 | */ 5 | export default { 6 | routes: { 7 | group: { 8 | crumb: 'General / Products' 9 | }, 10 | [SCOPES.SCOPE_INDEX]: { 11 | title: 'Products' 12 | }, 13 | [SCOPES.SCOPE_TRASH]: { 14 | title: 'Product Trash', 15 | crumb: 'Trash' 16 | }, 17 | [SCOPES.SCOPE_ADD]: { 18 | title: 'Create Product', 19 | crumb: 'Create' 20 | }, 21 | [SCOPES.SCOPE_VIEW]: { 22 | title: 'View Product', 23 | crumb: 'View' 24 | }, 25 | [SCOPES.SCOPE_EDIT]: { 26 | title: 'Edit Product', 27 | crumb: 'Edit' 28 | } 29 | }, 30 | print: { 31 | title: 'Product Printing' 32 | }, 33 | fields: { 34 | // [primaryKey]: 'Id', 35 | name: { 36 | label: 'Name', 37 | placeholder: 'Name of your product' 38 | } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /quasar/source/domains/Wallet/Investment/pt-br.js: -------------------------------------------------------------------------------- 1 | import { SCOPES } from '@devitools/Agnostic/enum' 2 | 3 | /** 4 | */ 5 | export default { 6 | routes: { 7 | group: { 8 | crumb: 'Geral / Produtos' 9 | }, 10 | [SCOPES.SCOPE_INDEX]: { 11 | title: 'Produtos' 12 | }, 13 | [SCOPES.SCOPE_TRASH]: { 14 | title: 'Lixeira dos Produtos', 15 | crumb: 'Lixeira' 16 | }, 17 | [SCOPES.SCOPE_ADD]: { 18 | title: 'Criar Produto', 19 | crumb: 'Criar' 20 | }, 21 | [SCOPES.SCOPE_VIEW]: { 22 | title: 'Ver Produto', 23 | crumb: 'Ver' 24 | }, 25 | [SCOPES.SCOPE_EDIT]: { 26 | title: 'Editar Produto', 27 | crumb: 'Editar' 28 | } 29 | }, 30 | print: { 31 | title: 'Impressão de Produto' 32 | }, 33 | fields: { 34 | // [primaryKey]: 'Id', 35 | name: { 36 | label: 'Nome', 37 | placeholder: 'Nome do seu produto' 38 | } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /quasar/source/domains/Wallet/Investment/settings.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @type {string} 3 | */ 4 | export const domain = 'wallet.investment' 5 | 6 | /** @type {string} */ 7 | export const resource = '/wallet/investment' 8 | -------------------------------------------------------------------------------- /quasar/source/domains/Wallet/Ticket/Schema/TicketSchema.ts: -------------------------------------------------------------------------------- 1 | import Schema from '@devitools/Agnostic/Schema' 2 | 3 | import TicketService from './TicketService' 4 | import { domain } from '../settings' 5 | 6 | /** 7 | * @class {TicketSchema} 8 | */ 9 | export default class TicketSchema extends Schema { 10 | /** 11 | * @type {string} 12 | */ 13 | static domain = domain 14 | 15 | /** 16 | * @type {TicketService} 17 | */ 18 | service = TicketService 19 | 20 | /** 21 | * Call schema builder method 22 | */ 23 | construct (): void { 24 | // the magic happens 25 | 26 | this.addField('name') 27 | .fieldTableShow() 28 | .fieldTableWhere() 29 | .fieldFormAutofocus() 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /quasar/source/domains/Wallet/Ticket/Schema/TicketService.ts: -------------------------------------------------------------------------------- 1 | import Rest from '@devitools/Services/Rest' 2 | import { resource } from '../settings' 3 | 4 | /** 5 | * @class {TicketService} 6 | */ 7 | export default class TicketService extends Rest { 8 | /** 9 | * @type {string} 10 | */ 11 | resource = resource 12 | } 13 | -------------------------------------------------------------------------------- /quasar/source/domains/Wallet/Ticket/en-us.js: -------------------------------------------------------------------------------- 1 | import { SCOPES } from '@devitools/Agnostic/enum' 2 | 3 | /** 4 | */ 5 | export default { 6 | routes: { 7 | group: { 8 | crumb: 'General / Products' 9 | }, 10 | [SCOPES.SCOPE_INDEX]: { 11 | title: 'Products' 12 | }, 13 | [SCOPES.SCOPE_TRASH]: { 14 | title: 'Product Trash', 15 | crumb: 'Trash' 16 | }, 17 | [SCOPES.SCOPE_ADD]: { 18 | title: 'Create Product', 19 | crumb: 'Create' 20 | }, 21 | [SCOPES.SCOPE_VIEW]: { 22 | title: 'View Product', 23 | crumb: 'View' 24 | }, 25 | [SCOPES.SCOPE_EDIT]: { 26 | title: 'Edit Product', 27 | crumb: 'Edit' 28 | } 29 | }, 30 | print: { 31 | title: 'Product Printing' 32 | }, 33 | fields: { 34 | // [primaryKey]: 'Id', 35 | name: { 36 | label: 'Name', 37 | placeholder: 'Name of your product' 38 | } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /quasar/source/domains/Wallet/Ticket/pt-br.js: -------------------------------------------------------------------------------- 1 | import { SCOPES } from '@devitools/Agnostic/enum' 2 | 3 | /** 4 | */ 5 | export default { 6 | routes: { 7 | group: { 8 | crumb: 'Geral / Produtos' 9 | }, 10 | [SCOPES.SCOPE_INDEX]: { 11 | title: 'Produtos' 12 | }, 13 | [SCOPES.SCOPE_TRASH]: { 14 | title: 'Lixeira dos Produtos', 15 | crumb: 'Lixeira' 16 | }, 17 | [SCOPES.SCOPE_ADD]: { 18 | title: 'Criar Produto', 19 | crumb: 'Criar' 20 | }, 21 | [SCOPES.SCOPE_VIEW]: { 22 | title: 'Ver Produto', 23 | crumb: 'Ver' 24 | }, 25 | [SCOPES.SCOPE_EDIT]: { 26 | title: 'Editar Produto', 27 | crumb: 'Editar' 28 | } 29 | }, 30 | print: { 31 | title: 'Impressão de Produto' 32 | }, 33 | fields: { 34 | // [primaryKey]: 'Id', 35 | name: { 36 | label: 'Nome', 37 | placeholder: 'Nome do seu produto' 38 | } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /quasar/source/domains/Wallet/Ticket/settings.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @type {string} 3 | */ 4 | export const domain = 'wallet.ticket' 5 | 6 | /** @type {string} */ 7 | export const resource = '/wallet/ticket' 8 | -------------------------------------------------------------------------------- /quasar/source/modules/Auth/components/index.js: -------------------------------------------------------------------------------- 1 | // auth base layout 2 | export const layout = () => import('source/modules/Auth/AuthLayout.vue') 3 | 4 | // default page of auth 5 | export const signIn = () => import('resources/views/auth/AuthSignIn.vue') 6 | 7 | // default page of auth 8 | export const signUp = () => import('app/resources/views/auth/AuthSignUp.vue') 9 | -------------------------------------------------------------------------------- /quasar/source/modules/Auth/store/actions.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @ref auth/login 3 | * @param {Object} context 4 | * @param {string} token 5 | */ 6 | export const login = (context, token) => { 7 | context.commit('mutateToken', token) 8 | } 9 | 10 | /** 11 | * @ref auth/logout 12 | * @param {Object} context 13 | */ 14 | export const logout = (context) => { 15 | context.commit('mutateToken', '') 16 | } 17 | 18 | /** 19 | * @ref auth/updateUser 20 | * @param {Object} context 21 | * @param {Object} user 22 | */ 23 | export const updateUser = (context, user) => { 24 | context.commit('mutateUser', user) 25 | } 26 | 27 | /** 28 | * @ref auth/setUserName 29 | * @param {Object} context 30 | * @param {string} name 31 | */ 32 | export const setNameUser = (context, name) => { 33 | context.commit('mutateNameUser', name) 34 | } 35 | 36 | /** 37 | * @ref auth/setUserName 38 | * @param {Object} context 39 | * @param {string} name 40 | */ 41 | export const setUsernameUser = (context, name) => { 42 | context.commit('mutateUsernameUser', name) 43 | } 44 | -------------------------------------------------------------------------------- /quasar/source/modules/Auth/store/index.js: -------------------------------------------------------------------------------- 1 | import state from './state' 2 | import * as getters from './getters' 3 | import * as mutations from './mutations' 4 | import * as actions from './actions' 5 | 6 | export default { 7 | namespaced: true, 8 | state, 9 | getters, 10 | mutations, 11 | actions 12 | } 13 | -------------------------------------------------------------------------------- /quasar/source/modules/Auth/store/mutations.js: -------------------------------------------------------------------------------- 1 | import { erase, write } from '@devitools/Util/storage' 2 | 3 | /** 4 | * @param {Object} state 5 | * @param {string} token 6 | */ 7 | export const mutateToken = (state, token) => { 8 | state.token = token 9 | if (token) { 10 | write('token', state.token) 11 | return 12 | } 13 | erase('token') 14 | } 15 | 16 | /** 17 | * @param {Object} state 18 | * @param {Object} user 19 | */ 20 | export const mutateUser = (state, user) => { 21 | state.user = user 22 | /* 23 | if (user) { 24 | write('user', state.user) 25 | return 26 | } 27 | erase('user') 28 | */ 29 | } 30 | 31 | /** 32 | * @param {Object} state 33 | * @param {string} name 34 | */ 35 | export const mutateNameUser = (state, name) => { 36 | state.user.name = name 37 | mutateUser(state, state.user) 38 | } 39 | 40 | /** 41 | * @param {Object} state 42 | * @param {string} username 43 | */ 44 | export const mutateUsernameUser = (state, username) => { 45 | state.user.username = username 46 | mutateUser(state, state.user) 47 | } 48 | -------------------------------------------------------------------------------- /quasar/source/modules/Auth/store/state.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @type {Object} 3 | */ 4 | import { read } from '@devitools/Util/storage' 5 | 6 | export default { 7 | token: read('token'), 8 | user: read('user') 9 | } 10 | -------------------------------------------------------------------------------- /quasar/source/modules/Dashboard/components/index.js: -------------------------------------------------------------------------------- 1 | // dashboard base layout 2 | export const layout = () => import('source/modules/Dashboard/DashboardLayout.vue') 3 | 4 | // default page of dashboard 5 | export const index = () => import('resources/views/dashboard/DashboardIndex.vue') 6 | -------------------------------------------------------------------------------- /quasar/source/modules/Dashboard/router/middleware.js: -------------------------------------------------------------------------------- 1 | import { $store } from 'src/store' 2 | 3 | /** 4 | * @param {Object} to 5 | * @param {Object} from 6 | * @param {Function} next 7 | * 8 | * > It works better in beforeEach 9 | */ 10 | export const changeRoute = (to, from, next) => { 11 | $store.dispatch('app/setRoute', to.path) 12 | next() 13 | } 14 | -------------------------------------------------------------------------------- /quasar/source/modules/Dashboard/store/actions.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @param {Object} context 3 | * @param {string} transition 4 | */ 5 | export const setTransition = (context, transition) => { 6 | context.commit('mutateTransition', transition) 7 | } 8 | 9 | /** 10 | * @param {Object} context 11 | * @param {string} report 12 | */ 13 | export const setReport = (context, report) => { 14 | context.commit('mutateReport', report) 15 | } 16 | 17 | /** 18 | * @param {Object} context 19 | * @param {string} title 20 | */ 21 | export const setTitle = (context, title) => { 22 | context.commit('mutateTitle', title) 23 | } 24 | -------------------------------------------------------------------------------- /quasar/source/modules/Dashboard/store/custom/actions.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @param {Object} context 3 | * @param {string} unit 4 | */ 5 | export const setUnit = (context, unit) => { 6 | context.commit('mutateUnit', unit) 7 | } 8 | -------------------------------------------------------------------------------- /quasar/source/modules/Dashboard/store/custom/getters.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @param state 3 | * @returns {string} 4 | */ 5 | export const getUnit = (state) => state.unit 6 | -------------------------------------------------------------------------------- /quasar/source/modules/Dashboard/store/custom/mutations.js: -------------------------------------------------------------------------------- 1 | import { erase, write } from '@devitools/Util/storage' 2 | 3 | /** 4 | * @param {Object} state 5 | * @param {string} unit 6 | */ 7 | export const mutateUnit = (state, unit) => { 8 | state.unit = unit 9 | if (unit) { 10 | write('unit', unit) 11 | return 12 | } 13 | erase('unit') 14 | } 15 | -------------------------------------------------------------------------------- /quasar/source/modules/Dashboard/store/custom/state.js: -------------------------------------------------------------------------------- 1 | import { read } from '@devitools/Util/storage' 2 | 3 | /** 4 | */ 5 | export default { 6 | unit: read('unit') 7 | } 8 | -------------------------------------------------------------------------------- /quasar/source/modules/Dashboard/store/getters.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @param state 3 | * @returns {string} 4 | */ 5 | export const getTransition = (state) => state.transition 6 | 7 | /** 8 | * @param state 9 | * @returns {string} 10 | */ 11 | export const getReport = (state) => state.report 12 | 13 | /** 14 | * @param state 15 | * @returns {string} 16 | */ 17 | export const getTitle = (state) => state.title 18 | -------------------------------------------------------------------------------- /quasar/source/modules/Dashboard/store/index.js: -------------------------------------------------------------------------------- 1 | import state from './state' 2 | import * as getters from './getters' 3 | import * as mutations from './mutations' 4 | import * as actions from './actions' 5 | 6 | import customState from './custom/state' 7 | import * as customGetters from './custom/getters' 8 | import * as customMutations from './custom/mutations' 9 | import * as customActions from './custom/actions' 10 | 11 | export default { 12 | namespaced: true, 13 | state: { ...state, ...customState }, 14 | getters: { ...getters, ...customGetters }, 15 | mutations: { ...mutations, ...customMutations }, 16 | actions: { ...actions, ...customActions } 17 | } 18 | -------------------------------------------------------------------------------- /quasar/source/modules/Dashboard/store/mutations.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @param {Object} state 3 | * @param {string} transition 4 | */ 5 | export const mutateTransition = (state, transition) => { 6 | state.transition = transition 7 | } 8 | 9 | /** 10 | * @param {Object} state 11 | * @param {string} report 12 | */ 13 | export const mutateReport = (state, report) => { 14 | state.report = report 15 | } 16 | 17 | /** 18 | * @param {Object} state 19 | * @param {string} title 20 | */ 21 | export const mutateTitle = (state, title) => { 22 | state.title = title 23 | } 24 | -------------------------------------------------------------------------------- /quasar/source/modules/Dashboard/store/state.js: -------------------------------------------------------------------------------- 1 | /** 2 | */ 3 | export default { 4 | transition: '', 5 | report: '', 6 | title: '' 7 | } 8 | -------------------------------------------------------------------------------- /quasar/source/modules/General/version.js: -------------------------------------------------------------------------------- 1 | import $store from '@devitools/Util/store' 2 | 3 | /** 4 | * @type {*} 5 | */ 6 | const store = $store({ 7 | // the states of store 8 | state: { 9 | version: window.localStorage.getItem('version') 10 | }, 11 | // the mutations to call with commit 12 | // ex.: $store.commit('updateVersion') 13 | mutations: { 14 | /** 15 | * @param {Object} state 16 | * @param {string} version 17 | */ 18 | updateVersion (state, version) { 19 | state.version = version 20 | window.localStorage.setItem('version', version) 21 | } 22 | } 23 | }) 24 | 25 | export default store 26 | -------------------------------------------------------------------------------- /quasar/src-pwa/custom-service-worker.js: -------------------------------------------------------------------------------- 1 | /* 2 | * This file (which will be your service worker) 3 | * is picked up by the build system ONLY if 4 | * quasar.conf > pwa > workboxPluginMode is set to "InjectManifest" 5 | */ 6 | -------------------------------------------------------------------------------- /quasar/src-pwa/pwa-flag.d.ts: -------------------------------------------------------------------------------- 1 | // THIS FEATURE-FLAG FILE IS AUTOGENERATED, 2 | // REMOVAL OR CHANGES WILL CAUSE RELATED TYPES TO STOP WORKING 3 | import 'quasar/dist/types/feature-flag' 4 | 5 | declare module 'quasar/dist/types/feature-flag' { 6 | interface QuasarFeatureFlags { 7 | pwa: true; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /quasar/src/boot/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devitools/starter-kit/a6091487349311d839904622a0f813b13b32fe55/quasar/src/boot/.gitkeep -------------------------------------------------------------------------------- /quasar/src/boot/app.js: -------------------------------------------------------------------------------- 1 | import app from '@devitools/install' 2 | 3 | /** 4 | */ 5 | export default app 6 | -------------------------------------------------------------------------------- /quasar/src/boot/i18n.js: -------------------------------------------------------------------------------- 1 | import i18n from 'src/i18n' 2 | 3 | /** 4 | * @param {Vue} Vue 5 | */ 6 | export default ({ Vue, app }) => { 7 | // Set i18n instance on app 8 | app.i18n = i18n 9 | } 10 | -------------------------------------------------------------------------------- /quasar/src/boot/static.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @param {Vue} Vue 3 | */ 4 | export default ({ Vue }) => { 5 | /** 6 | */ 7 | Object.defineProperty(Vue.prototype, '$static', { 8 | get () { 9 | return (path, external = false) => { 10 | const separator = !String(path).startsWith('/') ? '/' : '' 11 | if (external) { 12 | return process.env.VUE_APP_STATIC_URL + separator + path 13 | } 14 | return process.env.VUE_APP_PUBLIC_PATH + 'statics' + separator + path 15 | } 16 | } 17 | }) 18 | } 19 | -------------------------------------------------------------------------------- /quasar/src/css/agnostic.styl: -------------------------------------------------------------------------------- 1 | @import "../../@devitools/Agnostic/Style/@variables.styl" 2 | 3 | @import "../../@devitools/Agnostic/Style/breadcrumb.styl" 4 | 5 | @import "../../@devitools/Agnostic/Style/element.styl" 6 | 7 | @import "../../@devitools/Agnostic/Style/form.styl" 8 | 9 | @import "../../@devitools/Agnostic/Style/field.styl" 10 | 11 | @import "../../@devitools/Agnostic/Style/fix.styl" 12 | 13 | @import "../../@devitools/Agnostic/Style/header.styl" 14 | 15 | @import "../../@devitools/Agnostic/Style/scrollbar.styl" 16 | 17 | @import "../../@devitools/Agnostic/Style/print.styl" 18 | 19 | @import "../../@devitools/Agnostic/Style/report.styl" 20 | 21 | @import "../../@devitools/Agnostic/Style/table.styl" 22 | 23 | @import "../../@devitools/Agnostic/Style/transition.styl" 24 | 25 | @import "../../@devitools/Agnostic/Style/typograph.styl" 26 | -------------------------------------------------------------------------------- /quasar/src/css/app.styl: -------------------------------------------------------------------------------- 1 | // app global css 2 | @import "agnostic.styl" 3 | 4 | .fullscreen 5 | z-index 10000 6 | 7 | .app-page 8 | height calc(100vh - 95px) 9 | overflow auto 10 | background #fff 11 | border-radius 4px 12 | box-shadow 0 1px 5px rgba(0, 0, 0, 0.2), 0 2px 2px rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.12) 13 | 14 | .p-10 15 | padding 10px -------------------------------------------------------------------------------- /quasar/src/css/quasar.variables.styl: -------------------------------------------------------------------------------- 1 | // Quasar Stylus Variables 2 | // -------------------------------------------------- 3 | // To customize the look and feel of this app, you can override 4 | // the Stylus variables found in Quasar's source Stylus files. 5 | 6 | // Check documentation for full list of Quasar variables 7 | 8 | // It's highly recommended to change the default colors 9 | // to match your app's branding. 10 | // Tip: Use the "Theme Builder" on Quasar's documentation website. 11 | 12 | $primary = #4c80c9 13 | $secondary = #323c78 14 | $accent = #4AC9BE 15 | // old 16 | $tertiary = #ffffff 17 | 18 | $positive = #59B259 19 | $negative = #D9534F 20 | $info = #31CCEC 21 | $warning = #F2C037 22 | // old 23 | $neutral = #E0E1E2 24 | 25 | $errorForeground = #c73b3a 26 | $errorBackground = rgba(255, 155, 138, 0.3) 27 | 28 | $break = 700px 29 | -------------------------------------------------------------------------------- /quasar/src/env.d.ts: -------------------------------------------------------------------------------- 1 | declare namespace NodeJS { 2 | interface ProcessEnv { 3 | NODE_ENV: string; 4 | VUE_ROUTER_MODE: 'hash' | 'history' | 'abstract' | undefined; 5 | VUE_ROUTER_BASE: string | undefined; 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /quasar/src/i18n/index.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue' 2 | import VueI18n from 'vue-i18n' 3 | 4 | import enUs from '../../resources/lang/en-us' 5 | import ptBr from '../../resources/lang/pt-br' 6 | 7 | Vue.use(VueI18n) 8 | 9 | /** 10 | */ 11 | export default new VueI18n({ 12 | locale: String(process.env.VUE_APP_LOCALE), 13 | fallbackLocale: 'en-us', 14 | messages: { 15 | 'en-us': enUs, 16 | 'pt-br': ptBr 17 | } 18 | }) 19 | -------------------------------------------------------------------------------- /quasar/src/router/middleware/updateDevice.js: -------------------------------------------------------------------------------- 1 | import Fingerprint2 from 'fingerprintjs2' 2 | import { $store } from 'src/store' 3 | 4 | /** 5 | * @param {Route} to 6 | * @param {Route} from 7 | * @param {Function} next 8 | * 9 | * BeforeEach middleware 10 | */ 11 | export default (to, from, next) => { 12 | if ($store.getters['app/getDevice']) { 13 | next() 14 | return 15 | } 16 | 17 | Fingerprint2.get({}, (components) => { 18 | const values = components.map((component) => component.value) 19 | const device = Fingerprint2.x64hash128(values.join(''), 31) 20 | 21 | $store.dispatch('app/setDevice', device) 22 | .then(() => next()) 23 | }) 24 | } 25 | -------------------------------------------------------------------------------- /quasar/src/settings/date.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @type {string} 3 | */ 4 | export const dateEn = 'YYYY-MM-DD HH:mm' 5 | 6 | /** 7 | * @type {Array} 8 | */ 9 | export const dateFormatDefault = [dateEn, 'YYYY-MM-DD HH:mm:ss', 'YYYY-MM-DD HH:mm:ss', 'YYYY-MM-DD'] 10 | -------------------------------------------------------------------------------- /quasar/src/settings/local.js: -------------------------------------------------------------------------------- 1 | import axios from 'axios' 2 | 3 | /** 4 | * @type {AxiosInstance} 5 | */ 6 | const http = axios.create({ baseURL: `${window.location.origin}${window.location.pathname}` }) 7 | 8 | /** 9 | * It is just an axios instance to execute the perform http local queries 10 | */ 11 | export default http 12 | -------------------------------------------------------------------------------- /quasar/src/settings/message.js: -------------------------------------------------------------------------------- 1 | import { notify } from '@devitools/message' 2 | 3 | /** 4 | * @param {string} message 5 | * @param options 6 | */ 7 | export const notifyToast = (message, options = {}) => { 8 | notify({ message, ...options }) 9 | } 10 | 11 | /** 12 | * @param {string} message 13 | * @param options 14 | */ 15 | export const notifySuccess = (message, options = {}) => { 16 | notify({ message, icon: 'done', ...options, color: 'positive' }) 17 | } 18 | 19 | /** 20 | * @param {string} message 21 | * @param options 22 | */ 23 | export const notifyError = (message, options = {}) => { 24 | notify({ message, icon: 'error_outline', ...options, color: 'negative' }) 25 | } 26 | 27 | /** 28 | * @param {string} message 29 | * @param options 30 | */ 31 | export const notifyWarning = (message, options = {}) => { 32 | notify({ message, icon: 'priority_high', ...options, color: 'warning', textColor: 'dark' }) 33 | } 34 | -------------------------------------------------------------------------------- /quasar/src/settings/storage.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @type {boolean} 3 | */ 4 | export const DEFAULT_REMEMBER = false 5 | -------------------------------------------------------------------------------- /quasar/src/settings/table.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @type {number} 3 | */ 4 | export const tableOuterHeight = 300 5 | 6 | /** 7 | * @type {number} 8 | */ 9 | export const tableMinRowsPerPage = 10 10 | 11 | /** 12 | * @type {string} 13 | */ 14 | export const tableSelection = 'single' 15 | 16 | /** 17 | * @type {boolean} 18 | */ 19 | export const tableShowColumnsSelector = false 20 | 21 | /** 22 | * @type {boolean} 23 | */ 24 | export const tableShowFilters = false 25 | 26 | /** 27 | * @type {boolean} 28 | */ 29 | export const tableShowSearch = true 30 | -------------------------------------------------------------------------------- /quasar/src/statics/app-logo-128x128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devitools/starter-kit/a6091487349311d839904622a0f813b13b32fe55/quasar/src/statics/app-logo-128x128.png -------------------------------------------------------------------------------- /quasar/src/statics/auth/background.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devitools/starter-kit/a6091487349311d839904622a0f813b13b32fe55/quasar/src/statics/auth/background.jpg -------------------------------------------------------------------------------- /quasar/src/statics/auth/background.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devitools/starter-kit/a6091487349311d839904622a0f813b13b32fe55/quasar/src/statics/auth/background.mp4 -------------------------------------------------------------------------------- /quasar/src/statics/browserconfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | #ffffff 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /quasar/src/statics/dashboard/header-logo-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devitools/starter-kit/a6091487349311d839904622a0f813b13b32fe55/quasar/src/statics/dashboard/header-logo-white.png -------------------------------------------------------------------------------- /quasar/src/statics/dashboard/header-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devitools/starter-kit/a6091487349311d839904622a0f813b13b32fe55/quasar/src/statics/dashboard/header-logo.png -------------------------------------------------------------------------------- /quasar/src/statics/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devitools/starter-kit/a6091487349311d839904622a0f813b13b32fe55/quasar/src/statics/favicon.ico -------------------------------------------------------------------------------- /quasar/src/statics/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devitools/starter-kit/a6091487349311d839904622a0f813b13b32fe55/quasar/src/statics/favicon.png -------------------------------------------------------------------------------- /quasar/src/statics/header-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devitools/starter-kit/a6091487349311d839904622a0f813b13b32fe55/quasar/src/statics/header-logo.png -------------------------------------------------------------------------------- /quasar/src/statics/icons/android-chrome-192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devitools/starter-kit/a6091487349311d839904622a0f813b13b32fe55/quasar/src/statics/icons/android-chrome-192x192.png -------------------------------------------------------------------------------- /quasar/src/statics/icons/android-chrome-256x256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devitools/starter-kit/a6091487349311d839904622a0f813b13b32fe55/quasar/src/statics/icons/android-chrome-256x256.png -------------------------------------------------------------------------------- /quasar/src/statics/icons/android-chrome-384x384.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devitools/starter-kit/a6091487349311d839904622a0f813b13b32fe55/quasar/src/statics/icons/android-chrome-384x384.png -------------------------------------------------------------------------------- /quasar/src/statics/icons/android-icon-144x144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devitools/starter-kit/a6091487349311d839904622a0f813b13b32fe55/quasar/src/statics/icons/android-icon-144x144.png -------------------------------------------------------------------------------- /quasar/src/statics/icons/android-icon-192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devitools/starter-kit/a6091487349311d839904622a0f813b13b32fe55/quasar/src/statics/icons/android-icon-192x192.png -------------------------------------------------------------------------------- /quasar/src/statics/icons/android-icon-36x36.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devitools/starter-kit/a6091487349311d839904622a0f813b13b32fe55/quasar/src/statics/icons/android-icon-36x36.png -------------------------------------------------------------------------------- /quasar/src/statics/icons/android-icon-48x48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devitools/starter-kit/a6091487349311d839904622a0f813b13b32fe55/quasar/src/statics/icons/android-icon-48x48.png -------------------------------------------------------------------------------- /quasar/src/statics/icons/android-icon-72x72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devitools/starter-kit/a6091487349311d839904622a0f813b13b32fe55/quasar/src/statics/icons/android-icon-72x72.png -------------------------------------------------------------------------------- /quasar/src/statics/icons/android-icon-96x96.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devitools/starter-kit/a6091487349311d839904622a0f813b13b32fe55/quasar/src/statics/icons/android-icon-96x96.png -------------------------------------------------------------------------------- /quasar/src/statics/icons/apple-icon-114x114.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devitools/starter-kit/a6091487349311d839904622a0f813b13b32fe55/quasar/src/statics/icons/apple-icon-114x114.png -------------------------------------------------------------------------------- /quasar/src/statics/icons/apple-icon-120x120.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devitools/starter-kit/a6091487349311d839904622a0f813b13b32fe55/quasar/src/statics/icons/apple-icon-120x120.png -------------------------------------------------------------------------------- /quasar/src/statics/icons/apple-icon-144x144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devitools/starter-kit/a6091487349311d839904622a0f813b13b32fe55/quasar/src/statics/icons/apple-icon-144x144.png -------------------------------------------------------------------------------- /quasar/src/statics/icons/apple-icon-152x152.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devitools/starter-kit/a6091487349311d839904622a0f813b13b32fe55/quasar/src/statics/icons/apple-icon-152x152.png -------------------------------------------------------------------------------- /quasar/src/statics/icons/apple-icon-180x180.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devitools/starter-kit/a6091487349311d839904622a0f813b13b32fe55/quasar/src/statics/icons/apple-icon-180x180.png -------------------------------------------------------------------------------- /quasar/src/statics/icons/apple-icon-57x57.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devitools/starter-kit/a6091487349311d839904622a0f813b13b32fe55/quasar/src/statics/icons/apple-icon-57x57.png -------------------------------------------------------------------------------- /quasar/src/statics/icons/apple-icon-60x60.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devitools/starter-kit/a6091487349311d839904622a0f813b13b32fe55/quasar/src/statics/icons/apple-icon-60x60.png -------------------------------------------------------------------------------- /quasar/src/statics/icons/apple-icon-72x72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devitools/starter-kit/a6091487349311d839904622a0f813b13b32fe55/quasar/src/statics/icons/apple-icon-72x72.png -------------------------------------------------------------------------------- /quasar/src/statics/icons/apple-icon-76x76.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devitools/starter-kit/a6091487349311d839904622a0f813b13b32fe55/quasar/src/statics/icons/apple-icon-76x76.png -------------------------------------------------------------------------------- /quasar/src/statics/icons/apple-icon-precomposed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devitools/starter-kit/a6091487349311d839904622a0f813b13b32fe55/quasar/src/statics/icons/apple-icon-precomposed.png -------------------------------------------------------------------------------- /quasar/src/statics/icons/apple-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devitools/starter-kit/a6091487349311d839904622a0f813b13b32fe55/quasar/src/statics/icons/apple-icon.png -------------------------------------------------------------------------------- /quasar/src/statics/icons/apple-touch-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devitools/starter-kit/a6091487349311d839904622a0f813b13b32fe55/quasar/src/statics/icons/apple-touch-icon.png -------------------------------------------------------------------------------- /quasar/src/statics/icons/favicon-16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devitools/starter-kit/a6091487349311d839904622a0f813b13b32fe55/quasar/src/statics/icons/favicon-16x16.png -------------------------------------------------------------------------------- /quasar/src/statics/icons/favicon-32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devitools/starter-kit/a6091487349311d839904622a0f813b13b32fe55/quasar/src/statics/icons/favicon-32x32.png -------------------------------------------------------------------------------- /quasar/src/statics/icons/favicon-96x96.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devitools/starter-kit/a6091487349311d839904622a0f813b13b32fe55/quasar/src/statics/icons/favicon-96x96.png -------------------------------------------------------------------------------- /quasar/src/statics/icons/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devitools/starter-kit/a6091487349311d839904622a0f813b13b32fe55/quasar/src/statics/icons/favicon.ico -------------------------------------------------------------------------------- /quasar/src/statics/icons/icon-128x128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devitools/starter-kit/a6091487349311d839904622a0f813b13b32fe55/quasar/src/statics/icons/icon-128x128.png -------------------------------------------------------------------------------- /quasar/src/statics/icons/icon-192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devitools/starter-kit/a6091487349311d839904622a0f813b13b32fe55/quasar/src/statics/icons/icon-192x192.png -------------------------------------------------------------------------------- /quasar/src/statics/icons/icon-256x256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devitools/starter-kit/a6091487349311d839904622a0f813b13b32fe55/quasar/src/statics/icons/icon-256x256.png -------------------------------------------------------------------------------- /quasar/src/statics/icons/icon-384x384.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devitools/starter-kit/a6091487349311d839904622a0f813b13b32fe55/quasar/src/statics/icons/icon-384x384.png -------------------------------------------------------------------------------- /quasar/src/statics/icons/icon-512x512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devitools/starter-kit/a6091487349311d839904622a0f813b13b32fe55/quasar/src/statics/icons/icon-512x512.png -------------------------------------------------------------------------------- /quasar/src/statics/icons/ms-icon-144x144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devitools/starter-kit/a6091487349311d839904622a0f813b13b32fe55/quasar/src/statics/icons/ms-icon-144x144.png -------------------------------------------------------------------------------- /quasar/src/statics/icons/ms-icon-150x150.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devitools/starter-kit/a6091487349311d839904622a0f813b13b32fe55/quasar/src/statics/icons/ms-icon-150x150.png -------------------------------------------------------------------------------- /quasar/src/statics/icons/ms-icon-310x310.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devitools/starter-kit/a6091487349311d839904622a0f813b13b32fe55/quasar/src/statics/icons/ms-icon-310x310.png -------------------------------------------------------------------------------- /quasar/src/statics/icons/ms-icon-70x70.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devitools/starter-kit/a6091487349311d839904622a0f813b13b32fe55/quasar/src/statics/icons/ms-icon-70x70.png -------------------------------------------------------------------------------- /quasar/src/statics/icons/mstile-150x150.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devitools/starter-kit/a6091487349311d839904622a0f813b13b32fe55/quasar/src/statics/icons/mstile-150x150.png -------------------------------------------------------------------------------- /quasar/src/statics/logo-horizontal-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devitools/starter-kit/a6091487349311d839904622a0f813b13b32fe55/quasar/src/statics/logo-horizontal-white.png -------------------------------------------------------------------------------- /quasar/src/statics/logo-horizontal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devitools/starter-kit/a6091487349311d839904622a0f813b13b32fe55/quasar/src/statics/logo-horizontal.png -------------------------------------------------------------------------------- /quasar/src/statics/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devitools/starter-kit/a6091487349311d839904622a0f813b13b32fe55/quasar/src/statics/logo.png -------------------------------------------------------------------------------- /quasar/src/statics/site.webmanifest: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Devitools", 3 | "short_name": "Devitools", 4 | "icons": [ 5 | { 6 | "src": "/android-chrome-192x192.png", 7 | "sizes": "192x192", 8 | "type": "image/png" 9 | }, 10 | { 11 | "src": "/android-chrome-256x256.png", 12 | "sizes": "256x256", 13 | "type": "image/png" 14 | } 15 | ], 16 | "theme_color": "#4c80c9", 17 | "background_color": "#ffffff", 18 | "display": "standalone" 19 | } 20 | -------------------------------------------------------------------------------- /quasar/src/statics/version: -------------------------------------------------------------------------------- 1 | development -------------------------------------------------------------------------------- /quasar/src/store/app/index.js: -------------------------------------------------------------------------------- 1 | import state from './state' 2 | import * as getters from './getters' 3 | import * as mutations from './mutations' 4 | import * as actions from './actions' 5 | 6 | export default { 7 | namespaced: true, 8 | state, 9 | getters, 10 | mutations, 11 | actions 12 | } 13 | -------------------------------------------------------------------------------- /quasar/src/store/app/state.js: -------------------------------------------------------------------------------- 1 | import { read } from '@devitools/Util/storage' 2 | 3 | export default { 4 | name: process.env.VUE_APP_NAME, 5 | subTitle: process.env.VUE_APP_SUB_TITLE, 6 | drawer: read('appDrawer') || [], 7 | offline: !!read('appOffline'), 8 | options: [], 9 | clipboard: {}, 10 | query: {}, 11 | print: undefined, 12 | device: undefined, 13 | route: undefined 14 | } 15 | -------------------------------------------------------------------------------- /quasar/src/store/index.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue' 2 | import Vuex from 'vuex' 3 | 4 | import app from './app' 5 | import auth from 'source/modules/Auth/store' 6 | import dashboard from 'source/modules/Dashboard/store' 7 | 8 | Vue.use(Vuex) 9 | 10 | /** 11 | * expose the store 12 | * use import { $store } from 'src/store' 13 | */ 14 | export let $store 15 | 16 | /* 17 | * If not building with SSR mode, you can 18 | * directly export the Store instantiation 19 | */ 20 | 21 | export default function (/* { ssrContext } */) { 22 | $store = new Vuex.Store({ 23 | modules: { 24 | app, 25 | auth, 26 | dashboard 27 | }, 28 | // enable strict mode (adds overhead!) 29 | // for dev mode only 30 | strict: process.env.DEV 31 | }) 32 | return $store 33 | } 34 | -------------------------------------------------------------------------------- /quasar/src/store/store-flag.d.ts: -------------------------------------------------------------------------------- 1 | // THIS FEATURE-FLAG FILE IS AUTOGENERATED, 2 | // REMOVAL OR CHANGES WILL CAUSE RELATED TYPES TO STOP WORKING 3 | import 'quasar/dist/types/feature-flag' 4 | 5 | declare module 'quasar/dist/types/feature-flag' { 6 | interface QuasarFeatureFlags { 7 | store: true; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /quasar/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@quasar/app/tsconfig-preset", 3 | "compilerOptions": { 4 | "baseUrl": ".", 5 | "target": "es5" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /quasar/version.ejs: -------------------------------------------------------------------------------- 1 | <%= package.version %>.<%= extras.build %> -------------------------------------------------------------------------------- /system.js: -------------------------------------------------------------------------------- 1 | System.config({ 2 | 'paths': { 3 | '@devitools/*': './quasar/@devitools/*', 4 | 'resources/*': './quasar/resources/*', 5 | 'routes/*': './quasar/routes/*', 6 | 'source/*': './quasar/source/*', 7 | 'src/*': './quasar/src/*', 8 | } 9 | }) 10 | --------------------------------------------------------------------------------