feat: add default scope
This commit is contained in:
parent
a92398ca8d
commit
ca160ae8eb
4 changed files with 37 additions and 4 deletions
BIN
js/dist/admin.js
generated
vendored
BIN
js/dist/admin.js
generated
vendored
Binary file not shown.
BIN
js/dist/admin.js.map
generated
vendored
BIN
js/dist/admin.js.map
generated
vendored
Binary file not shown.
|
@ -50,11 +50,13 @@ export default class ScopesPage extends Page {
|
||||||
'PATCH': 'PATCH',
|
'PATCH': 'PATCH',
|
||||||
},
|
},
|
||||||
value: scope[key]() || 'GET',
|
value: scope[key]() || 'GET',
|
||||||
|
disabled: scope.resource_path() === '/api/user' && key === 'method',
|
||||||
onchange: (value) => {
|
onchange: (value) => {
|
||||||
this.saveScopeInfo(index, key, value);
|
this.saveScopeInfo(index, key, value);
|
||||||
},
|
},
|
||||||
}) : key === 'is_default' ? Checkbox.component({
|
}) : key === 'is_default' ? Checkbox.component({
|
||||||
state: scope[key]() === 1 || false,
|
state: scope[key]() === 1 || false,
|
||||||
|
disabled: scope.resource_path() === '/api/user' && key === 'is_default',
|
||||||
onchange: (checked) => {
|
onchange: (checked) => {
|
||||||
this.scopes[index].is_default((this.scopes[index].is_default() + 1) % 2)
|
this.scopes[index].is_default((this.scopes[index].is_default() + 1) % 2)
|
||||||
this.saveScopeInfo(index, key, checked ? 1 : 0);
|
this.saveScopeInfo(index, key, checked ? 1 : 0);
|
||||||
|
@ -62,21 +64,20 @@ export default class ScopesPage extends Page {
|
||||||
}) : m('input.FormControl', {
|
}) : m('input.FormControl', {
|
||||||
type: 'text',
|
type: 'text',
|
||||||
value: scope[key]() || '',
|
value: scope[key]() || '',
|
||||||
|
disabled: scope.resource_path() === '/api/user' && key === 'resource_path',
|
||||||
onchange: (event) => {
|
onchange: (event) => {
|
||||||
|
|
||||||
this.saveScopeInfo(index, key, event.target.value);
|
this.saveScopeInfo(index, key, event.target.value);
|
||||||
},
|
},
|
||||||
}))
|
}))
|
||||||
),
|
),
|
||||||
m('td', Button.component({
|
(scope.resource_path() !== '/api/user' && m('td', Button.component({
|
||||||
className: 'Button Button--icon',
|
className: 'Button Button--icon',
|
||||||
icon: 'fas fa-times',
|
icon: 'fas fa-times',
|
||||||
onclick: () => {
|
onclick: () => {
|
||||||
this.scopes[index].delete();
|
this.scopes[index].delete();
|
||||||
this.scopes.splice(index, 1);
|
this.scopes.splice(index, 1);
|
||||||
|
|
||||||
},
|
},
|
||||||
})),
|
}))),
|
||||||
])),
|
])),
|
||||||
m('tr', m('td', {
|
m('tr', m('td', {
|
||||||
colspan: 7,
|
colspan: 7,
|
||||||
|
|
|
@ -0,0 +1,32 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This file is part of foskym/flarum-oauth-center.
|
||||||
|
*
|
||||||
|
* Copyright (c) 2023 FoskyM.
|
||||||
|
*
|
||||||
|
* For the full copyright and license information, please view the LICENSE.md
|
||||||
|
* file that was distributed with this source code.
|
||||||
|
*/
|
||||||
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
use Illuminate\Database\Schema\Builder;
|
||||||
|
|
||||||
|
return [
|
||||||
|
'up' => function (Builder $schema) {
|
||||||
|
if (!$schema->hasTable('oauth_scopes')) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
$schema->getConnection()->table('oauth_scopes')->insert([
|
||||||
|
'scope' => 'user.read',
|
||||||
|
'resource_path' => '/api/user',
|
||||||
|
'method' => 'GET',
|
||||||
|
'is_default' => 1,
|
||||||
|
'scope_name' => '获取用户信息',
|
||||||
|
'scope_icon' => 'fas fa-user',
|
||||||
|
'scope_desc' => '访问该用户({user})的个人信息等',
|
||||||
|
]);
|
||||||
|
},
|
||||||
|
'down' => function (Builder $schema) {
|
||||||
|
|
||||||
|
},
|
||||||
|
];
|
Loading…
Reference in a new issue