fromCrud<U, C, P> static method
dynamic
fromCrud<U, C, P>({
- required FireCrud<
U> userCrud(- String uid
- required FireCrud<
C> userCapabilitiesCrud(- String uid
- required FireCrud<
P> userPrivateCrud(- String uid
- required U onCreateUser(
- ArcaneUserInfo user
- required C onCreateUserCapabilities(
- ArcaneUserInfo user
- required P onCreateUserPrivate(
- ArcaneUserInfo user
- dynamic onUserUpdate()?,
- dynamic onUserCapabilitiesUpdate()?,
- dynamic onUserPrivateUpdate()?,
Implementation
static fromCrud<U, C, P>(
{required FireCrud<U> Function(String uid) userCrud,
required FireCrud<C> Function(String uid) userCapabilitiesCrud,
required FireCrud<P> Function(String uid) userPrivateCrud,
required U Function(ArcaneUserInfo user) onCreateUser,
required C Function(ArcaneUserInfo user) onCreateUserCapabilities,
required P Function(ArcaneUserInfo user) onCreateUserPrivate,
Function(Map<String, dynamic> user)? onUserUpdate,
Function(Map<String, dynamic> userCapabilities)?
onUserCapabilitiesUpdate,
Function(Map<String, dynamic> userPrivate)? onUserPrivateUpdate}) =>
ArcaneUserProvider(
userRef: (uid) => userCrud(uid).collection.doc(uid),
userCapabilitiesRef: (uid) =>
userCapabilitiesCrud(uid).collection.doc(uid),
userPrivateRef: (uid) => userPrivateCrud(uid).collection.doc(uid),
onCreateUser: (info) => userCrud(info.uid).toMap(onCreateUser(info)),
onCreateUserCapabilities: (info) => userCapabilitiesCrud(info.uid)
.toMap(onCreateUserCapabilities(info)),
onCreateUserPrivate: (info) =>
userPrivateCrud(info.uid).toMap(onCreateUserPrivate(info)),
onUserUpdate: onUserUpdate,
onUserCapabilitiesUpdate: onUserCapabilitiesUpdate,
onUserPrivateUpdate: onUserPrivateUpdate,
);