From 360fa51607ca1d7aa264ad6994137fa124d569e2 Mon Sep 17 00:00:00 2001 From: Sockenklaus Date: Sun, 9 Jul 2023 22:37:43 +0200 Subject: [PATCH] fixed problems with tailwind overwriting naive ui styles implemented user datatable --- app/Controllers/Http/UsersController.ts | 10 +++- app/Policies/UserPolicy.ts | 8 +++ components.d.ts | 1 + resources/js/Layouts/BELayout.vue | 10 ++-- resources/js/app.ts | 1 - resources/js/pages/Login.vue | 1 - resources/js/pages/Users/Edit.vue | 6 +++ resources/js/pages/Users/Index.vue | 69 +++++++++++++++++++++---- resources/views/app.edge | 2 +- tsconfig.vue.json | 2 +- webpack.config.js | 2 +- 11 files changed, 93 insertions(+), 19 deletions(-) create mode 100644 resources/js/pages/Users/Edit.vue diff --git a/app/Controllers/Http/UsersController.ts b/app/Controllers/Http/UsersController.ts index 4c6aa2a..297587e 100644 --- a/app/Controllers/Http/UsersController.ts +++ b/app/Controllers/Http/UsersController.ts @@ -34,7 +34,15 @@ export default class UsersController { return inertia.render('Users/Show', { queriedUser }) } - public async edit({}: HttpContextContract) {} + public async edit({ bouncer, params, inertia }: HttpContextContract) { + const queriedUser: User = await User.findByOrFail('id', params.id) + + await bouncer + .with("UserPolicy") + .authorize('edit', queriedUser) + + return inertia.render("Users/Edit", { queriedUser }) + } public async update({}: HttpContextContract) {} diff --git a/app/Policies/UserPolicy.ts b/app/Policies/UserPolicy.ts index f5549e4..9b11ea3 100644 --- a/app/Policies/UserPolicy.ts +++ b/app/Policies/UserPolicy.ts @@ -5,10 +5,18 @@ export default class UserPolicy extends BasePolicy { public async index(user: User) { return user.isAdmin } + + public async create(user: User) { + return user.isAdmin + } public async show(user: User, query: User) { return user.isAdmin || user.id === query.id } + + public async edit(user: User, query: User) { + return user.isAdmin || user.id === query.id + } public async update(user: User, query: User) { return user.isAdmin || user.id === query.id diff --git a/components.d.ts b/components.d.ts index 225e00b..f702939 100644 --- a/components.d.ts +++ b/components.d.ts @@ -8,6 +8,7 @@ export {} declare module 'vue' { export interface GlobalComponents { NButton: typeof import('naive-ui')['NButton'] + NConfigProvider: typeof import('naive-ui')['NConfigProvider'] NDataTable: typeof import('naive-ui')['NDataTable'] NForm: typeof import('naive-ui')['NForm'] NFormItem: typeof import('naive-ui')['NFormItem'] diff --git a/resources/js/Layouts/BELayout.vue b/resources/js/Layouts/BELayout.vue index 7200fd5..d476f8d 100644 --- a/resources/js/Layouts/BELayout.vue +++ b/resources/js/Layouts/BELayout.vue @@ -1,9 +1,11 @@ \ No newline at end of file diff --git a/resources/js/pages/Users/Index.vue b/resources/js/pages/Users/Index.vue index ca2657c..053fba4 100644 --- a/resources/js/pages/Users/Index.vue +++ b/resources/js/pages/Users/Index.vue @@ -7,18 +7,26 @@ -
- {{ users }} -
\ No newline at end of file diff --git a/resources/views/app.edge b/resources/views/app.edge index 9dbe3c1..6d57f02 100644 --- a/resources/views/app.edge +++ b/resources/views/app.edge @@ -9,7 +9,7 @@ @entryPointScripts('app') enzos-events - + @inertia diff --git a/tsconfig.vue.json b/tsconfig.vue.json index f14b6cf..25112d5 100644 --- a/tsconfig.vue.json +++ b/tsconfig.vue.json @@ -1,7 +1,7 @@ { // tsconfig.vue.json - "extends": "@vue/tsconfig/tsconfig.json", + "extends": "@vue/tsconfig/tsconfig.web.json", "include": [ "./resources/js/**/*" ], diff --git a/webpack.config.js b/webpack.config.js index 6080932..df320da 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -210,7 +210,7 @@ Encore.enableVueLoader(() => {}, { */ const config = Encore.getWebpackConfig() config.infrastructureLogging = { - level: 'info', + level: 'debug', } config.stats = 'errors-warnings'