vscode-appwrite/src/commands/database/createRule.ts
Alex Weininger 354b635701
Refresh tree after adding or removing project (#7)
* refresh tree after adding or removing project

* Always check if client is defined

* fix lint errors

* remove extra nodejs versions from pipeline
2021-04-30 02:53:24 -07:00

29 lines
854 B
TypeScript

import { CreatedRule } from "../../appwrite";
import { databaseClient } from "../../client";
import { RulesTreeItem } from "../../tree/database/settings/RulesTreeItem";
import { createRuleWizard } from "../../ui/createRuleWizard";
import { refreshTree } from '../../utils/refreshTree';
export async function createRule(rulesTreeItem: RulesTreeItem): Promise<void> {
if (!databaseClient) {
return;
}
const ruleContext = await createRuleWizard();
const collection = rulesTreeItem.parent.collection;
if (ruleContext) {
const newRule: CreatedRule = {
...ruleContext,
type: ruleContext.type,
required: true,
array: false,
};
databaseClient.createRule(collection, newRule);
await rulesTreeItem.refresh();
refreshTree("database");
}
}