From 6ad956a5e759140a3505828259bea7411a476a36 Mon Sep 17 00:00:00 2001 From: Dishant Hirpara Date: Tue, 4 Aug 2026 13:34:26 -0700 Subject: [PATCH] [Node] Document created/modified time search params on search() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit #9538 What changed: - Added a JSDoc block above the search() function in lib/management/user.ts documenting fromCreatedTime, toCreatedTime, fromModifiedTime, and toModifiedTime, matching the JSDoc style already used on the deprecated searchAll() function above it. - Updated the README "Search all users" example to show fromCreatedTime/toModifiedTime usage. - No functional/type code was changed: these 4 fields already existed on the SearchRequest type (with only inline `//` comments) and were already wired through to the request body via the `...searchReq` spread in search() — they just lacked a proper JSDoc block on the function itself. - Per explicit instruction, the deprecated searchAll() function (which does not support these params) was left untouched. Verified: - Manual diff review only: the change is a JSDoc comment block plus a README edit, added directly above an existing, unmodified arrow function — no syntax risk to the surrounding code. Not verified: - No TypeScript compile/typecheck was run (`tsc --noEmit` or similar) because node_modules were not installed in this session and doing so was out of scope for this check. No integration/functional testing against a live API was performed. --- README.md | 4 ++++ lib/management/user.ts | 10 ++++++++++ 2 files changed, 14 insertions(+) diff --git a/README.md b/README.md index 808fe3f39..7e2ea499a 100644 --- a/README.md +++ b/README.md @@ -904,10 +904,14 @@ usersRes.data.forEach((user) => { // Search all users, optionally according to tenant and/or role filter // Results can be paginated using the limit and page parameters // Additional filters: verifiedEmail, verifiedPhone, statuses, roles, tenantIds, etc. +// Results can also be filtered by time using fromCreatedTime, toCreatedTime, +// fromModifiedTime, and toModifiedTime (epoch in milliseconds) const usersRes = await descopeClient.management.user.search({ tenantIds: ['tenant-ID'], verifiedEmail: true, // optional: filter by verified email status verifiedPhone: false, // optional: filter by verified phone status + fromCreatedTime: 1700000000000, // optional: only users created on or after this time + toModifiedTime: 1800000000000, // optional: only users modified on or before this time }); console.log('Total users:', usersRes.data.total); usersRes.data.users.forEach((user) => { diff --git a/lib/management/user.ts b/lib/management/user.ts index 87a0fe4b2..44454dc5f 100644 --- a/lib/management/user.ts +++ b/lib/management/user.ts @@ -674,6 +674,16 @@ const withUser = (httpClient: HttpClient) => { }), (data) => ({ users: data.users, total: data.total }), ), + /** + * Search all users. Results can be filtered according to tenants, roles, + * and other attributes on the given SearchRequest, and paginated using + * the limit and page fields. + * @param searchReq.fromCreatedTime only include users created on or after this time (epoch in milliseconds) + * @param searchReq.toCreatedTime only include users created on or before this time (epoch in milliseconds) + * @param searchReq.fromModifiedTime only include users modified on or after this time (epoch in milliseconds) + * @param searchReq.toModifiedTime only include users modified on or before this time (epoch in milliseconds) + * @returns The users found by the query, along with the total number of matches + */ search: (searchReq: SearchRequest): Promise> => transformResponse( httpClient.post(apiPaths.user.search, {