Files
hereconnect/services/db-migrations/migrations/1732483677017-dbs.js
T

64 lines
1.5 KiB
JavaScript
Raw Normal View History

2024-11-24 23:52:52 +02:00
import { fetch } from "pouchdb-fetch";
const dbsSecurity = {
web_push_subscriptions: {
admins: { roles: ["_admin"] },
members: { roles: [] },
},
messages: {
admins: { roles: ["_admin"] },
members: { roles: [] },
},
server_settings: {
admins: { roles: ["_admin"] },
2024-12-02 08:50:25 +02:00
members: { roles: ["_admin"] },
},
qr: {
admins: { roles: ["_admin"] },
members: { roles: [] },
},
public_settings: {
admins: { roles: ["_admin"] },
members: { roles: [] },
},
user_chat_settings: {
admins: { roles: ["_admin"] },
members: { roles: [] },
2024-11-24 23:52:52 +02:00
},
};
export const up = async () => {
for (const [dbName, dbSecurity] of Object.entries(dbsSecurity)) {
2024-12-02 08:50:25 +02:00
const responseCreateDb = await fetch(`${process.env.API_URL}/${dbName}`, {
2024-11-24 23:52:52 +02:00
method: "PUT",
});
2024-12-02 08:50:25 +02:00
console.assert(
(await responseCreateDb.json()).ok,
`${dbName} create db error`,
);
const responseSetSecurity = await fetch(
`${process.env.API_URL}/${dbName}/_security`,
{
method: "PUT",
body: JSON.stringify(dbSecurity),
},
);
console.assert(
(await responseSetSecurity.json()).ok,
`${dbName} security error`,
);
2024-11-24 23:52:52 +02:00
}
};
export const down = async () => {
for (const dbName of Object.keys(dbsSecurity)) {
2024-12-02 08:50:25 +02:00
const responseDeleteDb = await fetch(`${process.env.API_URL}/${dbName}`, {
2024-11-24 23:52:52 +02:00
method: "DELETE",
});
2024-12-02 08:50:25 +02:00
console.assert(
(await responseDeleteDb.json()).ok,
`${dbName} create db error`,
);
2024-11-24 23:52:52 +02:00
}
};