feature: add mutation input object transformer

This commit is contained in:
2025-04-28 02:44:16 +08:00
parent ee1b1ae5e6
commit 0300d7baf6
12 changed files with 145 additions and 65 deletions

View File

@@ -66,7 +66,7 @@ export function authContextFromInjector(injector: Injector): AuthContext {
return {
type: authProvider.authMethod,
isAuthenticated$: authService.isAuthenticated$,
userData$: authService.userData$,
userData$: authService.authData$,
checkAuthResultEvent$: authService.checkAuthResultEvent$,
authService,
authProvider,

View File

@@ -20,14 +20,14 @@ export function useAuth() {
[authContext.isAuthenticated$]
);
const userData = useMemo(
const authData = useMemo(
() => atomWithObservable(() => authContext.userData$ as Observable<any>),
[authContext]
);
return {
...authContext,
userData,
authData,
injector,
isAuthenticated,
};

View File

@@ -6,8 +6,8 @@ export class AuthService {
private authProvider = inject(AUTH_PROVIDER);
isAuthenticated$ = this.authProvider.isAuthenticated$;
userData$ = this.authProvider.userData$;
checkAuthResultEvent$ = this.authProvider.checkAuthResultEvent$;
authData$ = this.authProvider.authData$;
setup() {
this.authProvider.setup();

View File

@@ -7,7 +7,7 @@ export abstract class AuthProvider {
abstract authMethod: AuthMethodType;
abstract checkAuthResultEvent$: Observable<CheckAuthResultEventType>;
abstract isAuthenticated$: Observable<boolean>;
abstract userData$: Observable<any>;
abstract authData$: Observable<any>;
abstract getAccessToken(): Observable<string | undefined>;
abstract setup(): void;
abstract autoLoginPartialRoutesGuard(): Observable<boolean>;

View File

@@ -7,7 +7,7 @@ import { AUTH_METHOD } from '../defs';
export class BasicAuthProvider extends AuthProvider {
authMethod = AUTH_METHOD.BASIC;
isAuthenticated$ = of(true);
userData$ = of({});
authData$ = of({});
checkAuthResultEvent$: Observable<CheckAuthResultEventType> = NEVER;
getAccessToken(): Observable<string | undefined> {

View File

@@ -25,7 +25,7 @@ export class OidcAuthProvider extends AuthProvider {
);
}
get userData$() {
get authData$() {
return this.oidcSecurityService.userData$.pipe(map((s) => s.userData));
}

View File

@@ -56,20 +56,21 @@ const CREATE_SUBSCRIPTION_MUTATION = gql`
sourceUrl
enabled
category
subscriberId
}
}
`;
function SubscriptionCreateRouteComponent() {
const { userData } = useAuth();
console.log(JSON.stringify(userData, null, 2));
const { authData } = useAuth();
console.log(JSON.stringify(authData, null, 2));
const [isSubmitting, setIsSubmitting] = useState(false);
const navigate = useNavigate();
const form = useForm<SubscriptionFormValues>({
defaultValues: {
displayName: '',
sourceUrl: '',
category: 'Mikan',
category: 'mikan',
enabled: true,
},
});
@@ -129,7 +130,7 @@ function SubscriptionCreateRouteComponent() {
disabled
value={field.value}
onValueChange={field.onChange}
defaultValue="Mikan"
defaultValue="mikan"
>
<FormControl>
<SelectTrigger>
@@ -137,11 +138,11 @@ function SubscriptionCreateRouteComponent() {
</SelectTrigger>
</FormControl>
<SelectContent>
<SelectItem value="Mikan">Mikan</SelectItem>
<SelectItem value="mikan">mikan</SelectItem>
</SelectContent>
</Select>
<FormDescription>
Currently only Mikan source is supported
Currently only mikan source is supported
</FormDescription>
<FormMessage />
</FormItem>