@warlock.js/auth 5.15.0 → 5.16.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.
Files changed (51) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/esm/contracts/index.d.mts +1 -1
  3. package/esm/contracts/providers.d.mts +59 -1
  4. package/esm/contracts/providers.d.mts.map +1 -1
  5. package/esm/index.d.mts +8 -2
  6. package/esm/index.mjs +7 -1
  7. package/esm/providers/apple-provider.d.mts +74 -0
  8. package/esm/providers/apple-provider.d.mts.map +1 -0
  9. package/esm/providers/apple-provider.mjs +157 -0
  10. package/esm/providers/apple-provider.mjs.map +1 -0
  11. package/esm/providers/discord-provider.d.mts +25 -0
  12. package/esm/providers/discord-provider.d.mts.map +1 -0
  13. package/esm/providers/discord-provider.mjs +84 -0
  14. package/esm/providers/discord-provider.mjs.map +1 -0
  15. package/esm/providers/facebook-provider.d.mts +36 -0
  16. package/esm/providers/facebook-provider.d.mts.map +1 -0
  17. package/esm/providers/facebook-provider.mjs +94 -0
  18. package/esm/providers/facebook-provider.mjs.map +1 -0
  19. package/esm/providers/github-provider.d.mts +31 -0
  20. package/esm/providers/github-provider.d.mts.map +1 -0
  21. package/esm/providers/github-provider.mjs +115 -0
  22. package/esm/providers/github-provider.mjs.map +1 -0
  23. package/esm/providers/index.d.mts +7 -1
  24. package/esm/providers/index.mjs +6 -0
  25. package/esm/providers/linkedin-provider.d.mts +35 -0
  26. package/esm/providers/linkedin-provider.d.mts.map +1 -0
  27. package/esm/providers/linkedin-provider.mjs +108 -0
  28. package/esm/providers/linkedin-provider.mjs.map +1 -0
  29. package/esm/providers/provider-login.d.mts +2 -1
  30. package/esm/providers/provider-login.d.mts.map +1 -1
  31. package/esm/providers/provider-login.mjs +47 -7
  32. package/esm/providers/provider-login.mjs.map +1 -1
  33. package/esm/providers/provider-state-cookie.mjs +35 -16
  34. package/esm/providers/provider-state-cookie.mjs.map +1 -1
  35. package/esm/providers/x-provider.d.mts +35 -0
  36. package/esm/providers/x-provider.d.mts.map +1 -0
  37. package/esm/providers/x-provider.mjs +101 -0
  38. package/esm/providers/x-provider.mjs.map +1 -0
  39. package/esm/services/auth-config.mjs +16 -1
  40. package/esm/services/auth-config.mjs.map +1 -1
  41. package/llms-full.txt +1075 -765
  42. package/llms.txt +5 -5
  43. package/package.json +8 -8
  44. package/skills/auth-basics/SKILL.md +16 -1
  45. package/skills/customize-token-storage/SKILL.md +160 -122
  46. package/skills/customize-user-type/SKILL.md +168 -142
  47. package/skills/handle-login-and-logout/SKILL.md +179 -165
  48. package/skills/login-with-providers/SKILL.md +131 -2
  49. package/skills/protect-routes/SKILL.md +308 -249
  50. package/skills/register-user/SKILL.md +15 -1
  51. package/skills/run-auth-commands/SKILL.md +16 -1
@@ -103,10 +103,24 @@ Unlike `auth.cleanup`, do **not** schedule it: it is a full table scan (it must
103
103
 
104
104
  If `auth.cleanup` doesn't cover everything your app needs (e.g. you also want to revoke tokens for inactive users), write your own command and combine the auth service helpers:
105
105
 
106
+ ```ts title="src/app/users/models/user/user.model.ts"
107
+ import { Auth } from "@warlock.js/auth";
108
+ import { RegisterModel } from "@warlock.js/cascade";
109
+
110
+ @RegisterModel()
111
+ export class User extends Auth {
112
+ public static table = "users";
113
+
114
+ public get userType(): string {
115
+ return "user";
116
+ }
117
+ }
118
+ ```
119
+
106
120
  ```ts
107
121
  import { command } from "@warlock.js/core";
108
122
  import { authService } from "@warlock.js/auth";
109
- import { User } from "@/app/users/models/user.model";
123
+ import { User } from "app/users/models/user/user.model";
110
124
 
111
125
  export function registerDeepCleanupCommand() {
112
126
  return command({
@@ -120,6 +134,7 @@ export function registerDeepCleanupCommand() {
120
134
  action: async () => {
121
135
  await authService.cleanupExpiredTokens();
122
136
 
137
+ const thirtyDaysAgo = new Date(Date.now() - 30 * 24 * 60 * 60 * 1000);
123
138
  const stale = await User.where("last_seen_at", "<", thirtyDaysAgo).get();
124
139
 
125
140
  for (const user of stale) {