-
-
Notifications
You must be signed in to change notification settings - Fork 248
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Project Configurable Env Settings #5409
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks great, nice job!
} | ||
|
||
export const state = createState({ | ||
projectSetting: [] as Array<ProjectSettingValue> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this state can just be an array, e.g.,
createState([] as Array<ProjectSettingValue>)
export interface ProjectSettingSchema { | ||
key: string | ||
type: string | ||
scopes: Array<string> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
type/scopes properties not being used anywhere?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this will be used when we start adding code to check whether a person has access to any project setting or not
Summary
Add project settings seeded from xrengine.config.ts of each project and allow updating from Admin Panel Settings
This PR will add a column to Project Table named
settings
which can store and array of objects ({key: "", value: ""}). The key is the name of the setting and value can consist of any any string value you want stored against it.The Admin Panel will have a
Project Tab
in/settings
route now which will show settings config loaded from xrengine.config.ts , which then can be updated and stored in the database against each project.By default the Settings column of Project Table will be hidden from
project service
but can be accessed throughproject-settings service
like its used in the admin panel routes. Only admins currently have access to these api but later scopes can be used to allow fetching them according to the scehma available with each project.Checklist
npm run check
npm run lint
npm run test:packages
npm run build-client
References
#5183
QA Steps
git checkout pr_branch_name
npm install
npm run dev-reinit
npm run dev
List any additional steps required to QA the changes of this PR, as well as any supplemental images or videos.
Reviewers
Reviewers for this PR