deprecate starters workspace by pointing resource types to admins

This commit is contained in:
Ruben Fiszel
2023-01-01 08:59:00 +01:00
parent 762fa6e401
commit a7070260d3
7 changed files with 38 additions and 26 deletions

View File

@@ -9,6 +9,6 @@ for item in ${RT[@]}; do
jq -r '.resource_type.schema' <<< "$body" > ./tmp
description=$(jq -r '.resource_type.description' <<< "$body")
description=$(echo -E $description)
echo "{\"workspace_id\": \"starter\", \"name\": \"$name\", \"schema\": $(cat ./tmp), \"description\": \"$description\"} " | jq . > community/resource_types/${name}.json
echo "{\"workspace_id\": \"admins\", \"name\": \"$name\", \"schema\": $(cat ./tmp), \"description\": \"$description\"} " | jq . > community/resource_types/${name}.json
rm ./tmp
done

View File

@@ -0,0 +1 @@
-- Add down migration script here

View File

@@ -0,0 +1,15 @@
-- Add up migration script here
UPDATE script SET content = 'import wmill from "https://deno.land/x/wmill@v1.57.0/main.ts";
export async function main() {
await run(
"workspace", "add", "__automation", "admins", Deno.env.get("WM_BASE_URL") + "/", "--token", Deno.env.get("WM_TOKEN"));
await run("hub", "pull");
}
async function run(...cmd: string[]) {
console.log("Running \"" + cmd.join('' '') + "\"");
await wmill.parse(cmd);
}', summary = 'Synchronize Hub Resource types with admins workspace',
description = 'Basic administrative script to sync latest resource types from hub to share to every workspace. Recommended to run at least once. On a schedule by default.'
WHERE hash = -28028598712388162 AND workspace_id = 'admins';

View File

@@ -2717,23 +2717,7 @@
},
"query": "SELECT 1 FROM script WHERE hash = $1 AND workspace_id = $2"
},
"8a80333c2fbf7b50fed305882de6e4ffda985d5c648cd617add6c9e6a9c03f34": {
"describe": {
"columns": [],
"nullable": [],
"parameters": {
"Left": [
"Varchar",
"Varchar",
"Jsonb",
"Text",
"Varchar"
]
}
},
"query": "INSERT INTO resource\n (workspace_id, path, value, description, resource_type)\n VALUES ($1, $2, $3, $4, $5)"
},
"8ad6a17eecce77f61236e0585ba89b99a32e07ad37b97662007db35acb59d139": {
"8971be3b27108d2e9bda18ac718c62c67c063b9e5195842cd008803584ccf93c": {
"describe": {
"columns": [
{
@@ -2769,7 +2753,23 @@
]
}
},
"query": "SELECT * from resource_type WHERE (workspace_id = $1 OR workspace_id = 'starter') ORDER BY name"
"query": "SELECT * from resource_type WHERE (workspace_id = $1 OR workspace_id = 'starter' OR workspace_id = 'admins') ORDER BY name"
},
"8a80333c2fbf7b50fed305882de6e4ffda985d5c648cd617add6c9e6a9c03f34": {
"describe": {
"columns": [],
"nullable": [],
"parameters": {
"Left": [
"Varchar",
"Varchar",
"Jsonb",
"Text",
"Varchar"
]
}
},
"query": "INSERT INTO resource\n (workspace_id, path, value, description, resource_type)\n VALUES ($1, $2, $3, $4, $5)"
},
"8af34c8fd96ccc3c007e211982e60306fee109944c2a053e8c38632992c39983": {
"describe": {

View File

@@ -408,7 +408,7 @@ async fn list_resource_types(
) -> JsonResult<Vec<ResourceType>> {
let rows = sqlx::query_as!(
ResourceType,
"SELECT * from resource_type WHERE (workspace_id = $1 OR workspace_id = 'starter') ORDER \
"SELECT * from resource_type WHERE (workspace_id = $1 OR workspace_id = 'starter' OR workspace_id = 'admins') ORDER \
BY name",
&w_id
)

View File

@@ -6,9 +6,9 @@ import { GlobalOptions } from "./types.ts";
async function pull(opts: GlobalOptions) {
const workspace = await resolveWorkspace(opts);
if (workspace.workspaceId !== "starter") {
if (workspace.workspaceId !== "admins") {
console.log(
"Should only sync to starter workspace, but current is not starter.",
"Should only sync to admins workspace, but current is not admins.",
);
return;
}

View File

@@ -44,10 +44,6 @@ export const userWorkspaces: Readable<
id: "admins",
name: "Admins",
username: "superadmin",
}, {
id: "starter",
name: "Starter",
username: "superadmin",
}];
} else {
return originalWorkspaces;