@tinyrack/tinyauth-server 0.0.12 → 0.0.13

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 (80) hide show
  1. package/dist/entities/bootstrap-state.entity.d.ts +40 -0
  2. package/dist/entities/bootstrap-state.entity.d.ts.map +1 -0
  3. package/dist/entities/bootstrap-state.entity.js +13 -0
  4. package/dist/entities/bootstrap-state.entity.js.map +1 -0
  5. package/dist/entrypoints/app.d.ts +3 -1
  6. package/dist/entrypoints/app.d.ts.map +1 -1
  7. package/dist/entrypoints/app.js +3 -3
  8. package/dist/entrypoints/app.js.map +1 -1
  9. package/dist/entrypoints/database/d1/cli.d.ts +3 -2
  10. package/dist/entrypoints/database/d1/cli.d.ts.map +1 -1
  11. package/dist/entrypoints/database/d1/cli.js +9 -2
  12. package/dist/entrypoints/database/d1/cli.js.map +1 -1
  13. package/dist/entrypoints/database/d1/compiled-functions.d.ts +185 -160
  14. package/dist/entrypoints/database/d1/compiled-functions.d.ts.map +1 -1
  15. package/dist/entrypoints/database/d1/compiled-functions.js +411 -160
  16. package/dist/entrypoints/database/d1/compiled-functions.js.map +1 -1
  17. package/dist/entrypoints/database/d1/d1.d.ts.map +1 -1
  18. package/dist/entrypoints/database/d1/d1.js +11 -15
  19. package/dist/entrypoints/database/d1/d1.js.map +1 -1
  20. package/dist/entrypoints/database/postgres/cli.d.ts +3 -2
  21. package/dist/entrypoints/database/postgres/cli.d.ts.map +1 -1
  22. package/dist/entrypoints/database/postgres/cli.js +12 -1
  23. package/dist/entrypoints/database/postgres/cli.js.map +1 -1
  24. package/dist/entrypoints/database/postgres/compiled-functions.d.ts +185 -160
  25. package/dist/entrypoints/database/postgres/compiled-functions.d.ts.map +1 -1
  26. package/dist/entrypoints/database/postgres/compiled-functions.js +411 -160
  27. package/dist/entrypoints/database/postgres/compiled-functions.js.map +1 -1
  28. package/dist/entrypoints/database/postgres/postgres.d.ts.map +1 -1
  29. package/dist/entrypoints/database/postgres/postgres.js +5 -3
  30. package/dist/entrypoints/database/postgres/postgres.js.map +1 -1
  31. package/dist/entrypoints/database/sqlite/cli.d.ts +3 -2
  32. package/dist/entrypoints/database/sqlite/cli.d.ts.map +1 -1
  33. package/dist/entrypoints/database/sqlite/cli.js +9 -1
  34. package/dist/entrypoints/database/sqlite/cli.js.map +1 -1
  35. package/dist/entrypoints/database/sqlite/compiled-functions.d.ts +185 -160
  36. package/dist/entrypoints/database/sqlite/compiled-functions.d.ts.map +1 -1
  37. package/dist/entrypoints/database/sqlite/compiled-functions.js +411 -160
  38. package/dist/entrypoints/database/sqlite/compiled-functions.js.map +1 -1
  39. package/dist/entrypoints/database/sqlite/sqlite.d.ts.map +1 -1
  40. package/dist/entrypoints/database/sqlite/sqlite.js +4 -0
  41. package/dist/entrypoints/database/sqlite/sqlite.js.map +1 -1
  42. package/dist/entrypoints/services.d.ts +1 -1
  43. package/dist/entrypoints/services.d.ts.map +1 -1
  44. package/dist/entrypoints/services.js.map +1 -1
  45. package/dist/lib/database/entities.d.ts.map +1 -1
  46. package/dist/lib/database/entities.js +2 -0
  47. package/dist/lib/database/entities.js.map +1 -1
  48. package/dist/migrations/d1/Migration20260509172833_initial.d.ts +5 -0
  49. package/dist/migrations/d1/Migration20260509172833_initial.d.ts.map +1 -0
  50. package/dist/migrations/d1/Migration20260509172833_initial.js +62 -0
  51. package/dist/migrations/d1/Migration20260509172833_initial.js.map +1 -0
  52. package/dist/migrations/d1/index.d.ts +3 -0
  53. package/dist/migrations/d1/index.d.ts.map +1 -0
  54. package/dist/migrations/d1/index.js +3 -0
  55. package/dist/migrations/d1/index.js.map +1 -0
  56. package/dist/migrations/postgres/Migration20260509171036_initial.d.ts +5 -0
  57. package/dist/migrations/postgres/Migration20260509171036_initial.d.ts.map +1 -0
  58. package/dist/migrations/postgres/Migration20260509171036_initial.js +246 -0
  59. package/dist/migrations/postgres/Migration20260509171036_initial.js.map +1 -0
  60. package/dist/migrations/postgres/index.d.ts +3 -0
  61. package/dist/migrations/postgres/index.d.ts.map +1 -0
  62. package/dist/migrations/postgres/index.js +3 -0
  63. package/dist/migrations/postgres/index.js.map +1 -0
  64. package/dist/migrations/sqlite/Migration20260509171226_initial.d.ts +5 -0
  65. package/dist/migrations/sqlite/Migration20260509171226_initial.d.ts.map +1 -0
  66. package/dist/migrations/sqlite/Migration20260509171226_initial.js +62 -0
  67. package/dist/migrations/sqlite/Migration20260509171226_initial.js.map +1 -0
  68. package/dist/migrations/sqlite/index.d.ts +3 -0
  69. package/dist/migrations/sqlite/index.d.ts.map +1 -0
  70. package/dist/migrations/sqlite/index.js +3 -0
  71. package/dist/migrations/sqlite/index.js.map +1 -0
  72. package/dist/seeders/config.seeder.d.ts +2 -0
  73. package/dist/seeders/config.seeder.d.ts.map +1 -1
  74. package/dist/seeders/config.seeder.js +87 -0
  75. package/dist/seeders/config.seeder.js.map +1 -1
  76. package/dist/services/container.d.ts +5 -1
  77. package/dist/services/container.d.ts.map +1 -1
  78. package/dist/services/container.js +4 -3
  79. package/dist/services/container.js.map +1 -1
  80. package/package.json +7 -2
@@ -0,0 +1,62 @@
1
+ import { Migration } from '@mikro-orm/migrations';
2
+ export class Migration20260509171226_initial extends Migration {
3
+ up() {
4
+ this.addSql(`create table \`bootstrap_state\` (\`id\` text not null primary key, \`created_at\` datetime not null, \`updated_at\` datetime not null, \`value\` text not null) /* Runtime bootstrap metadata */;`);
5
+ this.addSql(`create table \`jwt_key\` (\`kid\` text not null primary key, \`created_at\` datetime not null, \`updated_at\` datetime not null, \`private_key\` text not null, \`public_key\` text not null, \`algorithm\` text not null default 'RS256', \`status\` text check (\`status\` in ('next', 'active', 'previous', 'retired')) not null default 'next', \`activated_at\` datetime null, \`deactivated_at\` datetime null, \`retired_at\` datetime null, \`expires_at\` datetime null) /* RSA key pairs for JWT signing (RS256) */;`);
6
+ this.addSql(`create index \`jwt_key_status_idx\` on \`jwt_key\` (\`status\`);`);
7
+ this.addSql(`create table \`oauth_client\` (\`id\` text not null primary key, \`created_at\` datetime not null, \`updated_at\` datetime not null, \`client_id\` text not null, \`client_secret_hash\` text null, \`name\` text not null, \`grant_types\` json not null default '[]', \`response_types\` json not null default '[]', \`scopes\` json not null default '[]', \`redirect_uris\` json not null default '[]', \`enabled\` integer not null default true, \`managed_by\` text not null default 'database', \`logo_uri\` text null) /* Registered OAuth clients */;`);
8
+ this.addSql(`create index \`client_client_id_unique\` on \`oauth_client\` (\`client_id\`);`);
9
+ this.addSql(`create table \`pending_oauth_registration\` (\`id\` text not null primary key, \`created_at\` datetime not null, \`updated_at\` datetime not null, \`token\` text not null, \`provider_id\` text not null, \`access_token\` text not null, \`refresh_token\` text null, \`expires_in\` integer null, \`token_type\` text not null, \`user_info\` json not null, \`return_url\` text null, \`expires_at\` datetime not null) /* Server-side store for pending OAuth registrations awaiting terms consent */;`);
10
+ this.addSql(`create unique index \`pending_oauth_registration_token_unique\` on \`pending_oauth_registration\` (\`token\`);`);
11
+ this.addSql(`create index \`pending_oauth_reg_token_idx\` on \`pending_oauth_registration\` (\`token\`);`);
12
+ this.addSql(`create index \`pending_oauth_reg_expires_at_idx\` on \`pending_oauth_registration\` (\`expires_at\`);`);
13
+ this.addSql(`create table \`terms\` (\`id\` text not null primary key, \`created_at\` datetime not null, \`updated_at\` datetime not null, \`required\` integer not null default true, \`consent_mode\` text not null default 'explicit', \`version\` text not null, \`managed_by\` text not null default 'database') /* Terms of service definitions */;`);
14
+ this.addSql(`create table \`terms_content\` (\`id\` text not null primary key, \`created_at\` datetime not null, \`updated_at\` datetime not null, \`terms_id\` text not null, \`lang\` text not null, \`title\` text not null, \`type\` text not null default 'link', \`content\` text not null, constraint \`terms_content_terms_id_foreign\` foreign key (\`terms_id\`) references \`terms\` (\`id\`) on delete cascade) /* Localized content for terms */;`);
15
+ this.addSql(`create index \`terms_content_terms_id_index\` on \`terms_content\` (\`terms_id\`);`);
16
+ this.addSql(`create unique index \`terms_content_terms_lang_unique\` on \`terms_content\` (\`terms_id\`, \`lang\`);`);
17
+ this.addSql(`create table \`user\` (\`sub\` text not null primary key, \`created_at\` datetime not null, \`updated_at\` datetime not null, \`email\` text not null, \`email_verified\` integer not null default false, \`password_hash\` text null, \`managed_by\` text not null default 'database', \`role\` text not null default 'user', \`deleted_at\` datetime null) /* Registered users */;`);
18
+ this.addSql(`create index \`user_email_unique\` on \`user\` (\`email\`);`);
19
+ this.addSql(`create index \`user_deleted_at_idx\` on \`user\` (\`deleted_at\`);`);
20
+ this.addSql(`create table \`user_consent\` (\`id\` text not null primary key, \`created_at\` datetime not null, \`updated_at\` datetime not null, \`user_sub\` text not null, \`client_id\` text not null, \`scopes\` json not null default '[]', \`granted_at\` datetime not null, \`revoked_at\` datetime null, constraint \`user_consent_user_sub_foreign\` foreign key (\`user_sub\`) references \`user\` (\`sub\`), constraint \`user_consent_client_id_foreign\` foreign key (\`client_id\`) references \`oauth_client\` (\`id\`)) /* User consent decisions for OAuth clients */;`);
21
+ this.addSql(`create index \`user_consent_user_sub_index\` on \`user_consent\` (\`user_sub\`);`);
22
+ this.addSql(`create index \`user_consent_client_id_index\` on \`user_consent\` (\`client_id\`);`);
23
+ this.addSql(`create unique index \`user_consent_unique\` on \`user_consent\` (\`user_sub\`, \`client_id\`);`);
24
+ this.addSql(`create table \`revoked_tokens\` (\`id\` text not null primary key, \`created_at\` datetime not null, \`updated_at\` datetime not null, \`jti\` text not null, \`token_type\` text check (\`token_type\` in ('access_token', 'refresh_token')) not null, \`client_id\` text not null, \`user_sub\` text not null, \`expires_at\` datetime not null, \`revoked_at\` datetime not null, constraint \`revoked_tokens_client_id_foreign\` foreign key (\`client_id\`) references \`oauth_client\` (\`id\`), constraint \`revoked_tokens_user_sub_foreign\` foreign key (\`user_sub\`) references \`user\` (\`sub\`)) /* Revoked OAuth tokens for invalidation before expiry */;`);
25
+ this.addSql(`create unique index \`revoked_tokens_jti_unique\` on \`revoked_tokens\` (\`jti\`);`);
26
+ this.addSql(`create index \`revoked_tokens_client_id_index\` on \`revoked_tokens\` (\`client_id\`);`);
27
+ this.addSql(`create index \`revoked_tokens_user_sub_index\` on \`revoked_tokens\` (\`user_sub\`);`);
28
+ this.addSql(`create index \`revoked_token_jti_idx\` on \`revoked_tokens\` (\`jti\`);`);
29
+ this.addSql(`create index \`revoked_token_client_user_idx\` on \`revoked_tokens\` (\`client_id\`, \`user_sub\`);`);
30
+ this.addSql(`create index \`revoked_token_expires_at_idx\` on \`revoked_tokens\` (\`expires_at\`);`);
31
+ this.addSql(`create table \`password_reset\` (\`id\` text not null primary key, \`created_at\` datetime not null, \`updated_at\` datetime not null, \`user_sub\` text not null, \`token\` text not null, \`expires_at\` datetime not null, \`used\` integer not null default false, \`used_at\` datetime null, constraint \`password_reset_user_sub_foreign\` foreign key (\`user_sub\`) references \`user\` (\`sub\`)) /* Password reset tokens for user password recovery */;`);
32
+ this.addSql(`create index \`password_reset_user_sub_idx\` on \`password_reset\` (\`user_sub\`);`);
33
+ this.addSql(`create index \`password_reset_token_idx\` on \`password_reset\` (\`token\`);`);
34
+ this.addSql(`create table \`oauth_code\` (\`id\` text not null primary key, \`created_at\` datetime not null, \`updated_at\` datetime not null, \`code_hash\` text not null, \`client_id\` text not null, \`user_sub\` text not null, \`redirect_uri\` text null, \`scope\` json not null default '[]', \`nonce\` text not null, \`code_challenge\` text not null, \`code_challenge_method\` text check (\`code_challenge_method\` in ('S256', 'plain')) not null default 'S256', \`expired_at\` datetime not null, \`consumed_at\` datetime null, \`auth_time\` integer null, constraint \`oauth_code_client_id_foreign\` foreign key (\`client_id\`) references \`oauth_client\` (\`id\`), constraint \`oauth_code_user_sub_foreign\` foreign key (\`user_sub\`) references \`user\` (\`sub\`)) /* Issued OAuth authorization codes */;`);
35
+ this.addSql(`create unique index \`oauth_code_code_hash_unique\` on \`oauth_code\` (\`code_hash\`);`);
36
+ this.addSql(`create index \`oauth_code_client_id_index\` on \`oauth_code\` (\`client_id\`);`);
37
+ this.addSql(`create index \`oauth_code_user_sub_index\` on \`oauth_code\` (\`user_sub\`);`);
38
+ this.addSql(`create index \`auth_code_hash_idx\` on \`oauth_code\` (\`code_hash\`);`);
39
+ this.addSql(`create index \`oauth_code_client_consumed_idx\` on \`oauth_code\` (\`client_id\`, \`consumed_at\`);`);
40
+ this.addSql(`create index \`oauth_code_expired_at_idx\` on \`oauth_code\` (\`expired_at\`);`);
41
+ this.addSql(`create table \`email_verification\` (\`id\` text not null primary key, \`created_at\` datetime not null, \`updated_at\` datetime not null, \`user_sub\` text not null, \`token\` text not null, \`expires_at\` datetime not null, \`verified\` integer not null default false, \`verified_at\` datetime null, constraint \`email_verification_user_sub_foreign\` foreign key (\`user_sub\`) references \`user\` (\`sub\`)) /* Email verification tokens for user registration */;`);
42
+ this.addSql(`create index \`email_verification_user_sub_idx\` on \`email_verification\` (\`user_sub\`);`);
43
+ this.addSql(`create index \`email_verification_token_idx\` on \`email_verification\` (\`token\`);`);
44
+ this.addSql(`create table \`user_oauth\` (\`id\` integer not null primary key autoincrement, \`created_at\` datetime not null, \`updated_at\` datetime not null, \`user_sub\` text not null, \`provider_name\` text not null, \`provider_user_id\` text not null, \`access_token\` text not null, \`refresh_token\` text not null, \`expires_at\` datetime null, constraint \`user_oauth_user_sub_foreign\` foreign key (\`user_sub\`) references \`user\` (\`sub\`)) /* OAuth accounts linked to users */;`);
45
+ this.addSql(`create index \`user_oauth_user_sub_idx\` on \`user_oauth\` (\`user_sub\`);`);
46
+ this.addSql(`create index \`user_oauth_user_provider_idx\` on \`user_oauth\` (\`user_sub\`, \`provider_name\`);`);
47
+ this.addSql(`create unique index \`user_oauth_provider_unique\` on \`user_oauth\` (\`provider_name\`, \`provider_user_id\`);`);
48
+ this.addSql(`create table \`user_passkey\` (\`id\` text not null primary key, \`created_at\` datetime not null, \`updated_at\` datetime not null, \`user_sub\` text not null, \`credential_id\` text not null, \`public_key\` text not null, \`counter\` integer not null default 0, \`device_type\` text not null default 'singleDevice', \`backed_up\` integer not null default false, \`transports\` json null, \`name\` text null, \`aaguid\` text null, constraint \`user_passkey_user_sub_foreign\` foreign key (\`user_sub\`) references \`user\` (\`sub\`) on delete cascade) /* User passkeys for WebAuthn authentication */;`);
49
+ this.addSql(`create index \`user_passkey_user_sub_idx\` on \`user_passkey\` (\`user_sub\`);`);
50
+ this.addSql(`create index \`user_passkey_credential_id_unique\` on \`user_passkey\` (\`credential_id\`);`);
51
+ this.addSql(`create table \`user_terms_consent\` (\`id\` text not null primary key, \`created_at\` datetime not null, \`updated_at\` datetime not null, \`user_sub\` text not null, \`terms_id\` text not null, \`terms_version\` text not null, \`agreed\` integer not null, \`consent_type\` text not null, \`agreed_at\` datetime not null, constraint \`user_terms_consent_user_sub_foreign\` foreign key (\`user_sub\`) references \`user\` (\`sub\`) on delete cascade, constraint \`user_terms_consent_terms_id_foreign\` foreign key (\`terms_id\`) references \`terms\` (\`id\`) on delete cascade) /* User consent records for terms of service */;`);
52
+ this.addSql(`create index \`user_terms_consent_user_sub_index\` on \`user_terms_consent\` (\`user_sub\`);`);
53
+ this.addSql(`create index \`user_terms_consent_terms_id_index\` on \`user_terms_consent\` (\`terms_id\`);`);
54
+ this.addSql(`create index \`user_terms_consent_user_terms_index\` on \`user_terms_consent\` (\`user_sub\`, \`terms_id\`);`);
55
+ this.addSql(`create table \`user_totp\` (\`id\` text not null primary key, \`created_at\` datetime not null, \`updated_at\` datetime not null, \`user_sub\` text not null, \`secret\` text not null, \`verified\` integer not null default false, \`recovery_confirmed\` integer not null default false, constraint \`user_totp_user_sub_foreign\` foreign key (\`user_sub\`) references \`user\` (\`sub\`) on delete cascade) /* User TOTP secrets for two-factor authentication */;`);
56
+ this.addSql(`create index \`user_totp_user_sub_index\` on \`user_totp\` (\`user_sub\`);`);
57
+ this.addSql(`create unique index \`user_totp_user_unique\` on \`user_totp\` (\`user_sub\`);`);
58
+ this.addSql(`create table \`user_totp_recovery_code\` (\`id\` text not null primary key, \`created_at\` datetime not null, \`updated_at\` datetime not null, \`user_sub\` text not null, \`code_hash\` text not null, \`used\` integer not null default false, \`used_at\` datetime null, constraint \`user_totp_recovery_code_user_sub_foreign\` foreign key (\`user_sub\`) references \`user\` (\`sub\`) on delete cascade) /* One-time recovery codes for TOTP two-factor authentication */;`);
59
+ this.addSql(`create index \`user_totp_recovery_code_user_sub_idx\` on \`user_totp_recovery_code\` (\`user_sub\`);`);
60
+ }
61
+ }
62
+ //# sourceMappingURL=Migration20260509171226_initial.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Migration20260509171226_initial.js","sourceRoot":"","sources":["../../../src/migrations/sqlite/Migration20260509171226_initial.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Migration20260509171226_initial } from './Migration20260509171226_initial.js';
2
+ export declare const SQLITE_MIGRATIONS: (typeof Migration20260509171226_initial)[];
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/migrations/sqlite/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,+BAA+B,EAAE,MAAM,sCAAsC,CAAC;AAEvF,eAAO,MAAM,iBAAiB,4CAAoC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Migration20260509171226_initial } from './Migration20260509171226_initial.js';
2
+ export const SQLITE_MIGRATIONS = [Migration20260509171226_initial];
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/migrations/sqlite/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,+BAA+B,EAAE,MAAM,sCAAsC,CAAC;AAEvF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,+BAA+B,CAAC,CAAC"}
@@ -1,6 +1,8 @@
1
1
  import type { EntityManager } from '@mikro-orm/core';
2
2
  import type { TinyAuthRuntimeConfig } from '../lib/config/index.ts';
3
3
  import type { SecurityService } from '../services/security.service.ts';
4
+ export type ConfigSeedMode = 'if-changed' | 'always' | 'skip';
5
+ export declare function seedConfigIfNeeded(em: EntityManager, config: TinyAuthRuntimeConfig, securityService: SecurityService, mode?: ConfigSeedMode): Promise<boolean>;
4
6
  /**
5
7
  * ConfigSeeder
6
8
  *
@@ -1 +1 @@
1
- {"version":3,"file":"config.seeder.d.ts","sourceRoot":"","sources":["../../src/seeders/config.seeder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAKrD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAEvE;;;;;;;;;;;;GAYG;AAEH;;GAEG;AACH,wBAAsB,UAAU,CAC9B,EAAE,EAAE,aAAa,EACjB,MAAM,EAAE,qBAAqB,EAC7B,eAAe,EAAE,eAAe,GAC/B,OAAO,CAAC,IAAI,CAAC,CAIf"}
1
+ {"version":3,"file":"config.seeder.d.ts","sourceRoot":"","sources":["../../src/seeders/config.seeder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAYrD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAKvE,MAAM,MAAM,cAAc,GAAG,YAAY,GAAG,QAAQ,GAAG,MAAM,CAAC;AA+E9D,wBAAsB,kBAAkB,CACtC,EAAE,EAAE,aAAa,EACjB,MAAM,EAAE,qBAAqB,EAC7B,eAAe,EAAE,eAAe,EAChC,IAAI,GAAE,cAA6B,GAClC,OAAO,CAAC,OAAO,CAAC,CA6ClB;AAED;;;;;;;;;;;;GAYG;AAEH;;GAEG;AACH,wBAAsB,UAAU,CAC9B,EAAE,EAAE,aAAa,EACjB,MAAM,EAAE,qBAAqB,EAC7B,eAAe,EAAE,eAAe,GAC/B,OAAO,CAAC,IAAI,CAAC,CAIf"}
@@ -1,7 +1,94 @@
1
+ import { BootstrapStateEntitySchema } from "../entities/bootstrap-state.entity.js";
1
2
  import { OAuthClientEntitySchema } from "../entities/oauth-client.entity.js";
2
3
  import { TermsEntitySchema } from "../entities/terms.entity.js";
3
4
  import { TermsContentEntitySchema } from "../entities/terms-content.entity.js";
4
5
  import { UserEntity } from "../entities/user.entity.js";
6
+ import { fromBase64Url, stringToBytes, toArrayBuffer, toBase64Url, } from "../lib/base64url.js";
7
+ const CONFIG_SEED_STATE_ID = 'config-seed';
8
+ const CONFIG_SEED_FINGERPRINT_VERSION = 1;
9
+ function canonicalJson(value) {
10
+ if (value === null) {
11
+ return 'null';
12
+ }
13
+ if (typeof value === 'string' ||
14
+ typeof value === 'number' ||
15
+ typeof value === 'boolean') {
16
+ return JSON.stringify(value);
17
+ }
18
+ if (Array.isArray(value)) {
19
+ return `[${value.map((item) => canonicalJson(item)).join(',')}]`;
20
+ }
21
+ if (typeof value === 'object') {
22
+ const entries = Object.entries(value)
23
+ .filter((entry) => entry[1] !== undefined)
24
+ .sort(([left], [right]) => left.localeCompare(right));
25
+ return `{${entries
26
+ .map(([key, entryValue]) => `${JSON.stringify(key)}:${canonicalJson(entryValue)}`)
27
+ .join(',')}}`;
28
+ }
29
+ return 'null';
30
+ }
31
+ async function createConfigSeedFingerprint(config) {
32
+ const payload = canonicalJson({
33
+ version: CONFIG_SEED_FINGERPRINT_VERSION,
34
+ pbkdf2_iterations: config.security.pbkdf2_iterations,
35
+ terms: config.terms,
36
+ users: config.users,
37
+ clients: config.clients,
38
+ });
39
+ const keyBytes = fromBase64Url(config.security.hash_secret);
40
+ const key = await crypto.subtle.importKey('raw', toArrayBuffer(keyBytes), {
41
+ name: 'HMAC',
42
+ hash: 'SHA-256',
43
+ }, false, ['sign']);
44
+ const signature = await crypto.subtle.sign('HMAC', key, toArrayBuffer(stringToBytes(payload)));
45
+ return `v${CONFIG_SEED_FINGERPRINT_VERSION}:${toBase64Url(new Uint8Array(signature))}`;
46
+ }
47
+ function isMissingBootstrapStateTableError(err) {
48
+ const message = err instanceof Error ? err.message : String(err);
49
+ const normalized = message.toLowerCase();
50
+ return (normalized.includes('bootstrap_state') &&
51
+ (normalized.includes('no such table') ||
52
+ normalized.includes('does not exist') ||
53
+ normalized.includes('not found')));
54
+ }
55
+ export async function seedConfigIfNeeded(em, config, securityService, mode = 'if-changed') {
56
+ if (mode === 'skip') {
57
+ return false;
58
+ }
59
+ if (mode === 'always') {
60
+ await seedConfig(em, config, securityService);
61
+ return true;
62
+ }
63
+ const fingerprint = await createConfigSeedFingerprint(config);
64
+ try {
65
+ const state = await em.findOne(BootstrapStateEntitySchema, {
66
+ id: CONFIG_SEED_STATE_ID,
67
+ });
68
+ if (state?.value === fingerprint) {
69
+ return false;
70
+ }
71
+ }
72
+ catch (err) {
73
+ if (!isMissingBootstrapStateTableError(err)) {
74
+ throw err;
75
+ }
76
+ await seedConfig(em, config, securityService);
77
+ return true;
78
+ }
79
+ await seedConfig(em, config, securityService);
80
+ await em.upsert(BootstrapStateEntitySchema, {
81
+ id: CONFIG_SEED_STATE_ID,
82
+ value: fingerprint,
83
+ created_at: new Date(),
84
+ updated_at: new Date(),
85
+ }, {
86
+ onConflictFields: ['id'],
87
+ onConflictAction: 'merge',
88
+ onConflictExcludeFields: ['id', 'created_at'],
89
+ });
90
+ return true;
91
+ }
5
92
  /**
6
93
  * ConfigSeeder
7
94
  *
@@ -1 +1 @@
1
- {"version":3,"file":"config.seeder.js","sourceRoot":"","sources":["../../src/seeders/config.seeder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.seeder.js","sourceRoot":"","sources":["../../src/seeders/config.seeder.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import type { TinyAuthRuntimeConfig } from '../lib/config/index.ts';
2
2
  import type { Logger } from '../lib/logger.ts';
3
+ import { type ConfigSeedMode } from '../seeders/config.seeder.ts';
3
4
  import { CleanupService } from './cleanup.service.ts';
4
5
  import { EmailService } from './email.service.ts';
5
6
  import { JwtService } from './jwt.service.ts';
@@ -17,7 +18,10 @@ import { TermsService } from './terms.service.ts';
17
18
  import { TotpService } from './totp.service.ts';
18
19
  import { UserService } from './user.service.ts';
19
20
  import { UserConsentService } from './user-consent.service.ts';
20
- export declare function initializeServices(config: TinyAuthRuntimeConfig, logger: Logger): Promise<{
21
+ export interface InitializeServicesOptions {
22
+ seedConfig?: ConfigSeedMode;
23
+ }
24
+ export declare function initializeServices(config: TinyAuthRuntimeConfig, logger: Logger, options?: InitializeServicesOptions): Promise<{
21
25
  services: {
22
26
  config: {
23
27
  server: {
@@ -1 +1 @@
1
- {"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../../src/services/container.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE/D,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,qBAAqB,EAC7B,MAAM,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqGf;AAED,MAAM,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC,CAAC;AACxE,MAAM,MAAM,gBAAgB,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC"}
1
+ {"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../../src/services/container.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EACL,KAAK,cAAc,EAEpB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE/D,MAAM,WAAW,yBAAyB;IACxC,UAAU,CAAC,EAAE,cAAc,CAAC;CAC7B;AAED,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,qBAAqB,EAC7B,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,yBAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2GxC;AAED,MAAM,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC,CAAC;AACxE,MAAM,MAAM,gBAAgB,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC"}
@@ -1,4 +1,4 @@
1
- import { seedConfig } from "../seeders/config.seeder.js";
1
+ import { seedConfigIfNeeded, } from "../seeders/config.seeder.js";
2
2
  import { CleanupService } from "./cleanup.service.js";
3
3
  import { EmailService } from "./email.service.js";
4
4
  import { JwtService } from "./jwt.service.js";
@@ -16,16 +16,17 @@ import { TermsService } from "./terms.service.js";
16
16
  import { TotpService } from "./totp.service.js";
17
17
  import { UserService } from "./user.service.js";
18
18
  import { UserConsentService } from "./user-consent.service.js";
19
- export async function initializeServices(config, logger) {
19
+ export async function initializeServices(config, logger, options = {}) {
20
20
  const securityService = new SecurityService(config);
21
21
  // 1. Initialize MikroORM
22
22
  const mikroLogger = logger.child({ service: 'mikro' });
23
23
  const mikro = await MikroService.initialize(config, mikroLogger);
24
24
  // 2. Bootstrap: seed config users/clients
25
- await seedConfig(mikro.orm.em.fork(), config, securityService);
25
+ const seeded = await seedConfigIfNeeded(mikro.orm.em.fork(), config, securityService, options.seedConfig);
26
26
  logger.info({
27
27
  users: config.users.length,
28
28
  clients: config.clients.length,
29
+ seeded,
29
30
  }, 'Bootstrap complete');
30
31
  // 3. Create services (respecting dependency order)
31
32
  const emailLogger = logger.child({ service: 'email' });
@@ -1 +1 @@
1
- {"version":3,"file":"container.js","sourceRoot":"","sources":["../../src/services/container.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"container.js","sourceRoot":"","sources":["../../src/services/container.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tinyrack/tinyauth-server",
3
- "version": "0.0.12",
3
+ "version": "0.0.13",
4
4
  "type": "module",
5
5
  "description": "OpenID Connect Provider with OAuth2 support",
6
6
  "license": "MIT",
@@ -145,11 +145,16 @@
145
145
  "build:watch": "tsc -b -w tsconfig.json",
146
146
  "email:preview": "email dev --dir src/emails/templates --port 3001",
147
147
  "mikro-orm": "mikro-orm",
148
+ "mikro-orm:postgres": "node ./scripts/mikro-orm-configured.mjs ./src/entrypoints/database/postgres/cli.ts",
149
+ "mikro-orm:sqlite": "node ./scripts/mikro-orm-configured.mjs ./src/entrypoints/database/sqlite/cli.ts",
150
+ "mikro-orm:d1": "node ./scripts/mikro-orm-configured.mjs ./src/entrypoints/database/d1/cli.ts",
148
151
  "mikro-orm:compile": "pnpm run mikro-orm:compile:postgres && pnpm run mikro-orm:compile:sqlite && pnpm run mikro-orm:compile:d1",
149
152
  "mikro-orm:compile:postgres": "mikro-orm compile --config ./src/entrypoints/database/postgres/cli.ts",
150
153
  "mikro-orm:compile:sqlite": "mikro-orm compile --config ./src/entrypoints/database/sqlite/cli.ts",
151
154
  "mikro-orm:compile:d1": "mikro-orm compile --config ./src/entrypoints/database/d1/cli.ts",
152
155
  "mikro-orm:debug": "mikro-orm debug",
153
- "mikro-orm:schema:create": "mikro-orm migration:create --initial"
156
+ "mikro-orm:migration:create:postgres": "node ./scripts/mikro-orm-configured.mjs ./src/entrypoints/database/postgres/cli.ts migration:create",
157
+ "mikro-orm:migration:create:sqlite": "node ./scripts/mikro-orm-configured.mjs ./src/entrypoints/database/sqlite/cli.ts migration:create",
158
+ "mikro-orm:migration:create:d1": "node ./scripts/mikro-orm-configured.mjs ./src/entrypoints/database/d1/cli.ts migration:create"
154
159
  }
155
160
  }