directus
1// dynamically adds fields to the sql strings as the schema grows
2export const sqlFieldFormatter = (schema: Record<string, any>, table: string) => {
3const fields = [];
4
5// Exclude alias fields, unable to selected in DB
6for (const field of Object.keys(schema['collections'][table].fields)) {
7if (schema['collections'][table].fields[field].type !== 'alias') {
8fields.push(field);
9}
10}
11
12let sql = '';
13
14for (const field of fields.slice(0, fields.length - 1)) {
15sql += `"${table}"."${field}", `;
16}
17
18sql += `"${table}"."${fields[fields.length - 1]}"`;
19return sql;
20};
21
22export const sqlFieldList = (schema: Record<string, any>, table: string) => {
23const fields = [];
24
25// Exclude alias fields, unable to selected in DB
26for (const field of Object.keys(schema['collections'][table].fields)) {
27if (schema['collections'][table].fields[field].type !== 'alias') {
28fields.push(field);
29}
30}
31
32let sql = '';
33
34for (const field of fields.slice(0, fields.length - 1)) {
35sql += `"${field}", `;
36}
37
38sql += `"${fields[fields.length - 1]}"`;
39return sql;
40};
41