feat(appwrite): add new documents trigger
This commit is contained in:
4
packages/backend/src/apps/appwrite/dynamic-data/index.js
Normal file
4
packages/backend/src/apps/appwrite/dynamic-data/index.js
Normal file
@@ -0,0 +1,4 @@
|
||||
import listCollections from './list-collections/index.js';
|
||||
import listDatabases from './list-databases/index.js';
|
||||
|
||||
export default [listCollections, listDatabases];
|
@@ -0,0 +1,33 @@
|
||||
export default {
|
||||
name: 'List collections',
|
||||
key: 'listCollections',
|
||||
|
||||
async run($) {
|
||||
const collections = {
|
||||
data: [],
|
||||
};
|
||||
const databaseId = $.step.parameters.databaseId;
|
||||
|
||||
if (!databaseId) {
|
||||
return collections;
|
||||
}
|
||||
|
||||
const { data } = await $.http.get(
|
||||
`/v1/databases/${databaseId}/collections`
|
||||
);
|
||||
|
||||
if (data?.collections) {
|
||||
const sortedCollections = data.collections.sort((a, b) =>
|
||||
a.$createdAt - b.$createdAt ? 1 : -1
|
||||
);
|
||||
for (const collection of sortedCollections) {
|
||||
collections.data.push({
|
||||
value: collection.$id,
|
||||
name: collection.name,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
return collections;
|
||||
},
|
||||
};
|
@@ -0,0 +1,26 @@
|
||||
export default {
|
||||
name: 'List databases',
|
||||
key: 'listDatabases',
|
||||
|
||||
async run($) {
|
||||
const databases = {
|
||||
data: [],
|
||||
};
|
||||
|
||||
const { data } = await $.http.get('/v1/databases');
|
||||
|
||||
if (data?.databases) {
|
||||
const sortedDatabases = data.databases.sort((a, b) =>
|
||||
a.$createdAt - b.$createdAt ? 1 : -1
|
||||
);
|
||||
for (const database of sortedDatabases) {
|
||||
databases.data.push({
|
||||
value: database.$id,
|
||||
name: database.name,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
return databases;
|
||||
},
|
||||
};
|
Reference in New Issue
Block a user