diff --git a/authz/authz.go b/authz/authz.go index bd60bdd1..1e27d267 100644 --- a/authz/authz.go +++ b/authz/authz.go @@ -85,6 +85,7 @@ p, *, *, GET, /api/get-user, *, * p, *, *, GET, /api/get-organizations, *, * p, *, *, GET, /api/get-user-application, *, * p, *, *, GET, /api/get-default-providers, *, * +p, *, *, GET, /api/get-resources, *, * p, *, *, POST, /api/upload-avatar, *, * p, *, *, POST, /api/unlink, *, * p, *, *, POST, /api/set-password, *, * diff --git a/controllers/resource.go b/controllers/resource.go index e0db9a4d..412393cb 100644 --- a/controllers/resource.go +++ b/controllers/resource.go @@ -28,8 +28,9 @@ import ( func (c *ApiController) GetResources() { owner := c.Input().Get("owner") + user := c.Input().Get("user") - c.Data["json"] = object.GetResources(owner) + c.Data["json"] = object.GetResources(owner, user) c.ServeJSON() } diff --git a/object/resource.go b/object/resource.go index 05a51c53..31d24b0f 100644 --- a/object/resource.go +++ b/object/resource.go @@ -38,13 +38,14 @@ type Resource struct { Url string `xorm:"varchar(100)" json:"url"` } -func GetResources(owner string) []*Resource { - if owner == "admin" { +func GetResources(owner string, user string) []*Resource { + if owner == "built-in" { owner = "" + user = "" } resources := []*Resource{} - err := adapter.Engine.Desc("created_time").Find(&resources, &Resource{Owner: owner}) + err := adapter.Engine.Desc("created_time").Find(&resources, &Resource{Owner: owner, User: user}) if err != nil { panic(err) } diff --git a/web/src/App.js b/web/src/App.js index 376e4ee5..f34b6bd6 100644 --- a/web/src/App.js +++ b/web/src/App.js @@ -321,13 +321,17 @@ class App extends Component { ); - res.push( - - - {i18next.t("general:Resources")} - - - ); + } + + res.push( + + + {i18next.t("general:Resources")} + + + ); + + if (Setting.isAdminUser(this.state.account)) { res.push( @@ -336,13 +340,14 @@ class App extends Component { ); res.push( - - - {i18next.t("general:Records")} - - + + + {i18next.t("general:Records")} + + ); } + res.push( @@ -350,6 +355,7 @@ class App extends Component { ); + return res; } diff --git a/web/src/ResourceListPage.js b/web/src/ResourceListPage.js index 00b9708d..6e2c6983 100644 --- a/web/src/ResourceListPage.js +++ b/web/src/ResourceListPage.js @@ -37,7 +37,7 @@ class ResourceListPage extends React.Component { } getResources() { - ResourceBackend.getResources("admin") + ResourceBackend.getResources(this.props.account.owner, this.props.account.name) .then((res) => { this.setState({ resources: res, diff --git a/web/src/backend/ResourceBackend.js b/web/src/backend/ResourceBackend.js index 62d28930..79f15ca2 100644 --- a/web/src/backend/ResourceBackend.js +++ b/web/src/backend/ResourceBackend.js @@ -14,8 +14,8 @@ import * as Setting from "../Setting"; -export function getResources(owner) { - return fetch(`${Setting.ServerUrl}/api/get-resources?owner=${owner}`, { +export function getResources(owner, user) { + return fetch(`${Setting.ServerUrl}/api/get-resources?owner=${owner}&user=${user}`, { method: "GET", credentials: "include" }).then(res => res.json());