|
10 | 10 | const config = require('config'); |
11 | 11 | const { sql } = require('slonik'); |
12 | 12 | const { Actor, Audit, Entity, Submission, Form } = require('../frames'); |
13 | | -const { sqlEquals, extender, unjoiner, page, markDeleted, insertMany, sqlInArray } = require('../../util/db'); |
| 13 | +const { sqlEquals, extender, unjoiner, page, markDeleted, insertMany } = require('../../util/db'); |
14 | 14 | const { map, mergeRight, pickAll } = require('ramda'); |
15 | 15 | const { blankStringToNull, construct } = require('../../util/util'); |
16 | 16 | const { QueryOptions } = require('../../util/db'); |
@@ -783,7 +783,7 @@ const _get = (includeSource) => { |
783 | 783 | ) submissions ON submissions.id = submission_defs."submissionId" |
784 | 784 | LEFT JOIN forms ON submissions."formId" = forms.id |
785 | 785 | `} |
786 | | - WHERE ${sqlEquals(options.condition)} AND entities."deletedAt" is ${deleted ? sql`not` : sql``} null |
| 786 | + WHERE ${sqlEquals(options.condition, { uuid: 'uuid' })} AND entities."deletedAt" is ${deleted ? sql`not` : sql``} null |
787 | 787 | ORDER BY entities."createdAt" DESC, entities.id DESC |
788 | 788 | `); |
789 | 789 | }; |
@@ -1029,11 +1029,12 @@ const purge = (force = false, projectId = null, datasetName = null, entityUuid = |
1029 | 1029 | // INTEGRITY CHECK |
1030 | 1030 |
|
1031 | 1031 | const idFilter = (options, idCol = 'uuid') => { |
1032 | | - const query = options.ifArg('id', ids => { |
1033 | | - const idList = ids.split(',').map(id => id.trim()); |
1034 | | - return sqlInArray(sql.identifier([idCol]), idList); |
1035 | | - }); |
1036 | | - return query.sql ? query : sql`TRUE`; |
| 1032 | + if (options.args.id) { |
| 1033 | + const idList = options.args.id.split(',').map(id => id.trim()); |
| 1034 | + return idList.length ? sql`${sql.identifier([idCol])} = ANY (${sql.array(idList, 'uuid')})` : sql`TRUE`; |
| 1035 | + } else { |
| 1036 | + return sql`TRUE`; |
| 1037 | + } |
1037 | 1038 | }; |
1038 | 1039 |
|
1039 | 1040 | const getEntitiesState = (dataset, options = QueryOptions.none) => ({ all }) => all(sql` |
|
0 commit comments