fix: edit user password optional
This commit is contained in:
@@ -25,7 +25,7 @@ const APIKeys: React.FC = () => {
|
||||
});
|
||||
const intl = useIntl();
|
||||
const modalRef = useRef<any>(null);
|
||||
const [dataSource, setDataSource] = useState([]);
|
||||
const [dataSource, setDataSource] = useState<ListItem[]>([]);
|
||||
const [total, setTotal] = useState(0);
|
||||
const [openAddModal, setOpenAddModal] = useState(false);
|
||||
const [loading, setLoading] = useState(false);
|
||||
@@ -100,6 +100,7 @@ const APIKeys: React.FC = () => {
|
||||
const handleDelete = (row: ListItem) => {
|
||||
modalRef.current.show({
|
||||
content: 'apikeys.table.apikeys',
|
||||
name: row.name,
|
||||
async onOk() {
|
||||
console.log('OK');
|
||||
await deleteApisKey(row.id);
|
||||
@@ -111,6 +112,7 @@ const APIKeys: React.FC = () => {
|
||||
const handleDeleteBatch = () => {
|
||||
modalRef.current.show({
|
||||
content: 'apikeys.table.apikeys',
|
||||
selection: true,
|
||||
async onOk() {
|
||||
await handleBatchRequest(rowSelection.selectedRowKeys, deleteApisKey);
|
||||
rowSelection.clearSelections();
|
||||
|
||||
@@ -149,6 +149,7 @@ const Models: React.FC<ModelsProps> = ({
|
||||
const handleDelete = async (row: any) => {
|
||||
modalRef.current.show({
|
||||
content: 'models.table.models',
|
||||
name: row.name,
|
||||
async onOk() {
|
||||
await deleteModel(row.id);
|
||||
updateExpandedRowKeys([row.id]);
|
||||
@@ -158,6 +159,7 @@ const Models: React.FC<ModelsProps> = ({
|
||||
const handleDeleteBatch = () => {
|
||||
modalRef.current.show({
|
||||
content: 'models.table.models',
|
||||
selection: true,
|
||||
async onOk() {
|
||||
await handleBatchRequest(rowSelection.selectedRowKeys, deleteModel);
|
||||
rowSelection.clearSelections();
|
||||
@@ -181,6 +183,7 @@ const Models: React.FC<ModelsProps> = ({
|
||||
const handleDeleteInstace = (row: any, list: ModelInstanceListItem[]) => {
|
||||
modalRef.current.show({
|
||||
content: 'models.instances',
|
||||
name: row.name,
|
||||
async onOk() {
|
||||
await deleteModelInstance(row.id);
|
||||
if (list.length === 1) {
|
||||
|
||||
@@ -74,7 +74,7 @@ const ViewCodeModal: React.FC<ViewModalProps> = (props) => {
|
||||
const systemList = systemMessage
|
||||
? [{ role: 'system', content: systemMessage }]
|
||||
: [];
|
||||
const code = `const OpenAI = require("openai");\n\nconst openai = new OpenAI({\n "apiKey": "YOUR_GPUSTACK_API_KEY",\n "baseURL": "${BaseURL}"\n});\n\n\nasync function main(){\nconst params = ${JSON.stringify(
|
||||
const code = `const OpenAI = require("openai");\n\nconst openai = new OpenAI({\n "apiKey": "YOUR_GPUSTACK_API_KEY",\n "baseURL": "${BaseURL}"\n});\n\n\nasync function main(){\n const params = ${JSON.stringify(
|
||||
{
|
||||
...parameters,
|
||||
messages: [
|
||||
@@ -85,8 +85,8 @@ const ViewCodeModal: React.FC<ViewModalProps> = (props) => {
|
||||
]
|
||||
},
|
||||
null,
|
||||
2
|
||||
)};\nconst chatCompletion = await openai.chat.completions.create(params);\n console.log(chatCompletion.choices[0]);\n}\nmain();`;
|
||||
4
|
||||
)};\nconst chatCompletion = await openai.chat.completions.create(params);\n console.log(chatCompletion.choices[0].message.content);\n}\nmain();`;
|
||||
setCodeValue(code);
|
||||
} else if (lang === 'python') {
|
||||
const formattedParams = _.keys(parameters).reduce(
|
||||
@@ -137,6 +137,9 @@ const ViewCodeModal: React.FC<ViewModalProps> = (props) => {
|
||||
minimap: {
|
||||
enabled: false
|
||||
},
|
||||
hover: {
|
||||
enabled: false
|
||||
},
|
||||
readOnly: true,
|
||||
formatOnType: true,
|
||||
formatOnPaste: true,
|
||||
|
||||
@@ -54,13 +54,6 @@ const Resources: React.FC = () => {
|
||||
setLoading(false);
|
||||
}
|
||||
};
|
||||
const handleShowSizeChange = (current: number, size: number) => {
|
||||
setQueryParams({
|
||||
...queryParams,
|
||||
page: current,
|
||||
perPage: size || 10
|
||||
});
|
||||
};
|
||||
|
||||
const handlePageChange = (page: number, perPage: number | undefined) => {
|
||||
console.log(page, perPage);
|
||||
@@ -104,6 +97,7 @@ const Resources: React.FC = () => {
|
||||
const handleDelete = (row: ListItem) => {
|
||||
modalRef.current.show({
|
||||
content: 'worker',
|
||||
name: row.name,
|
||||
async onOk() {
|
||||
console.log('OK');
|
||||
await deleteWorker(row.id);
|
||||
@@ -115,6 +109,7 @@ const Resources: React.FC = () => {
|
||||
const handleDeleteBatch = () => {
|
||||
modalRef.current.show({
|
||||
content: 'wokers',
|
||||
selection: true,
|
||||
async onOk() {
|
||||
await handleBatchRequest(rowSelection.selectedRowKeys, deleteWorker);
|
||||
rowSelection.clearSelections();
|
||||
|
||||
@@ -116,7 +116,7 @@ const AddModal: React.FC<AddModalProps> = ({
|
||||
name="password"
|
||||
rules={[
|
||||
{
|
||||
required: true,
|
||||
required: action === PageAction.CREATE,
|
||||
pattern: PasswordReg,
|
||||
message: intl.formatMessage({ id: 'users.form.rule.password' })
|
||||
}
|
||||
@@ -124,7 +124,7 @@ const AddModal: React.FC<AddModalProps> = ({
|
||||
>
|
||||
<SealInput.Password
|
||||
label={intl.formatMessage({ id: 'common.form.password' })}
|
||||
required
|
||||
required={action === PageAction.CREATE}
|
||||
></SealInput.Password>
|
||||
</Form.Item>
|
||||
</Form>
|
||||
|
||||
@@ -144,6 +144,7 @@ const Users: React.FC = () => {
|
||||
const handleDelete = (row: ListItem) => {
|
||||
modalRef.current.show({
|
||||
content: 'users.table.user',
|
||||
name: row.name,
|
||||
async onOk() {
|
||||
console.log('OK');
|
||||
await deleteUser(row.id);
|
||||
@@ -155,6 +156,7 @@ const Users: React.FC = () => {
|
||||
const handleDeleteBatch = () => {
|
||||
modalRef.current.show({
|
||||
content: 'users.table.user',
|
||||
selection: true,
|
||||
async onOk() {
|
||||
await handleBatchRequest(rowSelection.selectedRowKeys, deleteUser);
|
||||
rowSelection.clearSelections();
|
||||
|
||||
Reference in New Issue
Block a user