feat(authentication, types): Create authentication entities and services (#5979)
* create authentication entities * ensure hashes are not returned * re-add integration test argument * update filterableprops * update type * pr feedback * update serialization * move finding existing entities and validation to service layer * update types * update models * update user model * pr feedback * fix build * pr feedback * update integration test fixtures --------- Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com>
This commit is contained in:
co-authored by
Oli Juhl
parent
6b0b3fed7a
commit
479a8b82a9
@@ -0,0 +1,36 @@
|
||||
import { BaseFilterable } from "../../dal"
|
||||
|
||||
export type AuthProviderDTO = {
|
||||
provider: string
|
||||
name: string
|
||||
domain: ProviderDomain
|
||||
is_active: boolean
|
||||
}
|
||||
|
||||
export type CreateAuthProviderDTO = {
|
||||
provider: string
|
||||
name: string
|
||||
domain?: ProviderDomain
|
||||
is_active?: boolean
|
||||
}
|
||||
|
||||
export type UpdateAuthProviderDTO = {
|
||||
provider: string
|
||||
name?: string
|
||||
domain?: ProviderDomain
|
||||
is_active?: boolean
|
||||
}
|
||||
|
||||
export enum ProviderDomain {
|
||||
ALL = "all",
|
||||
STORE = "store",
|
||||
ADMIN = "admin",
|
||||
}
|
||||
|
||||
export interface FilterableAuthProviderProps
|
||||
extends BaseFilterable<FilterableAuthProviderProps> {
|
||||
provider?: string[]
|
||||
is_active?: boolean
|
||||
domain?: ProviderDomain[]
|
||||
name?: string[]
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
import { BaseFilterable } from "../../dal"
|
||||
import { AuthProviderDTO } from "./auth-provider"
|
||||
|
||||
export type AuthUserDTO = {
|
||||
id: string
|
||||
provider_id: string
|
||||
provider: AuthProviderDTO
|
||||
provider_metadata?: Record<string, unknown>
|
||||
user_metadata: Record<string, unknown>
|
||||
app_metadata: Record<string, unknown>
|
||||
}
|
||||
|
||||
export type CreateAuthUserDTO = {
|
||||
provider_id: string
|
||||
provider_metadata?: Record<string, unknown>
|
||||
user_metadata?: Record<string, unknown>
|
||||
app_metadata?: Record<string, unknown>
|
||||
}
|
||||
|
||||
export type UpdateAuthUserDTO = {
|
||||
id: string
|
||||
provider_metadata?: Record<string, unknown>
|
||||
user_metadata?: Record<string, unknown>
|
||||
app_metadata?: Record<string, unknown>
|
||||
}
|
||||
|
||||
export interface FilterableAuthUserProps
|
||||
extends BaseFilterable<FilterableAuthUserProps> {
|
||||
id?: string[]
|
||||
provider?: string[] | string
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
export * from "./auth-user"
|
||||
export * from "./auth-provider"
|
||||
@@ -1 +1,2 @@
|
||||
export * from "./service"
|
||||
export * from "./common"
|
||||
|
||||
@@ -1,3 +1,95 @@
|
||||
import { IModuleService } from "../modules-sdk"
|
||||
import {
|
||||
AuthProviderDTO,
|
||||
AuthUserDTO,
|
||||
CreateAuthProviderDTO,
|
||||
CreateAuthUserDTO,
|
||||
FilterableAuthProviderProps,
|
||||
FilterableAuthUserProps,
|
||||
UpdateAuthProviderDTO,
|
||||
UpdateAuthUserDTO,
|
||||
} from "./common"
|
||||
import { FindConfig } from "../common"
|
||||
import { Context } from "../shared-context"
|
||||
|
||||
export interface IAuthenticationModuleService extends IModuleService {}
|
||||
export interface IAuthenticationModuleService extends IModuleService {
|
||||
retrieveAuthProvider(
|
||||
provider: string,
|
||||
config?: FindConfig<AuthProviderDTO>,
|
||||
sharedContext?: Context
|
||||
): Promise<AuthProviderDTO>
|
||||
|
||||
listAuthProviders(
|
||||
filters?: FilterableAuthProviderProps,
|
||||
config?: FindConfig<AuthProviderDTO>,
|
||||
sharedContext?: Context
|
||||
): Promise<AuthProviderDTO[]>
|
||||
|
||||
listAndCountAuthProviders(
|
||||
filters?: FilterableAuthProviderProps,
|
||||
config?: FindConfig<AuthProviderDTO>,
|
||||
sharedContext?: Context
|
||||
): Promise<[AuthProviderDTO[], number]>
|
||||
|
||||
createAuthProvider(
|
||||
data: CreateAuthProviderDTO[],
|
||||
sharedContext?: Context
|
||||
): Promise<AuthProviderDTO[]>
|
||||
|
||||
createAuthProvider(
|
||||
data: CreateAuthProviderDTO,
|
||||
sharedContext?: Context
|
||||
): Promise<AuthProviderDTO>
|
||||
|
||||
updateAuthProvider(
|
||||
data: UpdateAuthProviderDTO[],
|
||||
sharedContext?: Context
|
||||
): Promise<AuthProviderDTO[]>
|
||||
|
||||
updateAuthProvider(
|
||||
data: UpdateAuthProviderDTO,
|
||||
sharedContext?: Context
|
||||
): Promise<AuthProviderDTO>
|
||||
|
||||
deleteAuthProvider(ids: string[], sharedContext?: Context): Promise<void>
|
||||
|
||||
retrieveAuthUser(
|
||||
id: string,
|
||||
config?: FindConfig<AuthUserDTO>,
|
||||
sharedContext?: Context
|
||||
): Promise<AuthUserDTO>
|
||||
|
||||
listAuthUsers(
|
||||
filters?: FilterableAuthProviderProps,
|
||||
config?: FindConfig<AuthUserDTO>,
|
||||
sharedContext?: Context
|
||||
): Promise<AuthUserDTO[]>
|
||||
|
||||
listAndCountAuthUsers(
|
||||
filters?: FilterableAuthUserProps,
|
||||
config?: FindConfig<AuthUserDTO>,
|
||||
sharedContext?: Context
|
||||
): Promise<[AuthUserDTO[], number]>
|
||||
|
||||
createAuthUser(
|
||||
data: CreateAuthUserDTO[],
|
||||
sharedContext?: Context
|
||||
): Promise<AuthUserDTO[]>
|
||||
|
||||
createAuthUser(
|
||||
data: CreateAuthUserDTO,
|
||||
sharedContext?: Context
|
||||
): Promise<AuthUserDTO>
|
||||
|
||||
updateAuthUser(
|
||||
data: UpdateAuthUserDTO[],
|
||||
sharedContext?: Context
|
||||
): Promise<AuthUserDTO[]>
|
||||
|
||||
updateAuthUser(
|
||||
data: UpdateAuthUserDTO,
|
||||
sharedContext?: Context
|
||||
): Promise<AuthUserDTO>
|
||||
|
||||
deleteAuthUser(ids: string[], sharedContext?: Context): Promise<void>
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user