@marcoappio/marco-config 2.0.419 → 2.0.420
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/types/Zero.d.ts +4 -0
- package/dist/types/Zero.d.ts.map +1 -0
- package/dist/types/Zero.js +1 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +1 -0
- package/dist/zero/index.d.ts +4587 -0
- package/dist/zero/index.d.ts.map +1 -1
- package/dist/zero/index.js +9 -0
- package/dist/zero/queries/getAccounts.d.ts +898 -0
- package/dist/zero/queries/getAccounts.d.ts.map +1 -0
- package/dist/zero/queries/getAccounts.js +3 -0
- package/dist/zero/queries/getContacts.d.ts +880 -0
- package/dist/zero/queries/getContacts.d.ts.map +1 -0
- package/dist/zero/queries/getContacts.js +34 -0
- package/dist/zero/queries/getDrafts.d.ts +930 -0
- package/dist/zero/queries/getDrafts.d.ts.map +1 -0
- package/dist/zero/queries/getDrafts.js +31 -0
- package/dist/zero/queries/getThreads.d.ts +931 -0
- package/dist/zero/queries/getThreads.d.ts.map +1 -0
- package/dist/zero/queries/getThreads.js +57 -0
- package/dist/zero/queries/getUser.d.ts +962 -0
- package/dist/zero/queries/getUser.d.ts.map +1 -0
- package/dist/zero/queries/getUser.js +9 -0
- package/dist/zero/queries/index.d.ts +863 -0
- package/dist/zero/queries/index.d.ts.map +1 -0
- package/dist/zero/queries/index.js +8 -0
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getContacts.d.ts","sourceRoot":"","sources":["../../../src/zero/queries/getContacts.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAA;AAGlE,KAAK,eAAe,GAAG;IACrB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE;QACN,YAAY,CAAC,EAAE,MAAM,CAAA;QACrB,IAAI,CAAC,EAAE,MAAM,CAAA;KACd,CAAA;CACF,CAAA;AAgBD,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCvB,CAAA"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { syncedQueryWithContext } from '@rocicorp/zero';
|
|
2
|
+
import * as v from 'valibot';
|
|
3
|
+
import { z } from '../../zero/queries';
|
|
4
|
+
const parseArgs = (args) => {
|
|
5
|
+
const schema = v.object({
|
|
6
|
+
limit: v.number(),
|
|
7
|
+
search: v.optional(v.string()),
|
|
8
|
+
where: v.optional(v.object({
|
|
9
|
+
emailAddress: v.optional(v.string()),
|
|
10
|
+
name: v.optional(v.string()),
|
|
11
|
+
})),
|
|
12
|
+
});
|
|
13
|
+
return [v.parse(schema, args[0])];
|
|
14
|
+
};
|
|
15
|
+
export const getContacts = syncedQueryWithContext('getContacts', parseArgs, ({ userId }, { search, limit, where }) => {
|
|
16
|
+
let query = z.contact.where('userId', userId).related('user').orderBy('emailAddress', 'asc');
|
|
17
|
+
if (where?.emailAddress) {
|
|
18
|
+
query = query.where('emailAddress', 'ILIKE', where.emailAddress);
|
|
19
|
+
}
|
|
20
|
+
if (where?.name) {
|
|
21
|
+
query = query.where('name', 'ILIKE', where.name);
|
|
22
|
+
}
|
|
23
|
+
if (search) {
|
|
24
|
+
const sanitizedTerm = search.trim().toLowerCase();
|
|
25
|
+
const tokens = sanitizedTerm.split(/\s+/).filter(Boolean);
|
|
26
|
+
if (tokens.length > 0) {
|
|
27
|
+
query = query.where(({ and, or, cmp }) => and(...tokens.map(token => or(cmp('name', 'ILIKE', `%${token}%`), cmp('emailAddress', 'ILIKE', `%${token}%`)))));
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
if (typeof limit === 'number') {
|
|
31
|
+
query = query.limit(limit);
|
|
32
|
+
}
|
|
33
|
+
return query;
|
|
34
|
+
});
|