@intlayer/backend-contract 0.0.0-stage → 9.7.0
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/cjs/ai.cjs +267 -0
- package/dist/cjs/ai.cjs.map +1 -0
- package/dist/cjs/analytics.cjs +175 -0
- package/dist/cjs/analytics.cjs.map +1 -0
- package/dist/cjs/asset.cjs +88 -0
- package/dist/cjs/asset.cjs.map +1 -0
- package/dist/cjs/blogComment.cjs +98 -0
- package/dist/cjs/blogComment.cjs.map +1 -0
- package/dist/cjs/cliSessionToken.cjs +40 -0
- package/dist/cjs/cliSessionToken.cjs.map +1 -0
- package/dist/cjs/common.cjs +42 -0
- package/dist/cjs/common.cjs.map +1 -0
- package/dist/cjs/defineRoute.cjs +26 -0
- package/dist/cjs/defineRoute.cjs.map +1 -0
- package/dist/cjs/demo.cjs +22 -0
- package/dist/cjs/demo.cjs.map +1 -0
- package/dist/cjs/dictionary.cjs +168 -0
- package/dist/cjs/dictionary.cjs.map +1 -0
- package/dist/cjs/environment.cjs +91 -0
- package/dist/cjs/environment.cjs.map +1 -0
- package/dist/cjs/eventListener.cjs +19 -0
- package/dist/cjs/eventListener.cjs.map +1 -0
- package/dist/cjs/gitProviders.cjs +361 -0
- package/dist/cjs/gitProviders.cjs.map +1 -0
- package/dist/cjs/newsletter.cjs +50 -0
- package/dist/cjs/newsletter.cjs.map +1 -0
- package/dist/cjs/oAuth2.cjs +62 -0
- package/dist/cjs/oAuth2.cjs.map +1 -0
- package/dist/cjs/organization.cjs +226 -0
- package/dist/cjs/organization.cjs.map +1 -0
- package/dist/cjs/project.cjs +401 -0
- package/dist/cjs/project.cjs.map +1 -0
- package/dist/cjs/public.cjs +60 -0
- package/dist/cjs/public.cjs.map +1 -0
- package/dist/cjs/responseData.cjs +33 -0
- package/dist/cjs/responseData.cjs.map +1 -0
- package/dist/cjs/reviewer.cjs +401 -0
- package/dist/cjs/reviewer.cjs.map +1 -0
- package/dist/cjs/scan.cjs +235 -0
- package/dist/cjs/scan.cjs.map +1 -0
- package/dist/cjs/search.cjs +40 -0
- package/dist/cjs/search.cjs.map +1 -0
- package/dist/cjs/session.cjs +56 -0
- package/dist/cjs/session.cjs.map +1 -0
- package/dist/cjs/showcaseProject.cjs +185 -0
- package/dist/cjs/showcaseProject.cjs.map +1 -0
- package/dist/cjs/stripe.cjs +388 -0
- package/dist/cjs/stripe.cjs.map +1 -0
- package/dist/cjs/tag.cjs +83 -0
- package/dist/cjs/tag.cjs.map +1 -0
- package/dist/cjs/translation.cjs +54 -0
- package/dist/cjs/translation.cjs.map +1 -0
- package/dist/cjs/user.cjs +153 -0
- package/dist/cjs/user.cjs.map +1 -0
- package/dist/esm/ai.mjs +261 -0
- package/dist/esm/ai.mjs.map +1 -0
- package/dist/esm/analytics.mjs +168 -0
- package/dist/esm/analytics.mjs.map +1 -0
- package/dist/esm/asset.mjs +86 -0
- package/dist/esm/asset.mjs.map +1 -0
- package/dist/esm/blogComment.mjs +94 -0
- package/dist/esm/blogComment.mjs.map +1 -0
- package/dist/esm/cliSessionToken.mjs +39 -0
- package/dist/esm/cliSessionToken.mjs.map +1 -0
- package/dist/esm/common.mjs +35 -0
- package/dist/esm/common.mjs.map +1 -0
- package/dist/esm/defineRoute.mjs +23 -0
- package/dist/esm/defineRoute.mjs.map +1 -0
- package/dist/esm/demo.mjs +21 -0
- package/dist/esm/demo.mjs.map +1 -0
- package/dist/esm/dictionary.mjs +163 -0
- package/dist/esm/dictionary.mjs.map +1 -0
- package/dist/esm/environment.mjs +90 -0
- package/dist/esm/environment.mjs.map +1 -0
- package/dist/esm/eventListener.mjs +18 -0
- package/dist/esm/eventListener.mjs.map +1 -0
- package/dist/esm/gitProviders.mjs +352 -0
- package/dist/esm/gitProviders.mjs.map +1 -0
- package/dist/esm/newsletter.mjs +49 -0
- package/dist/esm/newsletter.mjs.map +1 -0
- package/dist/esm/oAuth2.mjs +60 -0
- package/dist/esm/oAuth2.mjs.map +1 -0
- package/dist/esm/organization.mjs +219 -0
- package/dist/esm/organization.mjs.map +1 -0
- package/dist/esm/project.mjs +387 -0
- package/dist/esm/project.mjs.map +1 -0
- package/dist/esm/public.mjs +58 -0
- package/dist/esm/public.mjs.map +1 -0
- package/dist/esm/responseData.mjs +30 -0
- package/dist/esm/responseData.mjs.map +1 -0
- package/dist/esm/reviewer.mjs +390 -0
- package/dist/esm/reviewer.mjs.map +1 -0
- package/dist/esm/scan.mjs +225 -0
- package/dist/esm/scan.mjs.map +1 -0
- package/dist/esm/search.mjs +38 -0
- package/dist/esm/search.mjs.map +1 -0
- package/dist/esm/session.mjs +53 -0
- package/dist/esm/session.mjs.map +1 -0
- package/dist/esm/showcaseProject.mjs +182 -0
- package/dist/esm/showcaseProject.mjs.map +1 -0
- package/dist/esm/stripe.mjs +379 -0
- package/dist/esm/stripe.mjs.map +1 -0
- package/dist/esm/tag.mjs +81 -0
- package/dist/esm/tag.mjs.map +1 -0
- package/dist/esm/translation.mjs +53 -0
- package/dist/esm/translation.mjs.map +1 -0
- package/dist/esm/user.mjs +149 -0
- package/dist/esm/user.mjs.map +1 -0
- package/dist/types/@intlayer/config/dist/types/defaultValues/dictionary.d.ts +1 -0
- package/dist/types/@intlayer/config/dist/types/defaultValues/index.d.ts +3 -0
- package/dist/types/@intlayer/config/dist/types/defaultValues/internationalization.d.ts +2 -0
- package/dist/types/@intlayer/config/dist/types/defaultValues/routing.d.ts +1 -0
- package/dist/types/@intlayer/core/dist/types/dictionaryManipulator/plainDynamicLoader.d.ts +2 -0
- package/dist/types/@intlayer/core/dist/types/dictionaryManipulator/qualifiedDynamicLoader.d.ts +2 -0
- package/dist/types/@intlayer/core/dist/types/formatters/compact.d.ts +1 -0
- package/dist/types/@intlayer/core/dist/types/formatters/currency.d.ts +1 -0
- package/dist/types/@intlayer/core/dist/types/formatters/date.d.ts +1 -0
- package/dist/types/@intlayer/core/dist/types/formatters/index.d.ts +9 -0
- package/dist/types/@intlayer/core/dist/types/formatters/list.d.ts +1 -0
- package/dist/types/@intlayer/core/dist/types/formatters/number.d.ts +1 -0
- package/dist/types/@intlayer/core/dist/types/formatters/percentage.d.ts +1 -0
- package/dist/types/@intlayer/core/dist/types/formatters/relativeTime.d.ts +1 -0
- package/dist/types/@intlayer/core/dist/types/formatters/units.d.ts +1 -0
- package/dist/types/@intlayer/core/dist/types/interpreter/dictionaryTransformCache.d.ts +4 -0
- package/dist/types/@intlayer/core/dist/types/interpreter/getCondition.d.ts +2 -0
- package/dist/types/@intlayer/core/dist/types/interpreter/getContent/deepTransform.d.ts +1 -0
- package/dist/types/@intlayer/core/dist/types/interpreter/getContent/getContent.d.ts +3 -0
- package/dist/types/@intlayer/core/dist/types/interpreter/getContent/index.d.ts +3 -0
- package/dist/types/@intlayer/core/dist/types/interpreter/getContent/plugins.d.ts +7 -0
- package/dist/types/@intlayer/core/dist/types/interpreter/getDictionary.d.ts +4 -0
- package/dist/types/@intlayer/core/dist/types/interpreter/getDictionaryAsync.d.ts +6 -0
- package/dist/types/@intlayer/core/dist/types/interpreter/getEnumeration.d.ts +2 -0
- package/dist/types/@intlayer/core/dist/types/interpreter/getGender.d.ts +2 -0
- package/dist/types/@intlayer/core/dist/types/interpreter/getInsertion.d.ts +2 -0
- package/dist/types/@intlayer/core/dist/types/interpreter/getIntlayer.d.ts +4 -0
- package/dist/types/@intlayer/core/dist/types/interpreter/getIntlayerAsync.d.ts +4 -0
- package/dist/types/@intlayer/core/dist/types/interpreter/getNesting.d.ts +6 -0
- package/dist/types/@intlayer/core/dist/types/interpreter/getPlural.d.ts +3 -0
- package/dist/types/@intlayer/core/dist/types/interpreter/getSelect.d.ts +2 -0
- package/dist/types/@intlayer/core/dist/types/interpreter/getTranslation.d.ts +1 -0
- package/dist/types/@intlayer/core/dist/types/interpreter/index.d.ts +19 -0
- package/dist/types/@intlayer/core/dist/types/interpreter/interpolableNode.d.ts +2 -0
- package/dist/types/@intlayer/core/dist/types/interpreter/resolveInterpreterLocale.d.ts +1 -0
- package/dist/types/@intlayer/core/dist/types/localization/comparePaths.d.ts +1 -0
- package/dist/types/@intlayer/core/dist/types/localization/domainUtils.d.ts +2 -0
- package/dist/types/@intlayer/core/dist/types/localization/generateSitemap.d.ts +2 -0
- package/dist/types/@intlayer/core/dist/types/localization/getBrowserLocale.d.ts +1 -0
- package/dist/types/@intlayer/core/dist/types/localization/getCanonicalPath.d.ts +2 -0
- package/dist/types/@intlayer/core/dist/types/localization/getHTMLTextDir.d.ts +1 -0
- package/dist/types/@intlayer/core/dist/types/localization/getLocale.d.ts +1 -0
- package/dist/types/@intlayer/core/dist/types/localization/getLocaleFromPath.d.ts +2 -0
- package/dist/types/@intlayer/core/dist/types/localization/getLocaleFromRequest.d.ts +1 -0
- package/dist/types/@intlayer/core/dist/types/localization/getLocaleLang.d.ts +1 -0
- package/dist/types/@intlayer/core/dist/types/localization/getLocaleName.d.ts +1 -0
- package/dist/types/@intlayer/core/dist/types/localization/getLocalizedPath.d.ts +2 -0
- package/dist/types/@intlayer/core/dist/types/localization/getLocalizedUrl.d.ts +2 -0
- package/dist/types/@intlayer/core/dist/types/localization/getMultilingualUrls.d.ts +2 -0
- package/dist/types/@intlayer/core/dist/types/localization/getPathWithoutLocale.d.ts +1 -0
- package/dist/types/@intlayer/core/dist/types/localization/getPrefix.d.ts +2 -0
- package/dist/types/@intlayer/core/dist/types/localization/index.d.ts +23 -0
- package/dist/types/@intlayer/core/dist/types/localization/localeDetector.d.ts +2 -0
- package/dist/types/@intlayer/core/dist/types/localization/localeMapper.d.ts +1 -0
- package/dist/types/@intlayer/core/dist/types/localization/localeResolver.d.ts +1 -0
- package/dist/types/@intlayer/core/dist/types/localization/resolveBrowserLocale.d.ts +2 -0
- package/dist/types/@intlayer/core/dist/types/localization/rewriteMatch.d.ts +1 -0
- package/dist/types/@intlayer/core/dist/types/localization/rewriteUtils.d.ts +2 -0
- package/dist/types/@intlayer/core/dist/types/localization/validatePrefix.d.ts +2 -0
- package/dist/types/@intlayer/core/dist/types/markdown/index.d.ts +2 -0
- package/dist/types/@intlayer/core/dist/types/transpiler/condition/condition.d.ts +1 -0
- package/dist/types/@intlayer/core/dist/types/transpiler/condition/index.d.ts +1 -0
- package/dist/types/@intlayer/core/dist/types/transpiler/enumeration/enumeration.d.ts +1 -0
- package/dist/types/@intlayer/core/dist/types/transpiler/enumeration/index.d.ts +1 -0
- package/dist/types/@intlayer/core/dist/types/transpiler/file/file.d.ts +1 -0
- package/dist/types/@intlayer/core/dist/types/transpiler/file/index.d.ts +1 -0
- package/dist/types/@intlayer/core/dist/types/transpiler/gender/gender.d.ts +1 -0
- package/dist/types/@intlayer/core/dist/types/transpiler/gender/index.d.ts +1 -0
- package/dist/types/@intlayer/core/dist/types/transpiler/html/html.d.ts +1 -0
- package/dist/types/@intlayer/core/dist/types/transpiler/html/index.d.ts +1 -0
- package/dist/types/@intlayer/core/dist/types/transpiler/index.d.ts +22 -0
- package/dist/types/@intlayer/core/dist/types/transpiler/insertion/index.d.ts +1 -0
- package/dist/types/@intlayer/core/dist/types/transpiler/insertion/insertion.d.ts +1 -0
- package/dist/types/@intlayer/core/dist/types/transpiler/markdown/index.d.ts +1 -0
- package/dist/types/@intlayer/core/dist/types/transpiler/markdown/markdown.d.ts +1 -0
- package/dist/types/@intlayer/core/dist/types/transpiler/nesting/index.d.ts +1 -0
- package/dist/types/@intlayer/core/dist/types/transpiler/nesting/nesting.d.ts +4 -0
- package/dist/types/@intlayer/core/dist/types/transpiler/plural/index.d.ts +1 -0
- package/dist/types/@intlayer/core/dist/types/transpiler/plural/plural.d.ts +1 -0
- package/dist/types/@intlayer/core/dist/types/transpiler/select/index.d.ts +1 -0
- package/dist/types/@intlayer/core/dist/types/transpiler/select/select.d.ts +1 -0
- package/dist/types/@intlayer/core/dist/types/transpiler/translation/index.d.ts +1 -0
- package/dist/types/@intlayer/core/dist/types/transpiler/translation/translation.d.ts +2 -0
- package/dist/types/@intlayer/core/dist/types/utils/index.d.ts +3 -0
- package/dist/types/@intlayer/core/dist/types/utils/intl.d.ts +1 -0
- package/dist/types/@intlayer/core/dist/types/utils/isSameKeyPath.d.ts +1 -0
- package/dist/types/@intlayer/core/dist/types/utils/localeStorage.d.ts +2 -0
- package/dist/types/ai.d.ts +549 -0
- package/dist/types/ai.d.ts.map +1 -0
- package/dist/types/analytics.d.ts +378 -0
- package/dist/types/analytics.d.ts.map +1 -0
- package/dist/types/asset.d.ts +207 -0
- package/dist/types/asset.d.ts.map +1 -0
- package/dist/types/blogComment.d.ts +241 -0
- package/dist/types/blogComment.d.ts.map +1 -0
- package/dist/types/cliSessionToken.d.ts +264 -0
- package/dist/types/cliSessionToken.d.ts.map +1 -0
- package/dist/types/common.d.ts +32 -0
- package/dist/types/common.d.ts.map +1 -0
- package/dist/types/defineRoute.d.ts +57 -0
- package/dist/types/defineRoute.d.ts.map +1 -0
- package/dist/types/demo.d.ts +21 -0
- package/dist/types/demo.d.ts.map +1 -0
- package/dist/types/dictionary.d.ts +360 -0
- package/dist/types/dictionary.d.ts.map +1 -0
- package/dist/types/environment.d.ts +285 -0
- package/dist/types/environment.d.ts.map +1 -0
- package/dist/types/eventListener.d.ts +17 -0
- package/dist/types/eventListener.d.ts.map +1 -0
- package/dist/types/gitProviders.d.ts +807 -0
- package/dist/types/gitProviders.d.ts.map +1 -0
- package/dist/types/intlayer/dist/types/index.d.ts +13 -0
- package/dist/types/newsletter.d.ts +165 -0
- package/dist/types/newsletter.d.ts.map +1 -0
- package/dist/types/oAuth2.d.ts +482 -0
- package/dist/types/oAuth2.d.ts.map +1 -0
- package/dist/types/organization.d.ts +1069 -0
- package/dist/types/organization.d.ts.map +1 -0
- package/dist/types/project.d.ts +1735 -0
- package/dist/types/project.d.ts.map +1 -0
- package/dist/types/public.d.ts +109 -0
- package/dist/types/public.d.ts.map +1 -0
- package/dist/types/responseData.d.ts +68 -0
- package/dist/types/responseData.d.ts.map +1 -0
- package/dist/types/reviewer.d.ts +1239 -0
- package/dist/types/reviewer.d.ts.map +1 -0
- package/dist/types/scan.d.ts +625 -0
- package/dist/types/scan.d.ts.map +1 -0
- package/dist/types/search.d.ts +55 -0
- package/dist/types/search.d.ts.map +1 -0
- package/dist/types/session.d.ts +286 -0
- package/dist/types/session.d.ts.map +1 -0
- package/dist/types/showcaseProject.d.ts +550 -0
- package/dist/types/showcaseProject.d.ts.map +1 -0
- package/dist/types/stripe.d.ts +1219 -0
- package/dist/types/stripe.d.ts.map +1 -0
- package/dist/types/tag.d.ts +193 -0
- package/dist/types/tag.d.ts.map +1 -0
- package/dist/types/translation.d.ts +162 -0
- package/dist/types/translation.d.ts.map +1 -0
- package/dist/types/user.d.ts +447 -0
- package/dist/types/user.d.ts.map +1 -0
- package/package.json +300 -4
- package/README.md +0 -3
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
import { dateTimeSchema, objectIdSchema, paginationQueryShape, repeatableQueryValueSchema } from "./common.mjs";
|
|
2
|
+
import { defineRoute, defineRouteGroup } from "./defineRoute.mjs";
|
|
3
|
+
import { paginatedResponseSchema, responseDataSchema } from "./responseData.mjs";
|
|
4
|
+
import { z } from "zod/mini";
|
|
5
|
+
|
|
6
|
+
//#region src/user.ts
|
|
7
|
+
/** Mailing lists a user can subscribe to. */
|
|
8
|
+
const emailsListSchema = z.enum(["newsLetter"]);
|
|
9
|
+
/** Mailing list names, usable as values (`EmailsList.NEWS_LETTER`). */
|
|
10
|
+
const EmailsList = { NEWS_LETTER: "newsLetter" };
|
|
11
|
+
/** User as returned by the API (auth provider and session internals stripped). */
|
|
12
|
+
const userSchema = z.looseObject({
|
|
13
|
+
id: z.string(),
|
|
14
|
+
email: z.string(),
|
|
15
|
+
emailVerified: z.boolean(),
|
|
16
|
+
name: z.string(),
|
|
17
|
+
image: z.optional(z.nullable(z.string())),
|
|
18
|
+
phone: z.optional(z.string()),
|
|
19
|
+
dateOfBirth: z.optional(dateTimeSchema),
|
|
20
|
+
emailsList: z.optional(z.partialRecord(emailsListSchema, z.boolean())),
|
|
21
|
+
/** Stripe customer id. */
|
|
22
|
+
customerId: z.optional(z.string()),
|
|
23
|
+
role: z.optional(z.nullable(z.string())),
|
|
24
|
+
lastLoginMethod: z.optional(z.enum([
|
|
25
|
+
"email",
|
|
26
|
+
"google",
|
|
27
|
+
"github",
|
|
28
|
+
"passkey"
|
|
29
|
+
])),
|
|
30
|
+
lang: z.optional(z.string()),
|
|
31
|
+
lastActiveOrganizationId: z.optional(z.nullable(z.string())),
|
|
32
|
+
lastActiveProjectId: z.optional(z.nullable(z.string())),
|
|
33
|
+
createdAt: dateTimeSchema,
|
|
34
|
+
updatedAt: dateTimeSchema
|
|
35
|
+
});
|
|
36
|
+
const userIdParamsSchema = z.object({ userId: objectIdSchema });
|
|
37
|
+
/** REST contract of the `/api/user` routes. */
|
|
38
|
+
const userContract = defineRouteGroup({
|
|
39
|
+
prefix: "/api/user",
|
|
40
|
+
tag: "User",
|
|
41
|
+
routes: {
|
|
42
|
+
getSetupStatus: defineRoute({
|
|
43
|
+
method: "GET",
|
|
44
|
+
path: "/setup",
|
|
45
|
+
summary: "Whether the instance still needs its first admin (self-hosted)",
|
|
46
|
+
schemas: { response: { 200: responseDataSchema(z.object({ isSetupRequired: z.boolean() })) } }
|
|
47
|
+
}),
|
|
48
|
+
getUsers: defineRoute({
|
|
49
|
+
method: "GET",
|
|
50
|
+
path: "/",
|
|
51
|
+
summary: "List users (organization members, or all for admins)",
|
|
52
|
+
schemas: {
|
|
53
|
+
querystring: z.looseObject({
|
|
54
|
+
...paginationQueryShape,
|
|
55
|
+
ids: z.optional(repeatableQueryValueSchema),
|
|
56
|
+
firstName: z.optional(z.string()),
|
|
57
|
+
lastName: z.optional(z.string()),
|
|
58
|
+
email: z.optional(z.string()),
|
|
59
|
+
emailVerified: z.optional(z.string()),
|
|
60
|
+
role: z.optional(z.string()),
|
|
61
|
+
search: z.optional(z.string()),
|
|
62
|
+
sortBy: z.optional(z.string()),
|
|
63
|
+
sortOrder: z.optional(z.string()),
|
|
64
|
+
/** Admin only: list every user. */
|
|
65
|
+
fetchAll: z.optional(z.enum(["true", "false"]))
|
|
66
|
+
}),
|
|
67
|
+
response: { 200: paginatedResponseSchema(userSchema) }
|
|
68
|
+
}
|
|
69
|
+
}),
|
|
70
|
+
updateUser: defineRoute({
|
|
71
|
+
method: "PUT",
|
|
72
|
+
path: "/",
|
|
73
|
+
summary: "Update a user profile",
|
|
74
|
+
schemas: {
|
|
75
|
+
/**
|
|
76
|
+
* Allow-list. `role`, `emailVerified` and `email` are honoured for
|
|
77
|
+
* admins only (users change their email through the verified auth
|
|
78
|
+
* flow). A new `email` is unverified unless `emailVerified` is sent.
|
|
79
|
+
*/
|
|
80
|
+
body: z.object({
|
|
81
|
+
id: objectIdSchema,
|
|
82
|
+
name: z.optional(z.string().check(z.minLength(1))),
|
|
83
|
+
email: z.optional(z.string().check(z.email())),
|
|
84
|
+
phone: z.optional(z.string()),
|
|
85
|
+
image: z.optional(z.nullable(z.string())),
|
|
86
|
+
lang: z.optional(z.string()),
|
|
87
|
+
emailVerified: z.optional(z.boolean()),
|
|
88
|
+
role: z.optional(z.nullable(z.string()))
|
|
89
|
+
}),
|
|
90
|
+
response: { 200: responseDataSchema(userSchema) }
|
|
91
|
+
}
|
|
92
|
+
}),
|
|
93
|
+
createUser: defineRoute({
|
|
94
|
+
method: "POST",
|
|
95
|
+
path: "/",
|
|
96
|
+
summary: "Admin only: create a user (sign-up goes through auth)",
|
|
97
|
+
schemas: {
|
|
98
|
+
body: z.object({
|
|
99
|
+
email: z.string().check(z.minLength(1)),
|
|
100
|
+
name: z.optional(z.string())
|
|
101
|
+
}),
|
|
102
|
+
response: { 200: responseDataSchema(userSchema) }
|
|
103
|
+
}
|
|
104
|
+
}),
|
|
105
|
+
getUserById: defineRoute({
|
|
106
|
+
method: "GET",
|
|
107
|
+
path: "/:userId",
|
|
108
|
+
summary: "Get a user",
|
|
109
|
+
schemas: {
|
|
110
|
+
params: userIdParamsSchema,
|
|
111
|
+
response: { 200: responseDataSchema(userSchema) }
|
|
112
|
+
}
|
|
113
|
+
}),
|
|
114
|
+
getUserByEmail: defineRoute({
|
|
115
|
+
method: "GET",
|
|
116
|
+
path: "/email/:email",
|
|
117
|
+
summary: "Get a user by email",
|
|
118
|
+
schemas: {
|
|
119
|
+
params: z.object({ email: z.string().check(z.minLength(1)) }),
|
|
120
|
+
response: { 200: responseDataSchema(userSchema) }
|
|
121
|
+
}
|
|
122
|
+
}),
|
|
123
|
+
deleteUser: defineRoute({
|
|
124
|
+
method: "DELETE",
|
|
125
|
+
path: "/:userId",
|
|
126
|
+
summary: "Delete a user",
|
|
127
|
+
schemas: {
|
|
128
|
+
params: userIdParamsSchema,
|
|
129
|
+
response: { 200: responseDataSchema(userSchema) }
|
|
130
|
+
}
|
|
131
|
+
}),
|
|
132
|
+
verifyEmailStatusSSE: defineRoute({
|
|
133
|
+
method: "GET",
|
|
134
|
+
path: "/verify-email-status/:userId",
|
|
135
|
+
summary: "Email verification status (server-sent events stream)",
|
|
136
|
+
schemas: { params: userIdParamsSchema }
|
|
137
|
+
}),
|
|
138
|
+
uploadAvatar: defineRoute({
|
|
139
|
+
method: "POST",
|
|
140
|
+
path: "/avatar",
|
|
141
|
+
summary: "Upload the avatar of the signed-in user (raw image body)",
|
|
142
|
+
schemas: { response: { 200: responseDataSchema(userSchema) } }
|
|
143
|
+
})
|
|
144
|
+
}
|
|
145
|
+
});
|
|
146
|
+
|
|
147
|
+
//#endregion
|
|
148
|
+
export { EmailsList, emailsListSchema, userContract, userSchema };
|
|
149
|
+
//# sourceMappingURL=user.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user.mjs","names":[],"sources":["../../src/user.ts"],"sourcesContent":["import { z } from 'zod/mini';\nimport {\n dateTimeSchema,\n objectIdSchema,\n paginationQueryShape,\n repeatableQueryValueSchema,\n} from './common';\nimport {\n defineRoute,\n defineRouteGroup,\n type RouteBodyInput,\n type RouteParams,\n type RouteQuerystring,\n} from './defineRoute';\nimport {\n type PaginatedResponse,\n paginatedResponseSchema,\n type ResponseData,\n responseDataSchema,\n} from './responseData';\n\n/** Mailing lists a user can subscribe to. */\nexport const emailsListSchema = z.enum(['newsLetter']);\n\n/** Mailing list names, usable as values (`EmailsList.NEWS_LETTER`). */\nexport const EmailsList = { NEWS_LETTER: 'newsLetter' } as const;\nexport type EmailsList = z.output<typeof emailsListSchema>;\n\n/** User as returned by the API (auth provider and session internals stripped). */\nexport const userSchema = z.looseObject({\n id: z.string(),\n email: z.string(),\n emailVerified: z.boolean(),\n name: z.string(),\n image: z.optional(z.nullable(z.string())),\n phone: z.optional(z.string()),\n dateOfBirth: z.optional(dateTimeSchema),\n emailsList: z.optional(z.partialRecord(emailsListSchema, z.boolean())),\n /** Stripe customer id. */\n customerId: z.optional(z.string()),\n role: z.optional(z.nullable(z.string())),\n lastLoginMethod: z.optional(z.enum(['email', 'google', 'github', 'passkey'])),\n lang: z.optional(z.string()),\n lastActiveOrganizationId: z.optional(z.nullable(z.string())),\n lastActiveProjectId: z.optional(z.nullable(z.string())),\n createdAt: dateTimeSchema,\n updatedAt: dateTimeSchema,\n});\n\nexport type UserAPI = z.output<typeof userSchema>;\n\nconst userIdParamsSchema = z.object({ userId: objectIdSchema });\n\n/** REST contract of the `/api/user` routes. */\nexport const userContract = defineRouteGroup({\n prefix: '/api/user',\n tag: 'User',\n routes: {\n getSetupStatus: defineRoute({\n method: 'GET',\n path: '/setup',\n summary: 'Whether the instance still needs its first admin (self-hosted)',\n schemas: {\n response: {\n 200: responseDataSchema(z.object({ isSetupRequired: z.boolean() })),\n },\n },\n }),\n getUsers: defineRoute({\n method: 'GET',\n path: '/',\n summary: 'List users (organization members, or all for admins)',\n schemas: {\n querystring: z.looseObject({\n ...paginationQueryShape,\n ids: z.optional(repeatableQueryValueSchema),\n firstName: z.optional(z.string()),\n lastName: z.optional(z.string()),\n email: z.optional(z.string()),\n emailVerified: z.optional(z.string()),\n role: z.optional(z.string()),\n search: z.optional(z.string()),\n sortBy: z.optional(z.string()),\n sortOrder: z.optional(z.string()),\n /** Admin only: list every user. */\n fetchAll: z.optional(z.enum(['true', 'false'])),\n }),\n response: { 200: paginatedResponseSchema(userSchema) },\n },\n }),\n updateUser: defineRoute({\n method: 'PUT',\n path: '/',\n summary: 'Update a user profile',\n schemas: {\n /**\n * Allow-list. `role`, `emailVerified` and `email` are honoured for\n * admins only (users change their email through the verified auth\n * flow). A new `email` is unverified unless `emailVerified` is sent.\n */\n body: z.object({\n id: objectIdSchema,\n name: z.optional(z.string().check(z.minLength(1))),\n email: z.optional(z.string().check(z.email())),\n phone: z.optional(z.string()),\n image: z.optional(z.nullable(z.string())),\n lang: z.optional(z.string()),\n emailVerified: z.optional(z.boolean()),\n role: z.optional(z.nullable(z.string())),\n }),\n response: { 200: responseDataSchema(userSchema) },\n },\n }),\n createUser: defineRoute({\n method: 'POST',\n path: '/',\n summary: 'Admin only: create a user (sign-up goes through auth)',\n schemas: {\n body: z.object({\n email: z.string().check(z.minLength(1)),\n name: z.optional(z.string()),\n }),\n response: { 200: responseDataSchema(userSchema) },\n },\n }),\n getUserById: defineRoute({\n method: 'GET',\n path: '/:userId',\n summary: 'Get a user',\n schemas: {\n params: userIdParamsSchema,\n response: { 200: responseDataSchema(userSchema) },\n },\n }),\n getUserByEmail: defineRoute({\n method: 'GET',\n path: '/email/:email',\n summary: 'Get a user by email',\n schemas: {\n params: z.object({ email: z.string().check(z.minLength(1)) }),\n response: { 200: responseDataSchema(userSchema) },\n },\n }),\n deleteUser: defineRoute({\n method: 'DELETE',\n path: '/:userId',\n summary: 'Delete a user',\n schemas: {\n params: userIdParamsSchema,\n response: { 200: responseDataSchema(userSchema) },\n },\n }),\n verifyEmailStatusSSE: defineRoute({\n method: 'GET',\n path: '/verify-email-status/:userId',\n summary: 'Email verification status (server-sent events stream)',\n schemas: {\n params: userIdParamsSchema,\n },\n }),\n uploadAvatar: defineRoute({\n method: 'POST',\n path: '/avatar',\n summary: 'Upload the avatar of the signed-in user (raw image body)',\n schemas: {\n response: { 200: responseDataSchema(userSchema) },\n },\n }),\n },\n});\n\n/** Route definitions of the `/api/user` group, by name. */\nexport type UserRoutes = (typeof userContract)['routes'];\n\nexport type GetSetupStatusResult = ResponseData<{ isSetupRequired: boolean }>;\nexport type GetUsersParams = RouteQuerystring<UserRoutes['getUsers']>;\nexport type GetUsersResult = PaginatedResponse<UserAPI>;\nexport type UpdateUserBody = RouteBodyInput<UserRoutes['updateUser']>;\nexport type UpdateUserResult = ResponseData<UserAPI>;\nexport type CreateUserBody = RouteBodyInput<UserRoutes['createUser']>;\nexport type CreateUserResult = ResponseData<UserAPI>;\nexport type GetUserByIdParams = RouteParams<UserRoutes['getUserById']>;\nexport type GetUserByIdResult = ResponseData<UserAPI>;\nexport type GetUserByEmailParams = RouteParams<UserRoutes['getUserByEmail']>;\nexport type GetUserByEmailResult = ResponseData<UserAPI>;\nexport type DeleteUserParams = RouteParams<UserRoutes['deleteUser']>;\nexport type DeleteUserResult = ResponseData<UserAPI>;\nexport type UploadUserAvatarResult = ResponseData<UserAPI>;\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "@intlayer/types/dictionary";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "@intlayer/types/config";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "@intlayer/types/module_augmentation";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "@intlayer/types/module_augmentation";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "@intlayer/types/module_augmentation";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "@intlayer/types/module_augmentation";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "@intlayer/types/module_augmentation";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "@intlayer/types/module_augmentation";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "@intlayer/types/module_augmentation";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "@intlayer/types/module_augmentation";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "./plugins.js";
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import "../../transpiler/gender/gender.js";
|
|
2
|
+
import "../../transpiler/index.js";
|
|
3
|
+
import "../getNesting.js";
|
|
4
|
+
import { Locale } from "@intlayer/types/allLocales";
|
|
5
|
+
import { KeyPath } from "@intlayer/types/keyPath";
|
|
6
|
+
import "@intlayer/types/module_augmentation";
|
|
7
|
+
import "@intlayer/types/nodeType";
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import "./getContent/plugins.js";
|
|
2
|
+
import "./getContent/index.js";
|
|
3
|
+
import "../dictionaryManipulator/plainDynamicLoader.js";
|
|
4
|
+
import "../dictionaryManipulator/qualifiedDynamicLoader.js";
|
|
5
|
+
import { Dictionary } from "@intlayer/types/dictionary";
|
|
6
|
+
import "@intlayer/types/module_augmentation";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "@intlayer/types/module_augmentation";
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import "./getContent/plugins.js";
|
|
2
|
+
import "./getContent/deepTransform.js";
|
|
3
|
+
import "./getContent/getContent.js";
|
|
4
|
+
import "./getContent/index.js";
|
|
5
|
+
import "./getNesting.js";
|
|
6
|
+
import "./dictionaryTransformCache.js";
|
|
7
|
+
import "./getCondition.js";
|
|
8
|
+
import "./getDictionary.js";
|
|
9
|
+
import "./getDictionaryAsync.js";
|
|
10
|
+
import "./getEnumeration.js";
|
|
11
|
+
import "./getGender.js";
|
|
12
|
+
import "./getInsertion.js";
|
|
13
|
+
import "./getIntlayer.js";
|
|
14
|
+
import "./getIntlayerAsync.js";
|
|
15
|
+
import "./getPlural.js";
|
|
16
|
+
import "./getSelect.js";
|
|
17
|
+
import "./getTranslation.js";
|
|
18
|
+
import "./interpolableNode.js";
|
|
19
|
+
import "./resolveInterpreterLocale.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "@intlayer/types/module_augmentation";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "@intlayer/types/module_augmentation";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import { Locale } from "@intlayer/types/allLocales";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "@intlayer/types/module_augmentation";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "@intlayer/types/module_augmentation";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "@intlayer/types/module_augmentation";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "@intlayer/types/module_augmentation";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "@intlayer/types/module_augmentation";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "@intlayer/types/module_augmentation";
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import "./comparePaths.js";
|
|
2
|
+
import "./domainUtils.js";
|
|
3
|
+
import "./generateSitemap.js";
|
|
4
|
+
import "./getBrowserLocale.js";
|
|
5
|
+
import "./getCanonicalPath.js";
|
|
6
|
+
import "./getHTMLTextDir.js";
|
|
7
|
+
import "./getLocale.js";
|
|
8
|
+
import "./getPrefix.js";
|
|
9
|
+
import "./getLocaleFromPath.js";
|
|
10
|
+
import "./getLocaleFromRequest.js";
|
|
11
|
+
import "./getLocaleLang.js";
|
|
12
|
+
import "./getLocaleName.js";
|
|
13
|
+
import "./getLocalizedPath.js";
|
|
14
|
+
import "./getLocalizedUrl.js";
|
|
15
|
+
import "./getMultilingualUrls.js";
|
|
16
|
+
import "./getPathWithoutLocale.js";
|
|
17
|
+
import "./localeDetector.js";
|
|
18
|
+
import "./localeMapper.js";
|
|
19
|
+
import "./localeResolver.js";
|
|
20
|
+
import "./resolveBrowserLocale.js";
|
|
21
|
+
import "./rewriteMatch.js";
|
|
22
|
+
import "./rewriteUtils.js";
|
|
23
|
+
import "./validatePrefix.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "@intlayer/types/module_augmentation";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "@intlayer/types/module_augmentation";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "@intlayer/types/config";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "@intlayer/types/nodeType";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "./condition.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "@intlayer/types/nodeType";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "./enumeration.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "@intlayer/types/nodeType";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "./file.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "@intlayer/types/nodeType";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "./gender.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "@intlayer/types/nodeType";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "./html.js";
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import "./file/file.js";
|
|
2
|
+
import "./gender/gender.js";
|
|
3
|
+
import "./condition/condition.js";
|
|
4
|
+
import "./condition/index.js";
|
|
5
|
+
import "./enumeration/enumeration.js";
|
|
6
|
+
import "./enumeration/index.js";
|
|
7
|
+
import "./file/index.js";
|
|
8
|
+
import "./gender/index.js";
|
|
9
|
+
import "./html/html.js";
|
|
10
|
+
import "./html/index.js";
|
|
11
|
+
import "./insertion/insertion.js";
|
|
12
|
+
import "./insertion/index.js";
|
|
13
|
+
import "./markdown/markdown.js";
|
|
14
|
+
import "./markdown/index.js";
|
|
15
|
+
import "./nesting/index.js";
|
|
16
|
+
import "./plural/plural.js";
|
|
17
|
+
import "./plural/index.js";
|
|
18
|
+
import "./select/select.js";
|
|
19
|
+
import "./select/index.js";
|
|
20
|
+
import "./translation/translation.js";
|
|
21
|
+
import "./translation/index.js";
|
|
22
|
+
import "./nesting/nesting.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "./insertion.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "@intlayer/types/nodeType";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "./markdown.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "@intlayer/types/nodeType";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "./nesting.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "./plural.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "@intlayer/types/nodeType";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "./select.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "@intlayer/types/nodeType";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "./translation.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "@intlayer/types/module_augmentation";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import { KeyPath } from "@intlayer/types/keyPath";
|