@robelest/convex-auth 0.0.1

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.
Files changed (280) hide show
  1. package/README.md +6 -0
  2. package/dist/bin.cjs +27733 -0
  3. package/dist/client/index.d.ts +49 -0
  4. package/dist/client/index.d.ts.map +1 -0
  5. package/dist/client/index.js +283 -0
  6. package/dist/client/index.js.map +1 -0
  7. package/dist/component/_generated/api.d.ts +36 -0
  8. package/dist/component/_generated/api.d.ts.map +1 -0
  9. package/dist/component/_generated/api.js +31 -0
  10. package/dist/component/_generated/api.js.map +1 -0
  11. package/dist/component/_generated/component.d.ts +295 -0
  12. package/dist/component/_generated/component.d.ts.map +1 -0
  13. package/dist/component/_generated/component.js +11 -0
  14. package/dist/component/_generated/component.js.map +1 -0
  15. package/dist/component/_generated/dataModel.d.ts +46 -0
  16. package/dist/component/_generated/dataModel.d.ts.map +1 -0
  17. package/dist/component/_generated/dataModel.js +11 -0
  18. package/dist/component/_generated/dataModel.js.map +1 -0
  19. package/dist/component/_generated/server.d.ts +121 -0
  20. package/dist/component/_generated/server.d.ts.map +1 -0
  21. package/dist/component/_generated/server.js +78 -0
  22. package/dist/component/_generated/server.js.map +1 -0
  23. package/dist/component/convex.config.d.ts +3 -0
  24. package/dist/component/convex.config.d.ts.map +1 -0
  25. package/dist/component/convex.config.js +4 -0
  26. package/dist/component/convex.config.js.map +1 -0
  27. package/dist/component/index.d.ts +15 -0
  28. package/dist/component/index.d.ts.map +1 -0
  29. package/dist/component/index.js +13 -0
  30. package/dist/component/index.js.map +1 -0
  31. package/dist/component/public.d.ts +450 -0
  32. package/dist/component/public.d.ts.map +1 -0
  33. package/dist/component/public.js +528 -0
  34. package/dist/component/public.js.map +1 -0
  35. package/dist/component/schema.d.ts +107 -0
  36. package/dist/component/schema.d.ts.map +1 -0
  37. package/dist/component/schema.js +26 -0
  38. package/dist/component/schema.js.map +1 -0
  39. package/dist/providers/Anonymous.d.ts +50 -0
  40. package/dist/providers/Anonymous.d.ts.map +1 -0
  41. package/dist/providers/Anonymous.js +39 -0
  42. package/dist/providers/Anonymous.js.map +1 -0
  43. package/dist/providers/ConvexCredentials.d.ts +88 -0
  44. package/dist/providers/ConvexCredentials.d.ts.map +1 -0
  45. package/dist/providers/ConvexCredentials.js +37 -0
  46. package/dist/providers/ConvexCredentials.js.map +1 -0
  47. package/dist/providers/Email.d.ts +33 -0
  48. package/dist/providers/Email.d.ts.map +1 -0
  49. package/dist/providers/Email.js +50 -0
  50. package/dist/providers/Email.js.map +1 -0
  51. package/dist/providers/Password.d.ts +95 -0
  52. package/dist/providers/Password.d.ts.map +1 -0
  53. package/dist/providers/Password.js +174 -0
  54. package/dist/providers/Password.js.map +1 -0
  55. package/dist/providers/Phone.d.ts +22 -0
  56. package/dist/providers/Phone.d.ts.map +1 -0
  57. package/dist/providers/Phone.js +37 -0
  58. package/dist/providers/Phone.js.map +1 -0
  59. package/dist/server/convex_types.d.ts +17 -0
  60. package/dist/server/convex_types.d.ts.map +1 -0
  61. package/dist/server/convex_types.js +2 -0
  62. package/dist/server/convex_types.js.map +1 -0
  63. package/dist/server/cookies.d.ts +35 -0
  64. package/dist/server/cookies.d.ts.map +1 -0
  65. package/dist/server/cookies.js +34 -0
  66. package/dist/server/cookies.js.map +1 -0
  67. package/dist/server/implementation/db.d.ts +80 -0
  68. package/dist/server/implementation/db.d.ts.map +1 -0
  69. package/dist/server/implementation/db.js +59 -0
  70. package/dist/server/implementation/db.js.map +1 -0
  71. package/dist/server/implementation/index.d.ts +370 -0
  72. package/dist/server/implementation/index.d.ts.map +1 -0
  73. package/dist/server/implementation/index.js +521 -0
  74. package/dist/server/implementation/index.js.map +1 -0
  75. package/dist/server/implementation/mutations/createAccountFromCredentials.d.ts +33 -0
  76. package/dist/server/implementation/mutations/createAccountFromCredentials.d.ts.map +1 -0
  77. package/dist/server/implementation/mutations/createAccountFromCredentials.js +71 -0
  78. package/dist/server/implementation/mutations/createAccountFromCredentials.js.map +1 -0
  79. package/dist/server/implementation/mutations/createVerificationCode.d.ts +25 -0
  80. package/dist/server/implementation/mutations/createVerificationCode.d.ts.map +1 -0
  81. package/dist/server/implementation/mutations/createVerificationCode.js +84 -0
  82. package/dist/server/implementation/mutations/createVerificationCode.js.map +1 -0
  83. package/dist/server/implementation/mutations/index.d.ts +304 -0
  84. package/dist/server/implementation/mutations/index.d.ts.map +1 -0
  85. package/dist/server/implementation/mutations/index.js +108 -0
  86. package/dist/server/implementation/mutations/index.js.map +1 -0
  87. package/dist/server/implementation/mutations/invalidateSessions.d.ts +13 -0
  88. package/dist/server/implementation/mutations/invalidateSessions.d.ts.map +1 -0
  89. package/dist/server/implementation/mutations/invalidateSessions.js +35 -0
  90. package/dist/server/implementation/mutations/invalidateSessions.js.map +1 -0
  91. package/dist/server/implementation/mutations/modifyAccount.d.ts +23 -0
  92. package/dist/server/implementation/mutations/modifyAccount.d.ts.map +1 -0
  93. package/dist/server/implementation/mutations/modifyAccount.js +48 -0
  94. package/dist/server/implementation/mutations/modifyAccount.js.map +1 -0
  95. package/dist/server/implementation/mutations/refreshSession.d.ts +16 -0
  96. package/dist/server/implementation/mutations/refreshSession.d.ts.map +1 -0
  97. package/dist/server/implementation/mutations/refreshSession.js +116 -0
  98. package/dist/server/implementation/mutations/refreshSession.js.map +1 -0
  99. package/dist/server/implementation/mutations/retrieveAccountWithCredentials.d.ts +27 -0
  100. package/dist/server/implementation/mutations/retrieveAccountWithCredentials.d.ts.map +1 -0
  101. package/dist/server/implementation/mutations/retrieveAccountWithCredentials.js +55 -0
  102. package/dist/server/implementation/mutations/retrieveAccountWithCredentials.js.map +1 -0
  103. package/dist/server/implementation/mutations/signIn.d.ts +17 -0
  104. package/dist/server/implementation/mutations/signIn.d.ts.map +1 -0
  105. package/dist/server/implementation/mutations/signIn.js +26 -0
  106. package/dist/server/implementation/mutations/signIn.js.map +1 -0
  107. package/dist/server/implementation/mutations/signOut.d.ts +11 -0
  108. package/dist/server/implementation/mutations/signOut.d.ts.map +1 -0
  109. package/dist/server/implementation/mutations/signOut.js +24 -0
  110. package/dist/server/implementation/mutations/signOut.js.map +1 -0
  111. package/dist/server/implementation/mutations/userOAuth.d.ts +19 -0
  112. package/dist/server/implementation/mutations/userOAuth.d.ts.map +1 -0
  113. package/dist/server/implementation/mutations/userOAuth.js +84 -0
  114. package/dist/server/implementation/mutations/userOAuth.js.map +1 -0
  115. package/dist/server/implementation/mutations/verifier.d.ts +8 -0
  116. package/dist/server/implementation/mutations/verifier.d.ts.map +1 -0
  117. package/dist/server/implementation/mutations/verifier.js +19 -0
  118. package/dist/server/implementation/mutations/verifier.js.map +1 -0
  119. package/dist/server/implementation/mutations/verifierSignature.d.ts +15 -0
  120. package/dist/server/implementation/mutations/verifierSignature.d.ts.map +1 -0
  121. package/dist/server/implementation/mutations/verifierSignature.js +29 -0
  122. package/dist/server/implementation/mutations/verifierSignature.js.map +1 -0
  123. package/dist/server/implementation/mutations/verifyCodeAndSignIn.d.ts +21 -0
  124. package/dist/server/implementation/mutations/verifyCodeAndSignIn.d.ts.map +1 -0
  125. package/dist/server/implementation/mutations/verifyCodeAndSignIn.js +127 -0
  126. package/dist/server/implementation/mutations/verifyCodeAndSignIn.js.map +1 -0
  127. package/dist/server/implementation/provider.d.ts +6 -0
  128. package/dist/server/implementation/provider.d.ts.map +1 -0
  129. package/dist/server/implementation/provider.js +21 -0
  130. package/dist/server/implementation/provider.js.map +1 -0
  131. package/dist/server/implementation/rateLimit.d.ts +6 -0
  132. package/dist/server/implementation/rateLimit.d.ts.map +1 -0
  133. package/dist/server/implementation/rateLimit.js +76 -0
  134. package/dist/server/implementation/rateLimit.js.map +1 -0
  135. package/dist/server/implementation/redirects.d.ts +6 -0
  136. package/dist/server/implementation/redirects.d.ts.map +1 -0
  137. package/dist/server/implementation/redirects.js +40 -0
  138. package/dist/server/implementation/redirects.js.map +1 -0
  139. package/dist/server/implementation/refreshTokens.d.ts +40 -0
  140. package/dist/server/implementation/refreshTokens.d.ts.map +1 -0
  141. package/dist/server/implementation/refreshTokens.js +160 -0
  142. package/dist/server/implementation/refreshTokens.js.map +1 -0
  143. package/dist/server/implementation/sessions.d.ts +43 -0
  144. package/dist/server/implementation/sessions.d.ts.map +1 -0
  145. package/dist/server/implementation/sessions.js +94 -0
  146. package/dist/server/implementation/sessions.js.map +1 -0
  147. package/dist/server/implementation/signIn.d.ts +31 -0
  148. package/dist/server/implementation/signIn.d.ts.map +1 -0
  149. package/dist/server/implementation/signIn.js +148 -0
  150. package/dist/server/implementation/signIn.js.map +1 -0
  151. package/dist/server/implementation/tokens.d.ts +7 -0
  152. package/dist/server/implementation/tokens.d.ts.map +1 -0
  153. package/dist/server/implementation/tokens.js +18 -0
  154. package/dist/server/implementation/tokens.js.map +1 -0
  155. package/dist/server/implementation/types.d.ts +288 -0
  156. package/dist/server/implementation/types.d.ts.map +1 -0
  157. package/dist/server/implementation/types.js +182 -0
  158. package/dist/server/implementation/types.js.map +1 -0
  159. package/dist/server/implementation/users.d.ts +27 -0
  160. package/dist/server/implementation/users.d.ts.map +1 -0
  161. package/dist/server/implementation/users.js +181 -0
  162. package/dist/server/implementation/users.js.map +1 -0
  163. package/dist/server/implementation/utils.d.ts +17 -0
  164. package/dist/server/implementation/utils.d.ts.map +1 -0
  165. package/dist/server/implementation/utils.js +72 -0
  166. package/dist/server/implementation/utils.js.map +1 -0
  167. package/dist/server/index.d.ts +17 -0
  168. package/dist/server/index.d.ts.map +1 -0
  169. package/dist/server/index.js +54 -0
  170. package/dist/server/index.js.map +1 -0
  171. package/dist/server/oauth/authorizationUrl.d.ts +13 -0
  172. package/dist/server/oauth/authorizationUrl.d.ts.map +1 -0
  173. package/dist/server/oauth/authorizationUrl.js +91 -0
  174. package/dist/server/oauth/authorizationUrl.js.map +1 -0
  175. package/dist/server/oauth/callback.d.ts +19 -0
  176. package/dist/server/oauth/callback.d.ts.map +1 -0
  177. package/dist/server/oauth/callback.js +173 -0
  178. package/dist/server/oauth/callback.js.map +1 -0
  179. package/dist/server/oauth/checks.d.ts +52 -0
  180. package/dist/server/oauth/checks.d.ts.map +1 -0
  181. package/dist/server/oauth/checks.js +106 -0
  182. package/dist/server/oauth/checks.js.map +1 -0
  183. package/dist/server/oauth/convexAuth.d.ts +12 -0
  184. package/dist/server/oauth/convexAuth.d.ts.map +1 -0
  185. package/dist/server/oauth/convexAuth.js +137 -0
  186. package/dist/server/oauth/convexAuth.js.map +1 -0
  187. package/dist/server/oauth/lib/utils/customFetch.d.ts +9 -0
  188. package/dist/server/oauth/lib/utils/customFetch.d.ts.map +1 -0
  189. package/dist/server/oauth/lib/utils/customFetch.js +11 -0
  190. package/dist/server/oauth/lib/utils/customFetch.js.map +1 -0
  191. package/dist/server/oauth/lib/utils/providers.d.ts +3 -0
  192. package/dist/server/oauth/lib/utils/providers.d.ts.map +1 -0
  193. package/dist/server/oauth/lib/utils/providers.js +7 -0
  194. package/dist/server/oauth/lib/utils/providers.js.map +1 -0
  195. package/dist/server/oauth/providers/oauth.d.ts +43 -0
  196. package/dist/server/oauth/providers/oauth.d.ts.map +1 -0
  197. package/dist/server/oauth/providers/oauth.js +3 -0
  198. package/dist/server/oauth/providers/oauth.js.map +1 -0
  199. package/dist/server/oauth/types.d.ts +24 -0
  200. package/dist/server/oauth/types.d.ts.map +1 -0
  201. package/dist/server/oauth/types.js +5 -0
  202. package/dist/server/oauth/types.js.map +1 -0
  203. package/dist/server/provider_utils.d.ts +76 -0
  204. package/dist/server/provider_utils.d.ts.map +1 -0
  205. package/dist/server/provider_utils.js +177 -0
  206. package/dist/server/provider_utils.js.map +1 -0
  207. package/dist/server/types.d.ts +412 -0
  208. package/dist/server/types.d.ts.map +1 -0
  209. package/dist/server/types.js +2 -0
  210. package/dist/server/types.js.map +1 -0
  211. package/dist/server/utils.d.ts +3 -0
  212. package/dist/server/utils.d.ts.map +1 -0
  213. package/dist/server/utils.js +11 -0
  214. package/dist/server/utils.js.map +1 -0
  215. package/package.json +126 -0
  216. package/providers/Anonymous/package.json +6 -0
  217. package/providers/ConvexCredentials/package.json +6 -0
  218. package/providers/Email/package.json +6 -0
  219. package/providers/Password/package.json +6 -0
  220. package/providers/Phone/package.json +6 -0
  221. package/server/package.json +6 -0
  222. package/src/cli/command.ts +69 -0
  223. package/src/cli/generateKeys.ts +20 -0
  224. package/src/cli/index.ts +840 -0
  225. package/src/client/index.ts +415 -0
  226. package/src/component/_generated/api.ts +52 -0
  227. package/src/component/_generated/component.ts +586 -0
  228. package/src/component/_generated/dataModel.ts +60 -0
  229. package/src/component/_generated/server.ts +156 -0
  230. package/src/component/convex.config.ts +5 -0
  231. package/src/component/index.ts +40 -0
  232. package/src/component/public.ts +607 -0
  233. package/src/component/schema.ts +35 -0
  234. package/src/providers/Anonymous.ts +79 -0
  235. package/src/providers/ConvexCredentials.ts +108 -0
  236. package/src/providers/Email.ts +60 -0
  237. package/src/providers/Password.ts +253 -0
  238. package/src/providers/Phone.ts +46 -0
  239. package/src/server/convex_types.ts +55 -0
  240. package/src/server/cookies.ts +42 -0
  241. package/src/server/implementation/db.ts +125 -0
  242. package/src/server/implementation/index.ts +815 -0
  243. package/src/server/implementation/mutations/createAccountFromCredentials.ts +113 -0
  244. package/src/server/implementation/mutations/createVerificationCode.ts +139 -0
  245. package/src/server/implementation/mutations/index.ts +157 -0
  246. package/src/server/implementation/mutations/invalidateSessions.ts +47 -0
  247. package/src/server/implementation/mutations/modifyAccount.ts +65 -0
  248. package/src/server/implementation/mutations/refreshSession.ts +188 -0
  249. package/src/server/implementation/mutations/retrieveAccountWithCredentials.ts +87 -0
  250. package/src/server/implementation/mutations/signIn.ts +51 -0
  251. package/src/server/implementation/mutations/signOut.ts +38 -0
  252. package/src/server/implementation/mutations/userOAuth.ts +112 -0
  253. package/src/server/implementation/mutations/verifier.ts +29 -0
  254. package/src/server/implementation/mutations/verifierSignature.ts +44 -0
  255. package/src/server/implementation/mutations/verifyCodeAndSignIn.ts +205 -0
  256. package/src/server/implementation/provider.ts +38 -0
  257. package/src/server/implementation/rateLimit.ts +105 -0
  258. package/src/server/implementation/redirects.ts +58 -0
  259. package/src/server/implementation/refreshTokens.ts +221 -0
  260. package/src/server/implementation/sessions.ts +155 -0
  261. package/src/server/implementation/signIn.ts +253 -0
  262. package/src/server/implementation/tokens.ts +29 -0
  263. package/src/server/implementation/types.ts +220 -0
  264. package/src/server/implementation/users.ts +286 -0
  265. package/src/server/implementation/utils.ts +91 -0
  266. package/src/server/index.ts +74 -0
  267. package/src/server/oauth/NOTICE.txt +21 -0
  268. package/src/server/oauth/README.md +7 -0
  269. package/src/server/oauth/authorizationUrl.ts +113 -0
  270. package/src/server/oauth/callback.ts +243 -0
  271. package/src/server/oauth/checks.ts +136 -0
  272. package/src/server/oauth/convexAuth.ts +168 -0
  273. package/src/server/oauth/lib/utils/customFetch.ts +18 -0
  274. package/src/server/oauth/lib/utils/providers.ts +12 -0
  275. package/src/server/oauth/providers/oauth.ts +56 -0
  276. package/src/server/oauth/types.ts +60 -0
  277. package/src/server/provider_utils.ts +222 -0
  278. package/src/server/types.ts +470 -0
  279. package/src/server/utils.ts +12 -0
  280. package/src/test.ts +24 -0
@@ -0,0 +1,528 @@
1
+ import { v } from "convex/values";
2
+ import { mutation, query } from "./_generated/server";
3
+ // Users
4
+ export const userGetById = query({
5
+ args: { userId: v.id("user") },
6
+ handler: async (ctx, { userId }) => {
7
+ return await ctx.db.get(userId);
8
+ },
9
+ });
10
+ export const userFindByVerifiedEmail = query({
11
+ args: { email: v.string() },
12
+ handler: async (ctx, { email }) => {
13
+ const users = await ctx.db
14
+ .query("user")
15
+ .withIndex("email", (q) => q.eq("email", email))
16
+ .filter((q) => q.neq(q.field("emailVerificationTime"), undefined))
17
+ .take(2);
18
+ return users.length === 1 ? users[0] : null;
19
+ },
20
+ });
21
+ export const userFindByVerifiedPhone = query({
22
+ args: { phone: v.string() },
23
+ handler: async (ctx, { phone }) => {
24
+ const users = await ctx.db
25
+ .query("user")
26
+ .withIndex("phone", (q) => q.eq("phone", phone))
27
+ .filter((q) => q.neq(q.field("phoneVerificationTime"), undefined))
28
+ .take(2);
29
+ return users.length === 1 ? users[0] : null;
30
+ },
31
+ });
32
+ export const userInsert = mutation({
33
+ args: { data: v.any() },
34
+ handler: async (ctx, { data }) => {
35
+ return await ctx.db.insert("user", data);
36
+ },
37
+ });
38
+ export const userUpsert = mutation({
39
+ args: { userId: v.optional(v.id("user")), data: v.any() },
40
+ handler: async (ctx, { userId, data }) => {
41
+ if (userId !== undefined) {
42
+ await ctx.db.patch(userId, data);
43
+ return userId;
44
+ }
45
+ return await ctx.db.insert("user", data);
46
+ },
47
+ });
48
+ export const userPatch = mutation({
49
+ args: { userId: v.id("user"), data: v.any() },
50
+ handler: async (ctx, { userId, data }) => {
51
+ await ctx.db.patch(userId, data);
52
+ },
53
+ });
54
+ // Accounts
55
+ export const accountGet = query({
56
+ args: { provider: v.string(), providerAccountId: v.string() },
57
+ handler: async (ctx, { provider, providerAccountId }) => {
58
+ return await ctx.db
59
+ .query("account")
60
+ .withIndex("providerAndAccountId", (q) => q.eq("provider", provider).eq("providerAccountId", providerAccountId))
61
+ .unique();
62
+ },
63
+ });
64
+ export const accountGetById = query({
65
+ args: { accountId: v.id("account") },
66
+ handler: async (ctx, { accountId }) => {
67
+ return await ctx.db.get(accountId);
68
+ },
69
+ });
70
+ export const accountInsert = mutation({
71
+ args: {
72
+ userId: v.id("user"),
73
+ provider: v.string(),
74
+ providerAccountId: v.string(),
75
+ secret: v.optional(v.string()),
76
+ },
77
+ handler: async (ctx, args) => {
78
+ return await ctx.db.insert("account", args);
79
+ },
80
+ });
81
+ export const accountPatch = mutation({
82
+ args: { accountId: v.id("account"), data: v.any() },
83
+ handler: async (ctx, { accountId, data }) => {
84
+ await ctx.db.patch(accountId, data);
85
+ },
86
+ });
87
+ export const accountDelete = mutation({
88
+ args: { accountId: v.id("account") },
89
+ handler: async (ctx, { accountId }) => {
90
+ await ctx.db.delete(accountId);
91
+ },
92
+ });
93
+ // Sessions
94
+ export const sessionCreate = mutation({
95
+ args: { userId: v.id("user"), expirationTime: v.number() },
96
+ handler: async (ctx, { userId, expirationTime }) => {
97
+ return await ctx.db.insert("session", {
98
+ userId: userId,
99
+ expirationTime,
100
+ });
101
+ },
102
+ });
103
+ export const sessionGetById = query({
104
+ args: { sessionId: v.id("session") },
105
+ handler: async (ctx, { sessionId }) => {
106
+ return await ctx.db.get(sessionId);
107
+ },
108
+ });
109
+ export const sessionDelete = mutation({
110
+ args: { sessionId: v.id("session") },
111
+ handler: async (ctx, { sessionId }) => {
112
+ if ((await ctx.db.get(sessionId)) !== null) {
113
+ await ctx.db.delete(sessionId);
114
+ }
115
+ },
116
+ });
117
+ export const sessionListByUser = query({
118
+ args: { userId: v.id("user") },
119
+ handler: async (ctx, { userId }) => {
120
+ return await ctx.db
121
+ .query("session")
122
+ .withIndex("userId", (q) => q.eq("userId", userId))
123
+ .collect();
124
+ },
125
+ });
126
+ // Verifiers
127
+ export const verifierCreate = mutation({
128
+ args: { sessionId: v.optional(v.id("session")) },
129
+ handler: async (ctx, { sessionId }) => {
130
+ return await ctx.db.insert("verifier", { sessionId: sessionId });
131
+ },
132
+ });
133
+ export const verifierGetById = query({
134
+ args: { verifierId: v.id("verifier") },
135
+ handler: async (ctx, { verifierId }) => {
136
+ return await ctx.db.get(verifierId);
137
+ },
138
+ });
139
+ export const verifierGetBySignature = query({
140
+ args: { signature: v.string() },
141
+ handler: async (ctx, { signature }) => {
142
+ return await ctx.db
143
+ .query("verifier")
144
+ .withIndex("signature", (q) => q.eq("signature", signature))
145
+ .unique();
146
+ },
147
+ });
148
+ export const verifierPatch = mutation({
149
+ args: { verifierId: v.id("verifier"), data: v.any() },
150
+ handler: async (ctx, { verifierId, data }) => {
151
+ await ctx.db.patch(verifierId, data);
152
+ },
153
+ });
154
+ export const verifierDelete = mutation({
155
+ args: { verifierId: v.id("verifier") },
156
+ handler: async (ctx, { verifierId }) => {
157
+ await ctx.db.delete(verifierId);
158
+ },
159
+ });
160
+ // Verification codes
161
+ export const verificationCodeGetByAccountId = query({
162
+ args: { accountId: v.id("account") },
163
+ handler: async (ctx, { accountId }) => {
164
+ return await ctx.db
165
+ .query("verification")
166
+ .withIndex("accountId", (q) => q.eq("accountId", accountId))
167
+ .unique();
168
+ },
169
+ });
170
+ export const verificationCodeGetByCode = query({
171
+ args: { code: v.string() },
172
+ handler: async (ctx, { code }) => {
173
+ return await ctx.db
174
+ .query("verification")
175
+ .withIndex("code", (q) => q.eq("code", code))
176
+ .unique();
177
+ },
178
+ });
179
+ export const verificationCodeCreate = mutation({
180
+ args: {
181
+ accountId: v.id("account"),
182
+ provider: v.string(),
183
+ code: v.string(),
184
+ expirationTime: v.number(),
185
+ verifier: v.optional(v.string()),
186
+ emailVerified: v.optional(v.string()),
187
+ phoneVerified: v.optional(v.string()),
188
+ },
189
+ handler: async (ctx, args) => {
190
+ return await ctx.db.insert("verification", args);
191
+ },
192
+ });
193
+ export const verificationCodeDelete = mutation({
194
+ args: { verificationCodeId: v.id("verification") },
195
+ handler: async (ctx, { verificationCodeId }) => {
196
+ await ctx.db.delete(verificationCodeId);
197
+ },
198
+ });
199
+ // Refresh tokens
200
+ export const refreshTokenCreate = mutation({
201
+ args: {
202
+ sessionId: v.id("session"),
203
+ expirationTime: v.number(),
204
+ parentRefreshTokenId: v.optional(v.id("token")),
205
+ },
206
+ handler: async (ctx, args) => {
207
+ return await ctx.db.insert("token", args);
208
+ },
209
+ });
210
+ export const refreshTokenGetById = query({
211
+ args: { refreshTokenId: v.id("token") },
212
+ handler: async (ctx, { refreshTokenId }) => {
213
+ return await ctx.db.get(refreshTokenId);
214
+ },
215
+ });
216
+ export const refreshTokenPatch = mutation({
217
+ args: { refreshTokenId: v.id("token"), data: v.any() },
218
+ handler: async (ctx, { refreshTokenId, data }) => {
219
+ await ctx.db.patch(refreshTokenId, data);
220
+ },
221
+ });
222
+ export const refreshTokenGetChildren = query({
223
+ args: {
224
+ sessionId: v.id("session"),
225
+ parentRefreshTokenId: v.id("token"),
226
+ },
227
+ handler: async (ctx, { sessionId, parentRefreshTokenId }) => {
228
+ return await ctx.db
229
+ .query("token")
230
+ .withIndex("sessionIdAndParentRefreshTokenId", (q) => q
231
+ .eq("sessionId", sessionId)
232
+ .eq("parentRefreshTokenId", parentRefreshTokenId))
233
+ .collect();
234
+ },
235
+ });
236
+ export const refreshTokenListBySession = query({
237
+ args: { sessionId: v.id("session") },
238
+ handler: async (ctx, { sessionId }) => {
239
+ return await ctx.db
240
+ .query("token")
241
+ .withIndex("sessionIdAndParentRefreshTokenId", (q) => q.eq("sessionId", sessionId))
242
+ .collect();
243
+ },
244
+ });
245
+ export const refreshTokenDeleteAll = mutation({
246
+ args: { sessionId: v.id("session") },
247
+ handler: async (ctx, { sessionId }) => {
248
+ const tokens = await ctx.db
249
+ .query("token")
250
+ .withIndex("sessionIdAndParentRefreshTokenId", (q) => q.eq("sessionId", sessionId))
251
+ .collect();
252
+ await Promise.all(tokens.map((token) => ctx.db.delete(token._id)));
253
+ },
254
+ });
255
+ export const refreshTokenGetActive = query({
256
+ args: { sessionId: v.id("session") },
257
+ handler: async (ctx, { sessionId }) => {
258
+ return await ctx.db
259
+ .query("token")
260
+ .withIndex("sessionId", (q) => q.eq("sessionId", sessionId))
261
+ .filter((q) => q.eq(q.field("firstUsedTime"), undefined))
262
+ .order("desc")
263
+ .first();
264
+ },
265
+ });
266
+ // Rate limits
267
+ export const rateLimitGet = query({
268
+ args: { identifier: v.string() },
269
+ handler: async (ctx, { identifier }) => {
270
+ return await ctx.db
271
+ .query("limit")
272
+ .withIndex("identifier", (q) => q.eq("identifier", identifier))
273
+ .unique();
274
+ },
275
+ });
276
+ export const rateLimitCreate = mutation({
277
+ args: {
278
+ identifier: v.string(),
279
+ attemptsLeft: v.number(),
280
+ lastAttemptTime: v.number(),
281
+ },
282
+ handler: async (ctx, args) => {
283
+ return await ctx.db.insert("limit", args);
284
+ },
285
+ });
286
+ export const rateLimitPatch = mutation({
287
+ args: { rateLimitId: v.id("limit"), data: v.any() },
288
+ handler: async (ctx, { rateLimitId, data }) => {
289
+ await ctx.db.patch(rateLimitId, data);
290
+ },
291
+ });
292
+ export const rateLimitDelete = mutation({
293
+ args: { rateLimitId: v.id("limit") },
294
+ handler: async (ctx, { rateLimitId }) => {
295
+ await ctx.db.delete(rateLimitId);
296
+ },
297
+ });
298
+ // Singular aliases
299
+ export const verificationGetByAccountId = verificationCodeGetByAccountId;
300
+ export const verificationGetByCode = verificationCodeGetByCode;
301
+ export const verificationCreate = verificationCodeCreate;
302
+ export const verificationDelete = verificationCodeDelete;
303
+ export const tokenCreate = refreshTokenCreate;
304
+ export const tokenGetById = refreshTokenGetById;
305
+ export const tokenPatch = refreshTokenPatch;
306
+ export const tokenGetChildren = refreshTokenGetChildren;
307
+ export const tokenListBySession = refreshTokenListBySession;
308
+ export const tokenDeleteAll = refreshTokenDeleteAll;
309
+ export const tokenGetActive = refreshTokenGetActive;
310
+ export const limitGet = rateLimitGet;
311
+ export const limitCreate = rateLimitCreate;
312
+ export const limitPatch = rateLimitPatch;
313
+ export const limitDelete = rateLimitDelete;
314
+ // Organization
315
+ export const organizationCreate = mutation({
316
+ args: { data: v.any() },
317
+ handler: async (ctx, { data }) => {
318
+ return await ctx.db.insert("organization", data);
319
+ },
320
+ });
321
+ export const organizationGet = query({
322
+ args: { organizationId: v.id("organization") },
323
+ handler: async (ctx, { organizationId }) => {
324
+ return await ctx.db.get(organizationId);
325
+ },
326
+ });
327
+ export const organizationList = query({
328
+ args: { ownerUserId: v.optional(v.id("user")) },
329
+ handler: async (ctx, { ownerUserId }) => {
330
+ if (ownerUserId === undefined) {
331
+ return await ctx.db.query("organization").collect();
332
+ }
333
+ return await ctx.db
334
+ .query("organization")
335
+ .withIndex("ownerUserId", (q) => q.eq("ownerUserId", ownerUserId))
336
+ .collect();
337
+ },
338
+ });
339
+ export const organizationUpdate = mutation({
340
+ args: { organizationId: v.id("organization"), data: v.any() },
341
+ handler: async (ctx, { organizationId, data }) => {
342
+ await ctx.db.patch(organizationId, data);
343
+ },
344
+ });
345
+ export const organizationDelete = mutation({
346
+ args: { organizationId: v.id("organization") },
347
+ handler: async (ctx, { organizationId }) => {
348
+ await ctx.db.delete(organizationId);
349
+ },
350
+ });
351
+ // Team
352
+ export const teamCreate = mutation({
353
+ args: {
354
+ organizationId: v.id("organization"),
355
+ name: v.string(),
356
+ slug: v.optional(v.string()),
357
+ parentTeamId: v.optional(v.id("team")),
358
+ metadata: v.optional(v.any()),
359
+ },
360
+ handler: async (ctx, args) => {
361
+ return await ctx.db.insert("team", args);
362
+ },
363
+ });
364
+ export const teamGet = query({
365
+ args: { teamId: v.id("team") },
366
+ handler: async (ctx, { teamId }) => {
367
+ return await ctx.db.get(teamId);
368
+ },
369
+ });
370
+ export const teamListByOrganization = query({
371
+ args: { organizationId: v.id("organization") },
372
+ handler: async (ctx, { organizationId }) => {
373
+ return await ctx.db
374
+ .query("team")
375
+ .withIndex("organizationId", (q) => q.eq("organizationId", organizationId))
376
+ .collect();
377
+ },
378
+ });
379
+ export const teamUpdate = mutation({
380
+ args: { teamId: v.id("team"), data: v.any() },
381
+ handler: async (ctx, { teamId, data }) => {
382
+ await ctx.db.patch(teamId, data);
383
+ },
384
+ });
385
+ export const teamDelete = mutation({
386
+ args: { teamId: v.id("team") },
387
+ handler: async (ctx, { teamId }) => {
388
+ await ctx.db.delete(teamId);
389
+ },
390
+ });
391
+ // Team relations
392
+ export const teamRelationCreate = mutation({
393
+ args: {
394
+ organizationId: v.id("organization"),
395
+ parentTeamId: v.id("team"),
396
+ childTeamId: v.id("team"),
397
+ relation: v.optional(v.string()),
398
+ },
399
+ handler: async (ctx, args) => {
400
+ return await ctx.db.insert("teamRelation", args);
401
+ },
402
+ });
403
+ export const teamRelationGet = query({
404
+ args: { teamRelationId: v.id("teamRelation") },
405
+ handler: async (ctx, { teamRelationId }) => {
406
+ return await ctx.db.get(teamRelationId);
407
+ },
408
+ });
409
+ export const teamRelationListByParent = query({
410
+ args: {
411
+ organizationId: v.id("organization"),
412
+ parentTeamId: v.id("team"),
413
+ },
414
+ handler: async (ctx, { organizationId, parentTeamId }) => {
415
+ return await ctx.db
416
+ .query("teamRelation")
417
+ .withIndex("organizationIdAndParentTeamId", (q) => q.eq("organizationId", organizationId).eq("parentTeamId", parentTeamId))
418
+ .collect();
419
+ },
420
+ });
421
+ export const teamRelationDelete = mutation({
422
+ args: { teamRelationId: v.id("teamRelation") },
423
+ handler: async (ctx, { teamRelationId }) => {
424
+ await ctx.db.delete(teamRelationId);
425
+ },
426
+ });
427
+ // Members
428
+ export const memberAdd = mutation({
429
+ args: { data: v.any() },
430
+ handler: async (ctx, { data }) => {
431
+ return await ctx.db.insert("member", data);
432
+ },
433
+ });
434
+ export const memberRemove = mutation({
435
+ args: { memberId: v.id("member") },
436
+ handler: async (ctx, { memberId }) => {
437
+ await ctx.db.delete(memberId);
438
+ },
439
+ });
440
+ export const memberList = query({
441
+ args: {
442
+ organizationId: v.id("organization"),
443
+ teamId: v.optional(v.id("team")),
444
+ },
445
+ handler: async (ctx, { organizationId, teamId }) => {
446
+ if (teamId !== undefined) {
447
+ return await ctx.db
448
+ .query("member")
449
+ .withIndex("teamId", (q) => q.eq("teamId", teamId))
450
+ .collect();
451
+ }
452
+ return await ctx.db
453
+ .query("member")
454
+ .withIndex("organizationId", (q) => q.eq("organizationId", organizationId))
455
+ .collect();
456
+ },
457
+ });
458
+ export const memberRoleSet = mutation({
459
+ args: { memberId: v.id("member"), role: v.string() },
460
+ handler: async (ctx, { memberId, role }) => {
461
+ await ctx.db.patch(memberId, { role });
462
+ },
463
+ });
464
+ export const memberRoleGet = query({
465
+ args: { memberId: v.id("member") },
466
+ handler: async (ctx, { memberId }) => {
467
+ const member = await ctx.db.get(memberId);
468
+ return member?.role ?? null;
469
+ },
470
+ });
471
+ // Invites
472
+ export const inviteCreate = mutation({
473
+ args: { data: v.any() },
474
+ handler: async (ctx, { data }) => {
475
+ return await ctx.db.insert("invite", data);
476
+ },
477
+ });
478
+ export const inviteGet = query({
479
+ args: { inviteId: v.id("invite") },
480
+ handler: async (ctx, { inviteId }) => {
481
+ return await ctx.db.get(inviteId);
482
+ },
483
+ });
484
+ export const inviteList = query({
485
+ args: {
486
+ organizationId: v.optional(v.id("organization")),
487
+ status: v.optional(v.string()),
488
+ },
489
+ handler: async (ctx, { organizationId, status }) => {
490
+ if (organizationId !== undefined && status !== undefined) {
491
+ return await ctx.db
492
+ .query("invite")
493
+ .withIndex("organizationIdAndStatus", (q) => q.eq("organizationId", organizationId).eq("status", status))
494
+ .collect();
495
+ }
496
+ if (organizationId !== undefined) {
497
+ return await ctx.db
498
+ .query("invite")
499
+ .withIndex("organizationId", (q) => q.eq("organizationId", organizationId))
500
+ .collect();
501
+ }
502
+ if (status !== undefined) {
503
+ return await ctx.db
504
+ .query("invite")
505
+ .filter((q) => q.eq(q.field("status"), status))
506
+ .collect();
507
+ }
508
+ return await ctx.db
509
+ .query("invite")
510
+ .collect();
511
+ },
512
+ });
513
+ export const inviteAccept = mutation({
514
+ args: { inviteId: v.id("invite") },
515
+ handler: async (ctx, { inviteId }) => {
516
+ await ctx.db.patch(inviteId, {
517
+ status: "accepted",
518
+ acceptedTime: Date.now(),
519
+ });
520
+ },
521
+ });
522
+ export const inviteRevoke = mutation({
523
+ args: { inviteId: v.id("invite") },
524
+ handler: async (ctx, { inviteId }) => {
525
+ await ctx.db.patch(inviteId, { status: "revoked" });
526
+ },
527
+ });
528
+ //# sourceMappingURL=public.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public.js","sourceRoot":"","sources":["../../src/component/public.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,107 @@
1
+ declare const _default: import("convex/server").SchemaDefinition<{
2
+ user: import("convex/server").TableDefinition<import("convex/values").VObject<{
3
+ name?: string | undefined;
4
+ email?: string | undefined;
5
+ phone?: string | undefined;
6
+ image?: string | undefined;
7
+ emailVerificationTime?: number | undefined;
8
+ phoneVerificationTime?: number | undefined;
9
+ isAnonymous?: boolean | undefined;
10
+ favoriteColor?: string | undefined;
11
+ }, {
12
+ name: import("convex/values").VString<string | undefined, "optional">;
13
+ image: import("convex/values").VString<string | undefined, "optional">;
14
+ email: import("convex/values").VString<string | undefined, "optional">;
15
+ emailVerificationTime: import("convex/values").VFloat64<number | undefined, "optional">;
16
+ phone: import("convex/values").VString<string | undefined, "optional">;
17
+ phoneVerificationTime: import("convex/values").VFloat64<number | undefined, "optional">;
18
+ isAnonymous: import("convex/values").VBoolean<boolean | undefined, "optional">;
19
+ favoriteColor: import("convex/values").VString<string | undefined, "optional">;
20
+ }, "required", "name" | "email" | "phone" | "image" | "emailVerificationTime" | "phoneVerificationTime" | "isAnonymous" | "favoriteColor">, {
21
+ email: ["email", "_creationTime"];
22
+ phone: ["phone", "_creationTime"];
23
+ }, {}, {}>;
24
+ account: import("convex/server").TableDefinition<import("convex/values").VObject<{
25
+ secret?: string | undefined;
26
+ emailVerified?: string | undefined;
27
+ phoneVerified?: string | undefined;
28
+ userId: import("convex/values").GenericId<"user">;
29
+ provider: string;
30
+ providerAccountId: string;
31
+ }, {
32
+ userId: import("convex/values").VId<import("convex/values").GenericId<"user">, "required">;
33
+ provider: import("convex/values").VString<string, "required">;
34
+ providerAccountId: import("convex/values").VString<string, "required">;
35
+ secret: import("convex/values").VString<string | undefined, "optional">;
36
+ emailVerified: import("convex/values").VString<string | undefined, "optional">;
37
+ phoneVerified: import("convex/values").VString<string | undefined, "optional">;
38
+ }, "required", "secret" | "userId" | "provider" | "providerAccountId" | "emailVerified" | "phoneVerified">, {
39
+ userIdAndProvider: ["userId", "provider", "_creationTime"];
40
+ providerAndAccountId: ["provider", "providerAccountId", "_creationTime"];
41
+ }, {}, {}>;
42
+ session: import("convex/server").TableDefinition<import("convex/values").VObject<{
43
+ userId: import("convex/values").GenericId<"user">;
44
+ expirationTime: number;
45
+ }, {
46
+ userId: import("convex/values").VId<import("convex/values").GenericId<"user">, "required">;
47
+ expirationTime: import("convex/values").VFloat64<number, "required">;
48
+ }, "required", "userId" | "expirationTime">, {
49
+ userId: ["userId", "_creationTime"];
50
+ }, {}, {}>;
51
+ token: import("convex/server").TableDefinition<import("convex/values").VObject<{
52
+ firstUsedTime?: number | undefined;
53
+ parentRefreshTokenId?: import("convex/values").GenericId<"token"> | undefined;
54
+ expirationTime: number;
55
+ sessionId: import("convex/values").GenericId<"session">;
56
+ }, {
57
+ sessionId: import("convex/values").VId<import("convex/values").GenericId<"session">, "required">;
58
+ expirationTime: import("convex/values").VFloat64<number, "required">;
59
+ firstUsedTime: import("convex/values").VFloat64<number | undefined, "optional">;
60
+ parentRefreshTokenId: import("convex/values").VId<import("convex/values").GenericId<"token"> | undefined, "optional">;
61
+ }, "required", "expirationTime" | "sessionId" | "firstUsedTime" | "parentRefreshTokenId">, {
62
+ sessionId: ["sessionId", "_creationTime"];
63
+ sessionIdAndParentRefreshTokenId: ["sessionId", "parentRefreshTokenId", "_creationTime"];
64
+ }, {}, {}>;
65
+ verification: import("convex/server").TableDefinition<import("convex/values").VObject<{
66
+ emailVerified?: string | undefined;
67
+ phoneVerified?: string | undefined;
68
+ verifier?: string | undefined;
69
+ expirationTime: number;
70
+ provider: string;
71
+ accountId: import("convex/values").GenericId<"account">;
72
+ code: string;
73
+ }, {
74
+ accountId: import("convex/values").VId<import("convex/values").GenericId<"account">, "required">;
75
+ provider: import("convex/values").VString<string, "required">;
76
+ code: import("convex/values").VString<string, "required">;
77
+ expirationTime: import("convex/values").VFloat64<number, "required">;
78
+ verifier: import("convex/values").VString<string | undefined, "optional">;
79
+ emailVerified: import("convex/values").VString<string | undefined, "optional">;
80
+ phoneVerified: import("convex/values").VString<string | undefined, "optional">;
81
+ }, "required", "expirationTime" | "provider" | "emailVerified" | "phoneVerified" | "accountId" | "code" | "verifier">, {
82
+ accountId: ["accountId", "_creationTime"];
83
+ code: ["code", "_creationTime"];
84
+ }, {}, {}>;
85
+ verifier: import("convex/server").TableDefinition<import("convex/values").VObject<{
86
+ sessionId?: import("convex/values").GenericId<"session"> | undefined;
87
+ signature?: string | undefined;
88
+ }, {
89
+ sessionId: import("convex/values").VId<import("convex/values").GenericId<"session"> | undefined, "optional">;
90
+ signature: import("convex/values").VString<string | undefined, "optional">;
91
+ }, "required", "sessionId" | "signature">, {
92
+ signature: ["signature", "_creationTime"];
93
+ }, {}, {}>;
94
+ limit: import("convex/server").TableDefinition<import("convex/values").VObject<{
95
+ identifier: string;
96
+ lastAttemptTime: number;
97
+ attemptsLeft: number;
98
+ }, {
99
+ identifier: import("convex/values").VString<string, "required">;
100
+ lastAttemptTime: import("convex/values").VFloat64<number, "required">;
101
+ attemptsLeft: import("convex/values").VFloat64<number, "required">;
102
+ }, "required", "identifier" | "lastAttemptTime" | "attemptsLeft">, {
103
+ identifier: ["identifier", "_creationTime"];
104
+ }, {}, {}>;
105
+ }, true>;
106
+ export default _default;
107
+ //# sourceMappingURL=schema.d.ts.map