@medusajs/auth 0.0.2 → 0.0.3-next-20240319121007

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 (32) hide show
  1. package/dist/migrations/Migration20240205025924.d.ts +5 -0
  2. package/dist/migrations/Migration20240205025924.js +14 -0
  3. package/dist/models/auth-user.d.ts +3 -3
  4. package/dist/models/auth-user.js +15 -12
  5. package/dist/models/index.d.ts +0 -1
  6. package/dist/models/index.js +1 -3
  7. package/dist/providers/email-password.d.ts +1 -0
  8. package/dist/providers/email-password.js +34 -2
  9. package/dist/providers/google.d.ts +6 -6
  10. package/dist/providers/google.js +25 -32
  11. package/dist/services/auth-module.d.ts +18 -37
  12. package/dist/services/auth-module.js +19 -208
  13. package/dist/services/auth-user.d.ts +3 -10
  14. package/dist/services/auth-user.js +1 -1
  15. package/dist/services/index.d.ts +0 -1
  16. package/dist/services/index.js +1 -3
  17. package/dist/types/repositories/index.d.ts +0 -15
  18. package/dist/types/repositories/index.js +0 -1
  19. package/dist/types/services/auth-user.d.ts +4 -3
  20. package/dist/types/services/index.d.ts +0 -1
  21. package/dist/types/services/index.js +0 -1
  22. package/package.json +7 -7
  23. package/dist/migrations/Migration20240122041959.d.ts +0 -5
  24. package/dist/migrations/Migration20240122041959.js +0 -18
  25. package/dist/models/auth-provider.d.ts +0 -12
  26. package/dist/models/auth-provider.js +0 -44
  27. package/dist/services/auth-provider.d.ts +0 -18
  28. package/dist/services/auth-provider.js +0 -11
  29. package/dist/types/repositories/auth-provider.d.ts +0 -23
  30. package/dist/types/repositories/auth-provider.js +0 -9
  31. package/dist/types/services/auth-provider.d.ts +0 -27
  32. package/dist/types/services/auth-provider.js +0 -9
@@ -0,0 +1,5 @@
1
+ import { Migration } from "@mikro-orm/migrations";
2
+ export declare class Migration20240205025924 extends Migration {
3
+ up(): Promise<void>;
4
+ down(): Promise<void>;
5
+ }
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Migration20240205025924 = void 0;
4
+ const migrations_1 = require("@mikro-orm/migrations");
5
+ class Migration20240205025924 extends migrations_1.Migration {
6
+ async up() {
7
+ this.addSql('create table if not exists "auth_user" ("id" text not null, "entity_id" text not null, "provider" text not null, "scope" text not null, "user_metadata" jsonb null, "app_metadata" jsonb not null, "provider_metadata" jsonb null, constraint "auth_user_pkey" primary key ("id"));');
8
+ this.addSql('alter table "auth_user" add constraint "IDX_auth_user_provider_scope_entity_id" unique ("provider", "scope", "entity_id");');
9
+ }
10
+ async down() {
11
+ this.addSql('drop table if exists "auth_user" cascade;');
12
+ }
13
+ }
14
+ exports.Migration20240205025924 = Migration20240205025924;
@@ -1,13 +1,13 @@
1
1
  import { OptionalProps } from "@mikro-orm/core";
2
- import AuthProvider from "./auth-provider";
3
2
  type OptionalFields = "provider_metadata" | "app_metadata" | "user_metadata";
4
3
  export default class AuthUser {
5
4
  [OptionalProps]: OptionalFields;
6
5
  id: string;
7
6
  entity_id: string;
8
- provider: AuthProvider;
7
+ provider: string;
8
+ scope: string;
9
9
  user_metadata: Record<string, unknown> | null;
10
- app_metadata: Record<string, unknown> | null;
10
+ app_metadata: Record<string, unknown>;
11
11
  provider_metadata: Record<string, unknown> | null;
12
12
  onCreate(): void;
13
13
  onInit(): void;
@@ -8,14 +8,14 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
8
8
  var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
11
  Object.defineProperty(exports, "__esModule", { value: true });
15
12
  const core_1 = require("@mikro-orm/core");
16
- const auth_provider_1 = __importDefault(require("./auth-provider"));
17
13
  const utils_1 = require("@medusajs/utils");
18
14
  let AuthUser = class AuthUser {
15
+ constructor() {
16
+ this.app_metadata = {};
17
+ this.provider_metadata = null;
18
+ }
19
19
  onCreate() {
20
20
  this.id = (0, utils_1.generateEntityId)(this.id, "authusr");
21
21
  }
@@ -32,19 +32,19 @@ __decorate([
32
32
  __metadata("design:type", String)
33
33
  ], AuthUser.prototype, "entity_id", void 0);
34
34
  __decorate([
35
- (0, core_1.ManyToOne)(() => auth_provider_1.default, {
36
- joinColumn: "provider",
37
- fieldName: "provider_id",
38
- cascade: [core_1.Cascade.REMOVE],
39
- }),
40
- __metadata("design:type", auth_provider_1.default)
35
+ (0, core_1.Property)({ columnType: "text" }),
36
+ __metadata("design:type", String)
41
37
  ], AuthUser.prototype, "provider", void 0);
38
+ __decorate([
39
+ (0, core_1.Property)({ columnType: "text" }),
40
+ __metadata("design:type", String)
41
+ ], AuthUser.prototype, "scope", void 0);
42
42
  __decorate([
43
43
  (0, core_1.Property)({ columnType: "jsonb", nullable: true }),
44
44
  __metadata("design:type", Object)
45
45
  ], AuthUser.prototype, "user_metadata", void 0);
46
46
  __decorate([
47
- (0, core_1.Property)({ columnType: "jsonb", nullable: true }),
47
+ (0, core_1.Property)({ columnType: "jsonb" }),
48
48
  __metadata("design:type", Object)
49
49
  ], AuthUser.prototype, "app_metadata", void 0);
50
50
  __decorate([
@@ -65,6 +65,9 @@ __decorate([
65
65
  ], AuthUser.prototype, "onInit", null);
66
66
  AuthUser = __decorate([
67
67
  (0, core_1.Entity)(),
68
- (0, core_1.Unique)({ properties: ["provider", "entity_id"], name: "IDX_auth_user_provider_entity_id" })
68
+ (0, core_1.Unique)({
69
+ properties: ["provider", "scope", "entity_id"],
70
+ name: "IDX_auth_user_provider_scope_entity_id",
71
+ })
69
72
  ], AuthUser);
70
73
  exports.default = AuthUser;
@@ -1,2 +1 @@
1
1
  export { default as AuthUser } from "./auth-user";
2
- export { default as AuthProvider } from "./auth-provider";
@@ -3,8 +3,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.AuthProvider = exports.AuthUser = void 0;
6
+ exports.AuthUser = void 0;
7
7
  var auth_user_1 = require("./auth-user");
8
8
  Object.defineProperty(exports, "AuthUser", { enumerable: true, get: function () { return __importDefault(auth_user_1).default; } });
9
- var auth_provider_1 = require("./auth-provider");
10
- Object.defineProperty(exports, "AuthProvider", { enumerable: true, get: function () { return __importDefault(auth_provider_1).default; } });
@@ -8,6 +8,7 @@ declare class EmailPasswordProvider extends AbstractAuthModuleProvider {
8
8
  constructor({ authUserService }: {
9
9
  authUserService: AuthUserService;
10
10
  });
11
+ private getHashConfig;
11
12
  authenticate(userData: AuthenticationInput): Promise<AuthenticationResponse>;
12
13
  }
13
14
  export default EmailPasswordProvider;
@@ -7,9 +7,18 @@ const utils_1 = require("@medusajs/utils");
7
7
  const scrypt_kdf_1 = __importDefault(require("scrypt-kdf"));
8
8
  class EmailPasswordProvider extends utils_1.AbstractAuthModuleProvider {
9
9
  constructor({ authUserService }) {
10
- super(arguments[0]);
10
+ super(arguments[0], {
11
+ provider: EmailPasswordProvider.PROVIDER,
12
+ displayName: EmailPasswordProvider.DISPLAY_NAME,
13
+ });
11
14
  this.authUserSerivce_ = authUserService;
12
15
  }
16
+ getHashConfig() {
17
+ const scopeConfig = this.scopeConfig_.hashConfig;
18
+ const defaultHashConfig = { logN: 15, r: 8, p: 1 };
19
+ // Return custom defined hash config or default hash parameters
20
+ return scopeConfig ?? defaultHashConfig;
21
+ }
13
22
  async authenticate(userData) {
14
23
  const { email, password } = userData.body;
15
24
  if (!password || !(0, utils_1.isString)(password)) {
@@ -24,7 +33,30 @@ class EmailPasswordProvider extends utils_1.AbstractAuthModuleProvider {
24
33
  error: "Email should be a string",
25
34
  };
26
35
  }
27
- const authUser = await this.authUserSerivce_.retrieveByProviderAndEntityId(email, EmailPasswordProvider.PROVIDER);
36
+ let authUser;
37
+ try {
38
+ authUser = await this.authUserSerivce_.retrieveByProviderAndEntityId(email, EmailPasswordProvider.PROVIDER);
39
+ }
40
+ catch (error) {
41
+ if (error.type === utils_1.MedusaError.Types.NOT_FOUND) {
42
+ const password_hash = await scrypt_kdf_1.default.kdf(password, this.getHashConfig());
43
+ const [createdAuthUser] = await this.authUserSerivce_.create([
44
+ {
45
+ entity_id: email,
46
+ provider: EmailPasswordProvider.PROVIDER,
47
+ scope: this.scope_,
48
+ provider_metadata: {
49
+ password: password_hash.toString("base64"),
50
+ },
51
+ },
52
+ ]);
53
+ return {
54
+ success: true,
55
+ authUser: JSON.parse(JSON.stringify(createdAuthUser)),
56
+ };
57
+ }
58
+ return { success: false, error: error.message };
59
+ }
28
60
  const password_hash = authUser.provider_metadata?.password;
29
61
  if ((0, utils_1.isString)(password_hash)) {
30
62
  const buf = Buffer.from(password_hash, "base64");
@@ -1,19 +1,19 @@
1
+ import { AuthenticationInput, AuthenticationResponse, ModulesSdkTypes } from "@medusajs/types";
1
2
  import { AbstractAuthModuleProvider } from "@medusajs/utils";
2
- import { AuthenticationInput, AuthenticationResponse } from "@medusajs/types";
3
- import { AuthProviderService, AuthUserService } from "../services";
3
+ import { AuthUserService } from "../services";
4
4
  type InjectedDependencies = {
5
5
  authUserService: AuthUserService;
6
- authProviderService: AuthProviderService;
6
+ authProviderService: ModulesSdkTypes.InternalModuleService<any>;
7
7
  };
8
8
  declare class GoogleProvider extends AbstractAuthModuleProvider {
9
9
  static PROVIDER: string;
10
10
  static DISPLAY_NAME: string;
11
- protected readonly authUserSerivce_: AuthUserService;
12
- protected readonly authProviderService_: AuthProviderService;
11
+ protected readonly authUserService_: AuthUserService;
12
+ protected readonly authProviderService_: ModulesSdkTypes.InternalModuleService<any>;
13
13
  constructor({ authUserService, authProviderService }: InjectedDependencies);
14
14
  authenticate(req: AuthenticationInput): Promise<AuthenticationResponse>;
15
15
  validateCallback(req: AuthenticationInput): Promise<AuthenticationResponse>;
16
- verify_(refreshToken: string, scope: string): Promise<{
16
+ verify_(refreshToken: string): Promise<{
17
17
  success: boolean;
18
18
  error: any;
19
19
  authUser?: undefined;
@@ -9,8 +9,11 @@ const simple_oauth2_1 = require("simple-oauth2");
9
9
  const url_1 = __importDefault(require("url"));
10
10
  class GoogleProvider extends utils_1.AbstractAuthModuleProvider {
11
11
  constructor({ authUserService, authProviderService }) {
12
- super(arguments[0]);
13
- this.authUserSerivce_ = authUserService;
12
+ super(arguments[0], {
13
+ provider: GoogleProvider.PROVIDER,
14
+ displayName: GoogleProvider.DISPLAY_NAME,
15
+ });
16
+ this.authUserService_ = authUserService;
14
17
  this.authProviderService_ = authProviderService;
15
18
  }
16
19
  async authenticate(req) {
@@ -44,28 +47,29 @@ class GoogleProvider extends utils_1.AbstractAuthModuleProvider {
44
47
  return { success: false, error: error.message };
45
48
  }
46
49
  const code = req.query?.code ?? req.body?.code;
47
- return await this.validateCallbackToken(code, req.scope, config);
50
+ return await this.validateCallbackToken(code, config);
48
51
  }
49
52
  // abstractable
50
- async verify_(refreshToken, scope) {
51
- const jwtData = (await jsonwebtoken_1.default.decode(refreshToken, {
53
+ async verify_(refreshToken) {
54
+ const jwtData = jsonwebtoken_1.default.decode(refreshToken, {
52
55
  complete: true,
53
- }));
56
+ });
54
57
  const entity_id = jwtData.payload.email;
55
58
  let authUser;
56
59
  try {
57
- authUser = await this.authUserSerivce_.retrieveByProviderAndEntityId(entity_id, GoogleProvider.PROVIDER);
60
+ authUser = await this.authUserService_.retrieveByProviderAndEntityId(entity_id, GoogleProvider.PROVIDER);
58
61
  }
59
62
  catch (error) {
60
63
  if (error.type === utils_1.MedusaError.Types.NOT_FOUND) {
61
- authUser = await this.authUserSerivce_.create([
64
+ const [createdAuthUser] = await this.authUserService_.create([
62
65
  {
63
66
  entity_id,
64
- provider_id: GoogleProvider.PROVIDER,
67
+ provider: GoogleProvider.PROVIDER,
65
68
  user_metadata: jwtData.payload,
66
- app_metadata: { scope },
69
+ scope: this.scope_,
67
70
  },
68
71
  ]);
72
+ authUser = createdAuthUser;
69
73
  }
70
74
  else {
71
75
  return { success: false, error: error.message };
@@ -74,7 +78,7 @@ class GoogleProvider extends utils_1.AbstractAuthModuleProvider {
74
78
  return { success: true, authUser };
75
79
  }
76
80
  // abstractable
77
- async validateCallbackToken(code, scope, { clientID, callbackURL, clientSecret }) {
81
+ async validateCallbackToken(code, { clientID, callbackURL, clientSecret }) {
78
82
  const client = this.getAuthorizationCodeHandler({ clientID, clientSecret });
79
83
  const tokenParams = {
80
84
  code,
@@ -82,46 +86,35 @@ class GoogleProvider extends utils_1.AbstractAuthModuleProvider {
82
86
  };
83
87
  try {
84
88
  const accessToken = await client.getToken(tokenParams);
85
- return await this.verify_(accessToken.token.id_token, scope);
89
+ return await this.verify_(accessToken.token.id_token);
86
90
  }
87
91
  catch (error) {
88
92
  return { success: false, error: error.message };
89
93
  }
90
94
  }
91
- getConfigFromScope(config) {
92
- const providerConfig = {};
93
- if (config.clientId) {
94
- providerConfig.clientID = config.clientId;
95
- }
96
- else {
95
+ getConfigFromScope() {
96
+ const config = { ...this.scopeConfig_ };
97
+ if (!config.clientID) {
97
98
  throw new Error("Google clientID is required");
98
99
  }
99
- if (config.clientSecret) {
100
- providerConfig.clientSecret = config.clientSecret;
101
- }
102
- else {
100
+ if (!config.clientSecret) {
103
101
  throw new Error("Google clientSecret is required");
104
102
  }
105
- if (config.callbackURL) {
106
- providerConfig.callbackURL = config.callbackUrl;
107
- }
108
- else {
103
+ if (!config.callbackURL) {
109
104
  throw new Error("Google callbackUrl is required");
110
105
  }
111
- return providerConfig;
106
+ return config;
112
107
  }
113
108
  originalURL(req) {
114
- const tls = req.connection.encrypted;
115
109
  const host = req.headers.host;
116
- const protocol = tls ? "https" : "http";
110
+ const protocol = req.protocol;
117
111
  const path = req.url || "";
118
112
  return protocol + "://" + host + path;
119
113
  }
120
114
  async getProviderConfig(req) {
121
115
  await this.authProviderService_.retrieve(GoogleProvider.PROVIDER);
122
- const scopeConfig = this.scopes_[req.scope];
123
- const config = this.getConfigFromScope(scopeConfig);
124
- const { callbackURL } = config;
116
+ const config = this.getConfigFromScope();
117
+ const callbackURL = config.callbackURL;
125
118
  const parsedCallbackUrl = !url_1.default.parse(callbackURL).protocol
126
119
  ? url_1.default.resolve(this.originalURL(req), callbackURL)
127
120
  : callbackURL;
@@ -1,46 +1,27 @@
1
- import { AuthenticationInput, AuthenticationResponse, AuthProviderDTO, AuthTypes, AuthUserDTO, Context, CreateAuthProviderDTO, CreateAuthUserDTO, DAL, FilterableAuthProviderProps, FilterableAuthUserProps, FindConfig, InternalModuleDeclaration, MedusaContainer, ModuleJoinerConfig, UpdateAuthUserDTO } from "@medusajs/types";
2
- import { AbstractAuthModuleProvider } from "@medusajs/utils";
3
- import { AuthProvider, AuthUser } from "../models";
4
- import { AuthProviderService, AuthUserService } from ".";
1
+ import { AuthenticationInput, AuthenticationResponse, AuthTypes, AuthUserDTO, Context, CreateAuthUserDTO, DAL, InternalModuleDeclaration, ModuleJoinerConfig, ModulesSdkTypes, UpdateAuthUserDTO } from "@medusajs/types";
2
+ import { AuthUser } from "../models";
3
+ import { AbstractAuthModuleProvider, ModulesSdkUtils } from "@medusajs/utils";
5
4
  type InjectedDependencies = {
6
5
  baseRepository: DAL.RepositoryService;
7
- authUserService: AuthUserService<any>;
8
- authProviderService: AuthProviderService<any>;
6
+ authUserService: ModulesSdkTypes.InternalModuleService<any>;
9
7
  };
10
- export default class AuthModuleService<TAuthUser extends AuthUser = AuthUser, TAuthProvider extends AuthProvider = AuthProvider> implements AuthTypes.IAuthModuleService {
11
- protected readonly moduleDeclaration: InternalModuleDeclaration;
12
- __joinerConfig(): ModuleJoinerConfig;
13
- __hooks: {
14
- onApplicationStart: () => Promise<void>;
8
+ declare const AuthModuleService_base: new (container: InjectedDependencies) => ModulesSdkUtils.AbstractModuleService<InjectedDependencies, AuthTypes.AuthUserDTO, {
9
+ AuthUser: {
10
+ dto: AuthUserDTO;
15
11
  };
16
- protected __container__: MedusaContainer;
12
+ }>;
13
+ export default class AuthModuleService<TAuthUser extends AuthUser = AuthUser> extends AuthModuleService_base implements AuthTypes.IAuthModuleService {
14
+ protected readonly moduleDeclaration: InternalModuleDeclaration;
17
15
  protected baseRepository_: DAL.RepositoryService;
18
- protected authUserService_: AuthUserService<TAuthUser>;
19
- protected authProviderService_: AuthProviderService<TAuthProvider>;
20
- constructor({ authUserService, authProviderService, baseRepository, }: InjectedDependencies, moduleDeclaration: InternalModuleDeclaration);
21
- retrieveAuthProvider(provider: string, config?: FindConfig<AuthProviderDTO>, sharedContext?: Context): Promise<AuthProviderDTO>;
22
- listAuthProviders(filters?: FilterableAuthProviderProps, config?: FindConfig<AuthProviderDTO>, sharedContext?: Context): Promise<AuthProviderDTO[]>;
23
- listAndCountAuthProviders(filters: AuthTypes.FilterableAuthProviderProps | undefined, config: FindConfig<AuthProviderDTO>, sharedContext?: Context): Promise<[AuthTypes.AuthProviderDTO[], number]>;
24
- createAuthProvider(data: CreateAuthProviderDTO[], sharedContext?: Context): Promise<AuthProviderDTO[]>;
25
- createAuthProvider(data: CreateAuthProviderDTO, sharedContext?: Context): Promise<AuthProviderDTO>;
26
- protected createAuthProviders_(data: any[], sharedContext: Context): Promise<TAuthProvider[]>;
27
- updateAuthProvider(data: AuthTypes.UpdateAuthProviderDTO[], sharedContext?: Context): Promise<AuthProviderDTO[]>;
28
- updateAuthProvider(data: AuthTypes.UpdateAuthProviderDTO, sharedContext?: Context): Promise<AuthProviderDTO>;
29
- updateAuthProvider_(data: AuthTypes.UpdateAuthProviderDTO[], sharedContext?: Context): Promise<TAuthProvider[]>;
30
- deleteAuthProvider(ids: string[], sharedContext?: Context): Promise<void>;
31
- retrieveAuthUser(id: string, config?: FindConfig<AuthUserDTO>, sharedContext?: Context): Promise<AuthUserDTO>;
32
- listAuthUsers(filters?: FilterableAuthUserProps, config?: FindConfig<AuthUserDTO>, sharedContext?: Context): Promise<AuthUserDTO[]>;
33
- listAndCountAuthUsers(filters?: FilterableAuthUserProps, config?: FindConfig<AuthUserDTO>, sharedContext?: Context): Promise<[AuthUserDTO[], number]>;
34
- createAuthUser(data: CreateAuthUserDTO[], sharedContext?: Context): Promise<AuthUserDTO[]>;
35
- createAuthUser(data: CreateAuthUserDTO, sharedContext?: Context): Promise<AuthUserDTO>;
36
- protected createAuthUsers_(data: CreateAuthUserDTO[], sharedContext: Context): Promise<TAuthUser[]>;
37
- updateAuthUser(data: UpdateAuthUserDTO[], sharedContext?: Context): Promise<AuthUserDTO[]>;
38
- updateAuthUser(data: UpdateAuthUserDTO, sharedContext?: Context): Promise<AuthUserDTO>;
39
- protected updateAuthUsers_(data: UpdateAuthUserDTO[], sharedContext: Context): Promise<TAuthUser[]>;
40
- deleteAuthUser(ids: string[], sharedContext?: Context): Promise<void>;
41
- protected getRegisteredAuthenticationProvider(provider: string, { scope }: AuthenticationInput): AbstractAuthModuleProvider;
16
+ protected authUserService_: ModulesSdkTypes.InternalModuleService<TAuthUser>;
17
+ constructor({ authUserService, baseRepository }: InjectedDependencies, moduleDeclaration: InternalModuleDeclaration);
18
+ __joinerConfig(): ModuleJoinerConfig;
19
+ create(data: CreateAuthUserDTO[], sharedContext?: Context): Promise<AuthUserDTO[]>;
20
+ create(data: CreateAuthUserDTO, sharedContext?: Context): Promise<AuthUserDTO>;
21
+ update(data: UpdateAuthUserDTO[], sharedContext?: Context): Promise<AuthUserDTO[]>;
22
+ update(data: UpdateAuthUserDTO, sharedContext?: Context): Promise<AuthUserDTO>;
23
+ protected getRegisteredAuthenticationProvider(provider: string, { authScope }: AuthenticationInput): AbstractAuthModuleProvider;
42
24
  authenticate(provider: string, authenticationData: AuthenticationInput): Promise<AuthenticationResponse>;
43
25
  validateCallback(provider: string, authenticationData: AuthenticationInput): Promise<AuthenticationResponse>;
44
- private createProvidersOnLoad;
45
26
  }
46
27
  export {};
@@ -12,122 +12,47 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
12
  return function (target, key) { decorator(target, key, paramIndex); }
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
- const utils_1 = require("@medusajs/utils");
15
+ const _models_1 = require("../models");
16
16
  const joiner_config_1 = require("../joiner-config");
17
- class AuthModuleService {
18
- __joinerConfig() {
19
- return joiner_config_1.joinerConfig;
20
- }
21
- constructor({ authUserService, authProviderService, baseRepository, }, moduleDeclaration) {
17
+ const utils_1 = require("@medusajs/utils");
18
+ const generateMethodForModels = [_models_1.AuthUser];
19
+ class AuthModuleService extends utils_1.ModulesSdkUtils.abstractModuleServiceFactory(_models_1.AuthUser, generateMethodForModels, joiner_config_1.entityNameToLinkableKeysMap) {
20
+ constructor({ authUserService, baseRepository }, moduleDeclaration) {
21
+ // @ts-ignore
22
+ super(...arguments);
22
23
  this.moduleDeclaration = moduleDeclaration;
23
- this.__hooks = {
24
- onApplicationStart: async () => await this.createProvidersOnLoad(),
25
- };
26
- this.__container__ = arguments[0];
27
24
  this.baseRepository_ = baseRepository;
28
25
  this.authUserService_ = authUserService;
29
- this.authProviderService_ = authProviderService;
30
- }
31
- async retrieveAuthProvider(provider, config = {}, sharedContext = {}) {
32
- const authProvider = await this.authProviderService_.retrieve(provider, config, sharedContext);
33
- return await this.baseRepository_.serialize(authProvider, { populate: true });
34
- }
35
- async listAuthProviders(filters = {}, config = {}, sharedContext = {}) {
36
- const authProviders = await this.authProviderService_.list(filters, config, sharedContext);
37
- return await this.baseRepository_.serialize(authProviders, { populate: true });
38
- }
39
- async listAndCountAuthProviders(filters = {}, config, sharedContext = {}) {
40
- const [authProviders, count] = await this.authProviderService_.listAndCount(filters, config, sharedContext);
41
- return [
42
- await this.baseRepository_.serialize(authProviders, { populate: true }),
43
- count,
44
- ];
45
- }
46
- async createAuthProvider(data, sharedContext = {}) {
47
- const input = Array.isArray(data) ? data : [data];
48
- const providers = await this.createAuthProviders_(input, sharedContext);
49
- const serializedProviders = await this.baseRepository_.serialize(providers, {
50
- populate: true,
51
- });
52
- return Array.isArray(data) ? serializedProviders : serializedProviders[0];
53
- }
54
- async createAuthProviders_(data, sharedContext) {
55
- return await this.authProviderService_.create(data, sharedContext);
56
26
  }
57
- async updateAuthProvider(data, sharedContext = {}) {
58
- const input = Array.isArray(data) ? data : [data];
59
- const providers = await this.updateAuthProvider_(input, sharedContext);
60
- const serializedProviders = await this.baseRepository_.serialize(providers, {
61
- populate: true,
62
- });
63
- return Array.isArray(data) ? serializedProviders : serializedProviders[0];
64
- }
65
- async updateAuthProvider_(data, sharedContext = {}) {
66
- return await this.authProviderService_.update(data, sharedContext);
67
- }
68
- async deleteAuthProvider(ids, sharedContext = {}) {
69
- await this.authProviderService_.delete(ids, sharedContext);
70
- }
71
- async retrieveAuthUser(id, config = {}, sharedContext = {}) {
72
- const authUser = await this.authUserService_.retrieve(id, config, sharedContext);
73
- return await this.baseRepository_.serialize(authUser, {
74
- exclude: ["password_hash"],
75
- });
27
+ __joinerConfig() {
28
+ return joiner_config_1.joinerConfig;
76
29
  }
77
- async listAuthUsers(filters = {}, config = {}, sharedContext = {}) {
78
- const authUsers = await this.authUserService_.list(filters, config, sharedContext);
30
+ async create(data, sharedContext = {}) {
31
+ const authUsers = await this.authUserService_.create(data, sharedContext);
79
32
  return await this.baseRepository_.serialize(authUsers, {
80
33
  populate: true,
81
34
  });
82
35
  }
83
- async listAndCountAuthUsers(filters = {}, config = {}, sharedContext = {}) {
84
- const [authUsers, count] = await this.authUserService_.listAndCount(filters, config, sharedContext);
85
- return [
86
- await this.baseRepository_.serialize(authUsers, {
87
- populate: true,
88
- }),
89
- count,
90
- ];
91
- }
92
- async createAuthUser(data, sharedContext = {}) {
93
- const input = Array.isArray(data) ? data : [data];
94
- const authUsers = await this.createAuthUsers_(input, sharedContext);
95
- const serializedUsers = await this.baseRepository_.serialize(authUsers, {
96
- populate: true,
97
- });
98
- return Array.isArray(data) ? serializedUsers : serializedUsers[0];
99
- }
100
- async createAuthUsers_(data, sharedContext) {
101
- return await this.authUserService_.create(data, sharedContext);
102
- }
103
- async updateAuthUser(data, sharedContext = {}) {
104
- const input = Array.isArray(data) ? data : [data];
105
- const updatedUsers = await this.updateAuthUsers_(input, sharedContext);
36
+ // TODO: should be pluralized, see convention about the methods naming or the abstract module service interface definition @engineering
37
+ async update(data, sharedContext = {}) {
38
+ const updatedUsers = await this.authUserService_.update(data, sharedContext);
106
39
  const serializedUsers = await this.baseRepository_.serialize(updatedUsers, {
107
40
  populate: true,
108
41
  });
109
42
  return Array.isArray(data) ? serializedUsers : serializedUsers[0];
110
43
  }
111
- async updateAuthUsers_(data, sharedContext) {
112
- return await this.authUserService_.update(data, sharedContext);
113
- }
114
- async deleteAuthUser(ids, sharedContext = {}) {
115
- await this.authUserService_.delete(ids, sharedContext);
116
- }
117
- getRegisteredAuthenticationProvider(provider, { scope }) {
44
+ getRegisteredAuthenticationProvider(provider, { authScope }) {
118
45
  let containerProvider;
119
46
  try {
120
47
  containerProvider = this.__container__[`auth_provider_${provider}`];
121
48
  }
122
49
  catch (error) {
123
- throw new utils_1.MedusaError(utils_1.MedusaError.Types.NOT_FOUND, `AuthenticationProvider with for provider: ${provider} wasn't registered in the module. Have you configured your options correctly?`);
50
+ throw new utils_1.MedusaError(utils_1.MedusaError.Types.NOT_FOUND, `AuthenticationProvider: ${provider} wasn't registered in the module. Have you configured your options correctly?`);
124
51
  }
125
- containerProvider.validateScope(scope);
126
- return containerProvider;
52
+ return containerProvider.withScope(authScope);
127
53
  }
128
54
  async authenticate(provider, authenticationData) {
129
55
  try {
130
- await this.retrieveAuthProvider(provider, {});
131
56
  const registeredProvider = this.getRegisteredAuthenticationProvider(provider, authenticationData);
132
57
  return await registeredProvider.authenticate(authenticationData);
133
58
  }
@@ -137,7 +62,6 @@ class AuthModuleService {
137
62
  }
138
63
  async validateCallback(provider, authenticationData) {
139
64
  try {
140
- await this.retrieveAuthProvider(provider, {});
141
65
  const registeredProvider = this.getRegisteredAuthenticationProvider(provider, authenticationData);
142
66
  return await registeredProvider.validateCallback(authenticationData);
143
67
  }
@@ -145,132 +69,19 @@ class AuthModuleService {
145
69
  return { success: false, error: error.message };
146
70
  }
147
71
  }
148
- async createProvidersOnLoad() {
149
- const providersToLoad = this.__container__["auth_providers"];
150
- const providers = await this.authProviderService_.list({
151
- provider: providersToLoad.map((p) => p.provider),
152
- });
153
- const loadedProvidersMap = new Map(providers.map((p) => [p.provider, p]));
154
- const providersToCreate = [];
155
- for (const provider of providersToLoad) {
156
- if (loadedProvidersMap.has(provider.provider)) {
157
- continue;
158
- }
159
- providersToCreate.push({
160
- provider: provider.provider,
161
- name: provider.displayName,
162
- });
163
- }
164
- await this.authProviderService_.create(providersToCreate);
165
- }
166
72
  }
167
73
  exports.default = AuthModuleService;
168
- __decorate([
169
- __param(2, (0, utils_1.MedusaContext)()),
170
- __metadata("design:type", Function),
171
- __metadata("design:paramtypes", [String, Object, Object]),
172
- __metadata("design:returntype", Promise)
173
- ], AuthModuleService.prototype, "retrieveAuthProvider", null);
174
- __decorate([
175
- __param(2, (0, utils_1.MedusaContext)()),
176
- __metadata("design:type", Function),
177
- __metadata("design:paramtypes", [Object, Object, Object]),
178
- __metadata("design:returntype", Promise)
179
- ], AuthModuleService.prototype, "listAuthProviders", null);
180
- __decorate([
181
- (0, utils_1.InjectManager)("baseRepository_"),
182
- __param(2, (0, utils_1.MedusaContext)()),
183
- __metadata("design:type", Function),
184
- __metadata("design:paramtypes", [Object, Object, Object]),
185
- __metadata("design:returntype", Promise)
186
- ], AuthModuleService.prototype, "listAndCountAuthProviders", null);
187
74
  __decorate([
188
75
  (0, utils_1.InjectManager)("baseRepository_"),
189
76
  __param(1, (0, utils_1.MedusaContext)()),
190
77
  __metadata("design:type", Function),
191
78
  __metadata("design:paramtypes", [Object, Object]),
192
79
  __metadata("design:returntype", Promise)
193
- ], AuthModuleService.prototype, "createAuthProvider", null);
194
- __decorate([
195
- (0, utils_1.InjectTransactionManager)("baseRepository_"),
196
- __param(1, (0, utils_1.MedusaContext)()),
197
- __metadata("design:type", Function),
198
- __metadata("design:paramtypes", [Array, Object]),
199
- __metadata("design:returntype", Promise)
200
- ], AuthModuleService.prototype, "createAuthProviders_", null);
80
+ ], AuthModuleService.prototype, "create", null);
201
81
  __decorate([
202
82
  (0, utils_1.InjectManager)("baseRepository_"),
203
83
  __param(1, (0, utils_1.MedusaContext)()),
204
84
  __metadata("design:type", Function),
205
85
  __metadata("design:paramtypes", [Object, Object]),
206
86
  __metadata("design:returntype", Promise)
207
- ], AuthModuleService.prototype, "updateAuthProvider", null);
208
- __decorate([
209
- __param(1, (0, utils_1.MedusaContext)()),
210
- __metadata("design:type", Function),
211
- __metadata("design:paramtypes", [Array, Object]),
212
- __metadata("design:returntype", Promise)
213
- ], AuthModuleService.prototype, "updateAuthProvider_", null);
214
- __decorate([
215
- (0, utils_1.InjectTransactionManager)("baseRepository_"),
216
- __param(1, (0, utils_1.MedusaContext)()),
217
- __metadata("design:type", Function),
218
- __metadata("design:paramtypes", [Array, Object]),
219
- __metadata("design:returntype", Promise)
220
- ], AuthModuleService.prototype, "deleteAuthProvider", null);
221
- __decorate([
222
- (0, utils_1.InjectManager)("baseRepository_"),
223
- __param(2, (0, utils_1.MedusaContext)()),
224
- __metadata("design:type", Function),
225
- __metadata("design:paramtypes", [String, Object, Object]),
226
- __metadata("design:returntype", Promise)
227
- ], AuthModuleService.prototype, "retrieveAuthUser", null);
228
- __decorate([
229
- (0, utils_1.InjectManager)("baseRepository_"),
230
- __param(2, (0, utils_1.MedusaContext)()),
231
- __metadata("design:type", Function),
232
- __metadata("design:paramtypes", [Object, Object, Object]),
233
- __metadata("design:returntype", Promise)
234
- ], AuthModuleService.prototype, "listAuthUsers", null);
235
- __decorate([
236
- (0, utils_1.InjectManager)("baseRepository_"),
237
- __param(2, (0, utils_1.MedusaContext)()),
238
- __metadata("design:type", Function),
239
- __metadata("design:paramtypes", [Object, Object, Object]),
240
- __metadata("design:returntype", Promise)
241
- ], AuthModuleService.prototype, "listAndCountAuthUsers", null);
242
- __decorate([
243
- (0, utils_1.InjectManager)("baseRepository_"),
244
- __param(1, (0, utils_1.MedusaContext)()),
245
- __metadata("design:type", Function),
246
- __metadata("design:paramtypes", [Object, Object]),
247
- __metadata("design:returntype", Promise)
248
- ], AuthModuleService.prototype, "createAuthUser", null);
249
- __decorate([
250
- (0, utils_1.InjectTransactionManager)("baseRepository_"),
251
- __param(1, (0, utils_1.MedusaContext)()),
252
- __metadata("design:type", Function),
253
- __metadata("design:paramtypes", [Array, Object]),
254
- __metadata("design:returntype", Promise)
255
- ], AuthModuleService.prototype, "createAuthUsers_", null);
256
- __decorate([
257
- (0, utils_1.InjectManager)("baseRepository_"),
258
- __param(1, (0, utils_1.MedusaContext)()),
259
- __metadata("design:type", Function),
260
- __metadata("design:paramtypes", [Object, Object]),
261
- __metadata("design:returntype", Promise)
262
- ], AuthModuleService.prototype, "updateAuthUser", null);
263
- __decorate([
264
- (0, utils_1.InjectTransactionManager)("baseRepository_"),
265
- __param(1, (0, utils_1.MedusaContext)()),
266
- __metadata("design:type", Function),
267
- __metadata("design:paramtypes", [Array, Object]),
268
- __metadata("design:returntype", Promise)
269
- ], AuthModuleService.prototype, "updateAuthUsers_", null);
270
- __decorate([
271
- (0, utils_1.InjectTransactionManager)("baseRepository_"),
272
- __param(1, (0, utils_1.MedusaContext)()),
273
- __metadata("design:type", Function),
274
- __metadata("design:paramtypes", [Array, Object]),
275
- __metadata("design:returntype", Promise)
276
- ], AuthModuleService.prototype, "deleteAuthUser", null);
87
+ ], AuthModuleService.prototype, "update", null);
@@ -1,18 +1,11 @@
1
- import { AuthTypes, Context, DAL, FindConfig } from "@medusajs/types";
2
- import { ModulesSdkUtils } from "@medusajs/utils";
1
+ import { AuthTypes, Context, DAL, FindConfig, RepositoryService } from "@medusajs/types";
3
2
  import { AuthUser } from "../models";
4
- import { ServiceTypes, RepositoryTypes } from "../types";
5
3
  type InjectedDependencies = {
6
4
  authUserRepository: DAL.RepositoryService;
7
5
  };
8
- declare const AuthUserService_base: new <TEntity_1 extends object = any>(container: InjectedDependencies) => ModulesSdkUtils.AbstractService<TEntity_1, InjectedDependencies, {
9
- create: ServiceTypes.CreateAuthUserDTO;
10
- }, {
11
- list?: any;
12
- listAndCount?: any;
13
- }>;
6
+ declare const AuthUserService_base: new <TEntity_1 extends object = any>(container: InjectedDependencies) => import("@medusajs/types").InternalModuleService<TEntity_1, InjectedDependencies>;
14
7
  export default class AuthUserService<TEntity extends AuthUser = AuthUser> extends AuthUserService_base<TEntity> {
15
- protected readonly authUserRepository_: RepositoryTypes.IAuthUserRepository<TEntity>;
8
+ protected readonly authUserRepository_: RepositoryService<TEntity>;
16
9
  constructor(container: InjectedDependencies);
17
10
  retrieveByProviderAndEntityId<TEntityMethod = AuthTypes.AuthUserDTO>(entityId: string, provider: string, config?: FindConfig<TEntityMethod>, sharedContext?: Context): Promise<TEntity>;
18
11
  }
@@ -14,7 +14,7 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  const utils_1 = require("@medusajs/utils");
16
16
  const _models_1 = require("../models");
17
- class AuthUserService extends utils_1.ModulesSdkUtils.abstractServiceFactory(_models_1.AuthUser) {
17
+ class AuthUserService extends utils_1.ModulesSdkUtils.internalModuleServiceFactory(_models_1.AuthUser) {
18
18
  constructor(container) {
19
19
  // @ts-ignore
20
20
  super(...arguments);
@@ -1,3 +1,2 @@
1
1
  export { default as AuthModuleService } from "./auth-module";
2
- export { default as AuthProviderService } from "./auth-provider";
3
2
  export { default as AuthUserService } from "./auth-user";
@@ -3,10 +3,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.AuthUserService = exports.AuthProviderService = exports.AuthModuleService = void 0;
6
+ exports.AuthUserService = exports.AuthModuleService = void 0;
7
7
  var auth_module_1 = require("./auth-module");
8
8
  Object.defineProperty(exports, "AuthModuleService", { enumerable: true, get: function () { return __importDefault(auth_module_1).default; } });
9
- var auth_provider_1 = require("./auth-provider");
10
- Object.defineProperty(exports, "AuthProviderService", { enumerable: true, get: function () { return __importDefault(auth_provider_1).default; } });
11
9
  var auth_user_1 = require("./auth-user");
12
10
  Object.defineProperty(exports, "AuthUserService", { enumerable: true, get: function () { return __importDefault(auth_user_1).default; } });
@@ -1,16 +1 @@
1
- import { AuthProvider, AuthUser } from "../../models";
2
- import { CreateAuthProviderDTO, UpdateAuthProviderDTO } from "./auth-provider";
3
- import { DAL } from "@medusajs/types";
4
- import { CreateAuthUserDTO, UpdateAuthUserDTO } from "./auth-user";
5
1
  export * from "./auth-user";
6
- export * from "./auth-provider";
7
- export interface IAuthProviderRepository<TEntity extends AuthProvider = AuthProvider> extends DAL.RepositoryService<TEntity, {
8
- create: CreateAuthProviderDTO;
9
- update: UpdateAuthProviderDTO;
10
- }> {
11
- }
12
- export interface IAuthUserRepository<TEntity extends AuthUser = AuthUser> extends DAL.RepositoryService<TEntity, {
13
- create: CreateAuthUserDTO;
14
- update: UpdateAuthUserDTO;
15
- }> {
16
- }
@@ -15,4 +15,3 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./auth-user"), exports);
18
- __exportStar(require("./auth-provider"), exports);
@@ -1,16 +1,17 @@
1
- import { AuthProviderDTO } from "./auth-provider";
2
1
  export type AuthUserDTO = {
3
2
  id: string;
4
3
  provider_id: string;
5
4
  entity_id: string;
6
- provider: AuthProviderDTO;
5
+ scope: string;
6
+ provider: string;
7
7
  provider_metadata?: Record<string, unknown>;
8
8
  user_metadata: Record<string, unknown>;
9
9
  app_metadata: Record<string, unknown>;
10
10
  };
11
11
  export type CreateAuthUserDTO = {
12
12
  entity_id: string;
13
- provider_id: string;
13
+ provider: string;
14
+ scope: string;
14
15
  provider_metadata?: Record<string, unknown>;
15
16
  user_metadata?: Record<string, unknown>;
16
17
  app_metadata?: Record<string, unknown>;
@@ -1,2 +1 @@
1
1
  export * from "./auth-user";
2
- export * from "./auth-provider";
@@ -15,4 +15,3 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./auth-user"), exports);
18
- __exportStar(require("./auth-provider"), exports);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@medusajs/auth",
3
- "version": "0.0.2",
3
+ "version": "0.0.3-next-20240319121007",
4
4
  "description": "Medusa Auth module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -29,7 +29,7 @@
29
29
  "prepublishOnly": "cross-env NODE_ENV=production tsc --build && tsc-alias -p tsconfig.json",
30
30
  "build": "rimraf dist && tsc --build && tsc-alias -p tsconfig.json",
31
31
  "test": "jest --runInBand --bail --forceExit -- src/**/__tests__/**/*.ts",
32
- "test:integration": "jest --runInBand --forceExit -- integration-tests/**/__tests__/**/*.ts",
32
+ "test:integration": "jest --forceExit -- integration-tests/**/__tests__/**/*.ts",
33
33
  "migration:generate": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:generate",
34
34
  "migration:initial": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:create --initial",
35
35
  "migration:create": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:create",
@@ -40,7 +40,7 @@
40
40
  "@mikro-orm/cli": "5.9.7",
41
41
  "cross-env": "^5.2.1",
42
42
  "jest": "^29.6.3",
43
- "medusa-test-utils": "^1.1.40",
43
+ "medusa-test-utils": "1.1.42-next-20240319121007",
44
44
  "rimraf": "^3.0.2",
45
45
  "ts-jest": "^29.1.1",
46
46
  "ts-node": "^10.9.1",
@@ -48,14 +48,14 @@
48
48
  "typescript": "^5.1.6"
49
49
  },
50
50
  "dependencies": {
51
- "@medusajs/modules-sdk": "^1.12.7",
52
- "@medusajs/types": "^1.11.11",
53
- "@medusajs/utils": "^1.11.4",
51
+ "@medusajs/modules-sdk": "1.12.9-next-20240319121007",
52
+ "@medusajs/types": "1.11.14-next-20240319121007",
53
+ "@medusajs/utils": "1.11.7-next-20240319121007",
54
54
  "@mikro-orm/core": "5.9.7",
55
55
  "@mikro-orm/migrations": "5.9.7",
56
56
  "@mikro-orm/postgresql": "5.9.7",
57
57
  "awilix": "^8.0.0",
58
- "dotenv": "^16.1.4",
58
+ "dotenv": "^16.4.5",
59
59
  "jsonwebtoken": "^9.0.2",
60
60
  "knex": "2.4.2",
61
61
  "scrypt-kdf": "^2.0.1",
@@ -1,5 +0,0 @@
1
- import { Migration } from '@mikro-orm/migrations';
2
- export declare class Migration20240122041959 extends Migration {
3
- up(): Promise<void>;
4
- down(): Promise<void>;
5
- }
@@ -1,18 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Migration20240122041959 = void 0;
4
- const migrations_1 = require("@mikro-orm/migrations");
5
- class Migration20240122041959 extends migrations_1.Migration {
6
- async up() {
7
- this.addSql('create table if not exists "auth_provider" ("provider" text not null, "name" text not null, "domain" text check ("domain" in (\'all\', \'store\', \'admin\')) not null default \'all\', "config" jsonb null, "is_active" boolean not null default false, constraint "auth_provider_pkey" primary key ("provider"));');
8
- this.addSql('create table if not exists "auth_user" ("id" text not null, "entity_id" text not null, "provider_id" text null, "user_metadata" jsonb null, "app_metadata" jsonb null, "provider_metadata" jsonb null, constraint "auth_user_pkey" primary key ("id"));');
9
- this.addSql('alter table "auth_user" add constraint "IDX_auth_user_provider_entity_id" unique ("provider_id", "entity_id");');
10
- this.addSql('alter table "auth_user" add constraint if not exists "auth_user_provider_id_foreign" foreign key ("provider_id") references "auth_provider" ("provider") on delete cascade;');
11
- }
12
- async down() {
13
- this.addSql('alter table "auth_user" drop constraint if exists "auth_user_provider_id_foreign";');
14
- this.addSql('drop table if exists "auth_provider" cascade;');
15
- this.addSql('drop table if exists "auth_user" cascade;');
16
- }
17
- }
18
- exports.Migration20240122041959 = Migration20240122041959;
@@ -1,12 +0,0 @@
1
- import { OptionalProps } from "@mikro-orm/core";
2
- import { ProviderDomain } from "../types/repositories/auth-provider";
3
- type OptionalFields = "domain" | "is_active" | "config";
4
- export default class AuthProvider {
5
- [OptionalProps]: OptionalFields;
6
- provider: string;
7
- name: string;
8
- domain: ProviderDomain;
9
- config: Record<string, unknown> | null;
10
- is_active: boolean;
11
- }
12
- export {};
@@ -1,44 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- const core_1 = require("@mikro-orm/core");
13
- const auth_provider_1 = require("../types/repositories/auth-provider");
14
- let AuthProvider = class AuthProvider {
15
- constructor() {
16
- this.domain = auth_provider_1.ProviderDomain.ALL;
17
- this.config = null;
18
- this.is_active = false;
19
- }
20
- };
21
- __decorate([
22
- (0, core_1.PrimaryKey)({ columnType: "text" }),
23
- __metadata("design:type", String)
24
- ], AuthProvider.prototype, "provider", void 0);
25
- __decorate([
26
- (0, core_1.Property)({ columnType: "text" }),
27
- __metadata("design:type", String)
28
- ], AuthProvider.prototype, "name", void 0);
29
- __decorate([
30
- (0, core_1.Enum)({ items: () => auth_provider_1.ProviderDomain, default: auth_provider_1.ProviderDomain.ALL }),
31
- __metadata("design:type", String)
32
- ], AuthProvider.prototype, "domain", void 0);
33
- __decorate([
34
- (0, core_1.Property)({ columnType: "jsonb", nullable: true }),
35
- __metadata("design:type", Object)
36
- ], AuthProvider.prototype, "config", void 0);
37
- __decorate([
38
- (0, core_1.Property)({ columnType: "boolean", default: false }),
39
- __metadata("design:type", Object)
40
- ], AuthProvider.prototype, "is_active", void 0);
41
- AuthProvider = __decorate([
42
- (0, core_1.Entity)()
43
- ], AuthProvider);
44
- exports.default = AuthProvider;
@@ -1,18 +0,0 @@
1
- import { DAL } from "@medusajs/types";
2
- import { ModulesSdkUtils } from "@medusajs/utils";
3
- import { AuthProvider } from "../models";
4
- import { ServiceTypes } from "../types";
5
- type InjectedDependencies = {
6
- authProviderRepository: DAL.RepositoryService;
7
- };
8
- declare const AuthProviderService_base: new <TEntity_1 extends object = any>(container: InjectedDependencies) => ModulesSdkUtils.AbstractService<TEntity_1, InjectedDependencies, {
9
- create: ServiceTypes.CreateAuthProviderDTO;
10
- update: ServiceTypes.UpdateAuthProviderDTO;
11
- }, {
12
- list?: any;
13
- listAndCount?: any;
14
- }>;
15
- export default class AuthProviderService<TEntity extends AuthProvider = AuthProvider> extends AuthProviderService_base<TEntity> {
16
- constructor(container: InjectedDependencies);
17
- }
18
- export {};
@@ -1,11 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const utils_1 = require("@medusajs/utils");
4
- const _models_1 = require("../models");
5
- class AuthProviderService extends utils_1.ModulesSdkUtils.abstractServiceFactory(_models_1.AuthProvider) {
6
- constructor(container) {
7
- // @ts-ignore
8
- super(...arguments);
9
- }
10
- }
11
- exports.default = AuthProviderService;
@@ -1,23 +0,0 @@
1
- import { AuthProvider } from "../../models";
2
- export type CreateAuthProviderDTO = {
3
- provider: string;
4
- name: string;
5
- domain?: ProviderDomain;
6
- is_active?: boolean;
7
- config?: Record<string, unknown>;
8
- };
9
- export type UpdateAuthProviderDTO = {
10
- update: {
11
- provider: string;
12
- name?: string;
13
- domain?: ProviderDomain;
14
- is_active?: boolean;
15
- config?: Record<string, unknown>;
16
- };
17
- provider: AuthProvider;
18
- };
19
- export declare enum ProviderDomain {
20
- ALL = "all",
21
- STORE = "store",
22
- ADMIN = "admin"
23
- }
@@ -1,9 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ProviderDomain = void 0;
4
- var ProviderDomain;
5
- (function (ProviderDomain) {
6
- ProviderDomain["ALL"] = "all";
7
- ProviderDomain["STORE"] = "store";
8
- ProviderDomain["ADMIN"] = "admin";
9
- })(ProviderDomain || (exports.ProviderDomain = ProviderDomain = {}));
@@ -1,27 +0,0 @@
1
- export type AuthProviderDTO = {
2
- provider: string;
3
- name: string;
4
- domain: ProviderDomain;
5
- is_active: boolean;
6
- config: Record<string, unknown>;
7
- };
8
- export type CreateAuthProviderDTO = {
9
- provider: string;
10
- name: string;
11
- domain?: ProviderDomain;
12
- is_active?: boolean;
13
- config?: Record<string, unknown>;
14
- };
15
- export type UpdateAuthProviderDTO = {
16
- provider: string;
17
- name?: string;
18
- domain?: ProviderDomain;
19
- is_active?: boolean;
20
- config?: Record<string, unknown>;
21
- };
22
- export declare enum ProviderDomain {
23
- ALL = "all",
24
- STORE = "store",
25
- ADMIN = "admin"
26
- }
27
- export type FilterableAuthProviderProps = {};
@@ -1,9 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ProviderDomain = void 0;
4
- var ProviderDomain;
5
- (function (ProviderDomain) {
6
- ProviderDomain["ALL"] = "all";
7
- ProviderDomain["STORE"] = "store";
8
- ProviderDomain["ADMIN"] = "admin";
9
- })(ProviderDomain || (exports.ProviderDomain = ProviderDomain = {}));