@baseplate-dev/plugin-auth 4.0.0 → 4.0.1
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.
- package/dist/auth/core/common.d.ts +2 -5
- package/dist/auth/core/common.d.ts.map +1 -1
- package/dist/auth/core/common.js +14 -14
- package/dist/auth/core/common.js.map +1 -1
- package/dist/auth/core/node.d.ts +3 -3
- package/dist/auth/core/node.d.ts.map +1 -1
- package/dist/auth/core/node.js +5 -8
- package/dist/auth/core/node.js.map +1 -1
- package/dist/auth/core/web.d.ts +3 -3
- package/dist/auth/core/web.d.ts.map +1 -1
- package/dist/auth/core/web.js +4 -5
- package/dist/auth/core/web.js.map +1 -1
- package/dist/auth0/core/common.d.ts +3 -5
- package/dist/auth0/core/common.d.ts.map +1 -1
- package/dist/auth0/core/common.js +11 -14
- package/dist/auth0/core/common.js.map +1 -1
- package/dist/auth0/core/node.d.ts +3 -3
- package/dist/auth0/core/node.d.ts.map +1 -1
- package/dist/auth0/core/node.js +5 -8
- package/dist/auth0/core/node.js.map +1 -1
- package/dist/auth0/core/web.d.ts +3 -3
- package/dist/auth0/core/web.d.ts.map +1 -1
- package/dist/auth0/core/web.js +4 -5
- package/dist/auth0/core/web.js.map +1 -1
- package/dist/local-auth/admin/common.d.ts +3 -2
- package/dist/local-auth/admin/common.d.ts.map +1 -1
- package/dist/local-auth/admin/common.js +6 -7
- package/dist/local-auth/admin/common.js.map +1 -1
- package/dist/local-auth/admin/node.d.ts +3 -6
- package/dist/local-auth/admin/node.d.ts.map +1 -1
- package/dist/local-auth/admin/node.js +13 -12
- package/dist/local-auth/admin/node.js.map +1 -1
- package/dist/local-auth/admin/web.d.ts +3 -4
- package/dist/local-auth/admin/web.d.ts.map +1 -1
- package/dist/local-auth/admin/web.js +22 -21
- package/dist/local-auth/admin/web.js.map +1 -1
- package/dist/local-auth/core/common.d.ts +3 -5
- package/dist/local-auth/core/common.d.ts.map +1 -1
- package/dist/local-auth/core/common.js +10 -13
- package/dist/local-auth/core/common.js.map +1 -1
- package/dist/local-auth/core/node.d.ts +3 -3
- package/dist/local-auth/core/node.d.ts.map +1 -1
- package/dist/local-auth/core/node.js +5 -8
- package/dist/local-auth/core/node.js.map +1 -1
- package/dist/local-auth/core/web.d.ts +3 -3
- package/dist/local-auth/core/web.d.ts.map +1 -1
- package/dist/local-auth/core/web.js +4 -5
- package/dist/local-auth/core/web.js.map +1 -1
- package/dist/placeholder-auth/core/common.d.ts +2 -5
- package/dist/placeholder-auth/core/common.d.ts.map +1 -1
- package/dist/placeholder-auth/core/common.js +10 -13
- package/dist/placeholder-auth/core/common.js.map +1 -1
- package/dist/placeholder-auth/core/node.d.ts +3 -3
- package/dist/placeholder-auth/core/node.d.ts.map +1 -1
- package/dist/placeholder-auth/core/node.js +5 -8
- package/dist/placeholder-auth/core/node.js.map +1 -1
- package/dist/placeholder-auth/core/web.d.ts +3 -3
- package/dist/placeholder-auth/core/web.d.ts.map +1 -1
- package/dist/placeholder-auth/core/web.js +4 -5
- package/dist/placeholder-auth/core/web.js.map +1 -1
- package/dist/web/assets/__federation_expose_auth0CoreCommon-DLSGXjCI.js +40 -0
- package/dist/web/assets/__federation_expose_auth0CoreCommon-DLSGXjCI.js.map +1 -0
- package/dist/web/assets/{__federation_expose_auth0CoreWeb-CZueDXPK.js → __federation_expose_auth0CoreWeb-C7FfhlmF.js} +9 -10
- package/dist/web/assets/{__federation_expose_auth0CoreWeb-CZueDXPK.js.map → __federation_expose_auth0CoreWeb-C7FfhlmF.js.map} +1 -1
- package/dist/web/assets/__federation_expose_authCoreCommon-BF58isGa.js +29 -0
- package/dist/web/assets/__federation_expose_authCoreCommon-BF58isGa.js.map +1 -0
- package/dist/web/assets/{__federation_expose_authCoreWeb-C8rgnA2v.js → __federation_expose_authCoreWeb-DMq9M88g.js} +10 -11
- package/dist/web/assets/{__federation_expose_authCoreWeb-C8rgnA2v.js.map → __federation_expose_authCoreWeb-DMq9M88g.js.map} +1 -1
- package/dist/web/assets/{__federation_expose_local-authAdminCommon-C75-DAzO.js → __federation_expose_local-authAdminCommon-sQw4q5YX.js} +8 -9
- package/dist/web/assets/__federation_expose_local-authAdminCommon-sQw4q5YX.js.map +1 -0
- package/dist/web/assets/__federation_expose_local-authAdminWeb-9FbO89NR.js +41 -0
- package/dist/web/assets/__federation_expose_local-authAdminWeb-9FbO89NR.js.map +1 -0
- package/dist/web/assets/__federation_expose_local-authCoreCommon-CpUK09_4.js +21 -0
- package/dist/web/assets/__federation_expose_local-authCoreCommon-CpUK09_4.js.map +1 -0
- package/dist/web/assets/{__federation_expose_local-authCoreWeb-ChyvdsRq.js → __federation_expose_local-authCoreWeb-Czp0GaY1.js} +9 -10
- package/dist/web/assets/{__federation_expose_local-authCoreWeb-ChyvdsRq.js.map → __federation_expose_local-authCoreWeb-Czp0GaY1.js.map} +1 -1
- package/dist/web/assets/__federation_expose_placeholder-authCoreCommon-CFDDdOMo.js +23 -0
- package/dist/web/assets/__federation_expose_placeholder-authCoreCommon-CFDDdOMo.js.map +1 -0
- package/dist/web/assets/{__federation_expose_placeholder-authCoreWeb-CT8JKYLB.js → __federation_expose_placeholder-authCoreWeb-Bcn1_oDP.js} +9 -13
- package/dist/web/assets/{__federation_expose_placeholder-authCoreWeb-CT8JKYLB.js.map → __federation_expose_placeholder-authCoreWeb-Bcn1_oDP.js.map} +1 -1
- package/dist/web/assets/{__federation_fn_import-C_QCk5FX.js → __federation_fn_import-DsXcpNlB.js} +2 -2
- package/dist/web/assets/{__federation_fn_import-C_QCk5FX.js.map → __federation_fn_import-DsXcpNlB.js.map} +1 -1
- package/dist/web/assets/__federation_shared_@baseplate-dev/project-builder-lib/{web-DtztAtUw.js → web-zqe3PPcn.js} +37 -118
- package/dist/web/assets/__federation_shared_@baseplate-dev/project-builder-lib/web-zqe3PPcn.js.map +1 -0
- package/dist/web/assets/__federation_shared_@baseplate-dev/{project-builder-lib-CcNtL_U6.js → project-builder-lib-CmgMfkI5.js} +2152 -2215
- package/dist/web/assets/__federation_shared_@baseplate-dev/project-builder-lib-CmgMfkI5.js.map +1 -0
- package/dist/web/assets/__federation_shared_@baseplate-dev/{ui-components-DA_4I2Vy.js → ui-components-D1Dayhn9.js} +5 -5
- package/dist/web/assets/__federation_shared_@baseplate-dev/{ui-components-DA_4I2Vy.js.map → ui-components-D1Dayhn9.js.map} +1 -1
- package/dist/web/assets/__federation_shared_@baseplate-dev/{utils-Bxy-1ETU.js → utils-BO5VHrCf.js} +27 -6
- package/dist/web/assets/__federation_shared_@baseplate-dev/utils-BO5VHrCf.js.map +1 -0
- package/dist/web/assets/__federation_shared_@tanstack/{react-router-DooFj-IS.js → react-router-CNzDweD5.js} +2 -2
- package/dist/web/assets/__federation_shared_@tanstack/{react-router-DooFj-IS.js.map → react-router-CNzDweD5.js.map} +1 -1
- package/dist/web/assets/{get-auth-plugin-definition-D2XMaoy7.js → get-auth-plugin-definition-BV2O8wTa.js} +2 -2
- package/dist/web/assets/{get-auth-plugin-definition-D2XMaoy7.js.map → get-auth-plugin-definition-BV2O8wTa.js.map} +1 -1
- package/dist/web/assets/{index-DwJT6_Wn.js → index-BL7fotl7.js} +2 -2
- package/dist/web/assets/{index-DwJT6_Wn.js.map → index-BL7fotl7.js.map} +1 -1
- package/dist/web/assets/{index.esm-ChwWPPiL.js → index.esm-B4RpOlq_.js} +2 -2
- package/dist/web/assets/{index.esm-ChwWPPiL.js.map → index.esm-B4RpOlq_.js.map} +1 -1
- package/dist/web/assets/{isEqual-DAXqKRba.js → isEqual-BQtm2LNT.js} +5 -5
- package/dist/web/assets/{isEqual-DAXqKRba.js.map → isEqual-BQtm2LNT.js.map} +1 -1
- package/dist/web/assets/{model-merger-gGkFnyaY.js → model-merger-BwRNqcBu.js} +189 -81
- package/dist/web/assets/model-merger-BwRNqcBu.js.map +1 -0
- package/dist/web/assets/{plugin-definition-hAzbWO7b.js → plugin-definition-B9d2CoQL.js} +2 -2
- package/dist/web/assets/{plugin-definition-hAzbWO7b.js.map → plugin-definition-B9d2CoQL.js.map} +1 -1
- package/dist/web/assets/{plugin-definition-_slrOM0G.js → plugin-definition-BMTsmwyH.js} +2 -2
- package/dist/web/assets/{plugin-definition-_slrOM0G.js.map → plugin-definition-BMTsmwyH.js.map} +1 -1
- package/dist/web/assets/{plugin-definition-rpMj4pr8.js → plugin-definition-CHD5r-h7.js} +2 -2
- package/dist/web/assets/{plugin-definition-rpMj4pr8.js.map → plugin-definition-CHD5r-h7.js.map} +1 -1
- package/dist/web/assets/{plugin-definition-QRBMcFiG.js → plugin-definition-DA9rJBcS.js} +2 -2
- package/dist/web/assets/{plugin-definition-QRBMcFiG.js.map → plugin-definition-DA9rJBcS.js.map} +1 -1
- package/dist/web/assets/{react-DbX1FP85.js → react-B9vhIZMy.js} +2 -2
- package/dist/web/assets/{react-DbX1FP85.js.map → react-B9vhIZMy.js.map} +1 -1
- package/dist/web/assets/remoteEntry.js +10 -10
- package/dist/web/assets/{styles-DqLt1Blm.js → styles-CEm5K1iU.js} +3 -3
- package/dist/web/assets/{styles-DqLt1Blm.js.map → styles-CEm5K1iU.js.map} +1 -1
- package/package.json +13 -12
- package/dist/web/assets/__federation_expose_auth0CoreCommon-Ga9LD3d6.js +0 -43
- package/dist/web/assets/__federation_expose_auth0CoreCommon-Ga9LD3d6.js.map +0 -1
- package/dist/web/assets/__federation_expose_authCoreCommon-BrTLsuJC.js +0 -29
- package/dist/web/assets/__federation_expose_authCoreCommon-BrTLsuJC.js.map +0 -1
- package/dist/web/assets/__federation_expose_local-authAdminCommon-C75-DAzO.js.map +0 -1
- package/dist/web/assets/__federation_expose_local-authAdminWeb-D2xGvwyL.js +0 -40
- package/dist/web/assets/__federation_expose_local-authAdminWeb-D2xGvwyL.js.map +0 -1
- package/dist/web/assets/__federation_expose_local-authCoreCommon-BFUbyPYg.js +0 -27
- package/dist/web/assets/__federation_expose_local-authCoreCommon-BFUbyPYg.js.map +0 -1
- package/dist/web/assets/__federation_expose_placeholder-authCoreCommon-DrFV9FSW.js +0 -26
- package/dist/web/assets/__federation_expose_placeholder-authCoreCommon-DrFV9FSW.js.map +0 -1
- package/dist/web/assets/__federation_shared_@baseplate-dev/project-builder-lib/web-DtztAtUw.js.map +0 -1
- package/dist/web/assets/__federation_shared_@baseplate-dev/project-builder-lib-CcNtL_U6.js.map +0 -1
- package/dist/web/assets/__federation_shared_@baseplate-dev/utils-Bxy-1ETU.js.map +0 -1
- package/dist/web/assets/model-merger-gGkFnyaY.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"__federation_expose_authCoreWeb-C8rgnA2v.js","sources":["../../../../../node_modules/.pnpm/@hookform+lenses@0.8.1_react-hook-form@7.60.0_react@19.1.0__react@19.1.0/node_modules/@hookform/lenses/dist/rhf/index.js","../../../src/auth/core/components/role-editor-form/role-dialog.tsx","../../../src/auth/core/components/role-editor-form/role-editor-form.tsx","../../../src/auth/core/components/auth-definition-editor.tsx","../../../src/auth/core/web.ts"],"sourcesContent":["// src/rhf/useFieldArray.ts\nimport { useMemo } from \"react\";\nimport {\n useFieldArray as useFieldArrayOriginal\n} from \"react-hook-form\";\nfunction useFieldArray(props) {\n const original = useFieldArrayOriginal(props);\n const newFields = useMemo(() => {\n if (!props.getTransformer) {\n return original.fields;\n }\n return original.fields.map(props.getTransformer);\n }, [original.fields, props.getTransformer]);\n return {\n fields: newFields,\n move: original.move,\n remove: original.remove,\n swap: original.swap,\n prepend: (value, options) => {\n if (!props.setTransformer) {\n return original.prepend(value, options);\n }\n const newValue = Array.isArray(value) ? value.map(props.setTransformer) : props.setTransformer(value);\n original.prepend(newValue, options);\n },\n append: (value, options) => {\n if (!props.setTransformer) {\n return original.append(value, options);\n }\n const newValue = Array.isArray(value) ? value.map(props.setTransformer) : props.setTransformer(value);\n original.append(newValue, options);\n },\n insert: (index, value, options) => {\n if (!props.setTransformer) {\n return original.insert(index, value, options);\n }\n const newValue = Array.isArray(value) ? value.map(props.setTransformer) : props.setTransformer(value);\n original.insert(index, newValue, options);\n },\n update: (index, value) => {\n if (!props.setTransformer) {\n return original.update(index, value);\n }\n const newValue = props.setTransformer(value);\n original.update(index, newValue);\n },\n replace: (value) => {\n if (!props.setTransformer) {\n return original.replace(value);\n }\n const newValue = props.setTransformer(value);\n original.replace(newValue);\n }\n };\n}\nexport {\n useFieldArray\n};\n//# sourceMappingURL=index.js.map","import type React from 'react';\n\nimport { useDefinitionSchema } from '@baseplate-dev/project-builder-lib/web';\nimport {\n Button,\n Dialog,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogTitle,\n DialogTrigger,\n InputFieldController,\n} from '@baseplate-dev/ui-components';\nimport { zodResolver } from '@hookform/resolvers/zod';\nimport { useId } from 'react';\nimport { useForm } from 'react-hook-form';\n\nimport type { AuthRoleInput } from '../../schema/roles/schema.js';\n\nimport { createAuthRoleSchema } from '../../schema/roles/schema.js';\n\ninterface RoleDialogProps {\n open?: boolean;\n onOpenChange?: (open: boolean) => void;\n role?: AuthRoleInput;\n isNew?: boolean;\n onSave: (role: AuthRoleInput) => void;\n asChild?: boolean;\n children?: React.ReactNode;\n}\n\nexport function RoleDialog({\n open,\n onOpenChange,\n role,\n isNew = false,\n onSave,\n asChild,\n children,\n}: RoleDialogProps): React.JSX.Element {\n const authRoleSchema = useDefinitionSchema(createAuthRoleSchema);\n const form = useForm({\n resolver: zodResolver(authRoleSchema),\n values: role,\n });\n\n const { control, handleSubmit } = form;\n\n const onSubmit = handleSubmit((data) => {\n onSave(data);\n onOpenChange?.(false);\n });\n\n const formId = useId();\n\n return (\n <Dialog open={open} onOpenChange={onOpenChange}>\n <DialogTrigger asChild={asChild}>{children}</DialogTrigger>\n <DialogContent>\n <form\n id={formId}\n onSubmit={(e) => {\n e.stopPropagation();\n return onSubmit(e);\n }}\n >\n <DialogHeader>\n <DialogTitle>{isNew ? 'Add Role' : 'Edit Role'}</DialogTitle>\n <DialogDescription>\n {isNew\n ? 'Enter the details for the new role.'\n : 'Update the role details below.'}\n </DialogDescription>\n </DialogHeader>\n <div className=\"auth:space-y-4 auth:py-4\">\n <InputFieldController\n label=\"Role Name\"\n name=\"name\"\n control={control}\n placeholder=\"Enter role name\"\n />\n <InputFieldController\n label=\"Description\"\n name=\"comment\"\n control={control}\n placeholder=\"Describe this role's purpose\"\n />\n </div>\n <DialogFooter>\n <Button\n type=\"button\"\n variant=\"outline\"\n onClick={() => {\n onOpenChange?.(false);\n }}\n >\n Cancel\n </Button>\n <Button form={formId} type=\"submit\">\n {isNew ? 'Add' : 'Update'} Role\n </Button>\n </DialogFooter>\n </form>\n </DialogContent>\n </Dialog>\n );\n}\n","import type React from 'react';\nimport type { Control } from 'react-hook-form';\n\nimport { authRoleEntityType } from '@baseplate-dev/project-builder-lib';\nimport {\n Badge,\n Button,\n RecordView,\n RecordViewActions,\n RecordViewItem,\n RecordViewItemList,\n SectionListSection,\n SectionListSectionContent,\n SectionListSectionDescription,\n SectionListSectionHeader,\n SectionListSectionTitle,\n useConfirmDialog,\n} from '@baseplate-dev/ui-components';\nimport { useFieldArray } from '@hookform/lenses/rhf';\nimport { useState } from 'react';\nimport { useWatch } from 'react-hook-form';\nimport { MdAdd, MdDeleteOutline, MdEdit } from 'react-icons/md';\n\nimport type { AuthPluginDefinitionInput } from '../../schema/plugin-definition.js';\nimport type { AuthRoleInput } from '../../schema/roles/schema.js';\n\nimport { RoleDialog } from './role-dialog.js';\n\ninterface Props {\n className?: string;\n control: Control<AuthPluginDefinitionInput>;\n}\n\nexport function RoleEditorForm({\n className,\n control,\n}: Props): React.JSX.Element {\n const { requestConfirm } = useConfirmDialog();\n const { append, update, remove } = useFieldArray({\n control,\n name: 'roles',\n });\n const [roleToEdit, setRoleToEdit] = useState<AuthRoleInput | undefined>();\n const [isEditing, setIsEditing] = useState(false);\n\n const roles = useWatch({ control, name: 'roles' });\n\n function handleSaveRole(newRole: AuthRoleInput): void {\n const existingIndex = roles.findIndex((role) => role.id === newRole.id);\n if (existingIndex === -1) {\n append(newRole);\n } else {\n update(existingIndex, newRole);\n }\n }\n\n function handleDeleteRole(roleIdx: number): void {\n const role = roles[roleIdx];\n requestConfirm({\n title: 'Delete Role',\n content: `Are you sure you want to delete the role \"${role.name}\"?`,\n onConfirm: () => {\n remove(roleIdx);\n },\n });\n }\n\n return (\n <SectionListSection className={className}>\n <SectionListSectionHeader>\n <SectionListSectionTitle>User Roles</SectionListSectionTitle>\n <SectionListSectionDescription>\n Define roles for your application. Default roles are protected and\n cannot be removed.\n </SectionListSectionDescription>\n </SectionListSectionHeader>\n <SectionListSectionContent className=\"auth:space-y-4\">\n {roles.map((role, roleIdx) => (\n <RecordView key={role.id}>\n <RecordViewItemList>\n <RecordViewItem title=\"Name\">\n <div className=\"auth:flex auth:items-center auth:gap-2\">\n <span>{role.name}</span>\n </div>\n </RecordViewItem>\n <RecordViewItem title=\"Description\">\n {role.comment.trim() || (\n <span className=\"auth:text-muted-foreground\">\n No description\n </span>\n )}\n </RecordViewItem>\n </RecordViewItemList>\n <RecordViewActions>\n {role.builtIn && <Badge variant=\"secondary\">Default Role</Badge>}\n {!role.builtIn && (\n <>\n <Button\n variant=\"ghost\"\n size=\"icon\"\n title=\"Edit\"\n aria-label=\"Edit role\"\n onClick={() => {\n setRoleToEdit(role);\n setIsEditing(true);\n }}\n >\n <MdEdit />\n </Button>\n <Button\n variant=\"ghostDestructive\"\n size=\"icon\"\n title=\"Delete\"\n aria-label=\"Delete role\"\n onClick={() => {\n handleDeleteRole(roleIdx);\n }}\n >\n <MdDeleteOutline />\n </Button>\n </>\n )}\n </RecordViewActions>\n </RecordView>\n ))}\n <RoleDialog\n open={isEditing}\n onOpenChange={setIsEditing}\n role={roleToEdit}\n isNew={roleToEdit ? !roles.some((r) => r.id === roleToEdit.id) : true}\n onSave={handleSaveRole}\n />\n <Button\n variant=\"secondary\"\n size=\"sm\"\n onClick={() => {\n setRoleToEdit({\n id: authRoleEntityType.generateNewId(),\n name: '',\n comment: '',\n builtIn: false,\n });\n setIsEditing(true);\n }}\n >\n <MdAdd />\n Add Role\n </Button>\n </SectionListSectionContent>\n </SectionListSection>\n );\n}\n","import type { WebConfigProps } from '@baseplate-dev/project-builder-lib';\nimport type React from 'react';\n\nimport {\n FeatureUtils,\n getManagedPluginsForPlugin,\n PluginUtils,\n} from '@baseplate-dev/project-builder-lib';\nimport {\n FeatureComboboxFieldController,\n useBlockUnsavedChangesNavigate,\n useDefinitionSchema,\n useProjectDefinition,\n useResettableForm,\n} from '@baseplate-dev/project-builder-lib/web';\nimport {\n Alert,\n AlertDescription,\n AlertTitle,\n FormActionBar,\n SectionList,\n SectionListSection,\n SectionListSectionContent,\n SectionListSectionDescription,\n SectionListSectionHeader,\n SectionListSectionTitle,\n SelectFieldController,\n} from '@baseplate-dev/ui-components';\nimport { zodResolver } from '@hookform/resolvers/zod';\nimport { Link, useNavigate } from '@tanstack/react-router';\nimport { useMemo } from 'react';\n\nimport { AuthConfigTabs } from '#src/common/components/auth-config-tabs.js';\n\nimport type { AuthPluginDefinitionInput } from '../schema/plugin-definition.js';\n\nimport { createAuthPluginDefinitionSchema } from '../schema/plugin-definition.js';\nimport { createDefaultAuthRoles } from '../schema/roles/constants.js';\nimport { RoleEditorForm } from './role-editor-form/role-editor-form.js';\n\nimport '#src/styles.css';\n\nexport function AuthDefinitionEditor({\n definition: pluginMetadata,\n metadata,\n onSave,\n}: WebConfigProps): React.JSX.Element {\n const {\n definition,\n definitionContainer,\n schemaParserContext,\n saveDefinitionWithFeedback,\n } = useProjectDefinition();\n\n const authPluginDefinitionSchema = useDefinitionSchema(\n createAuthPluginDefinitionSchema,\n );\n\n const availableImplementations = getManagedPluginsForPlugin(\n schemaParserContext.pluginStore,\n metadata.key,\n );\n // Use local auth by default\n const defaultImplementation =\n availableImplementations.find(\n (i) => i.fullyQualifiedName === '@baseplate-dev/plugin-auth:local-auth',\n ) ?? availableImplementations[0];\n\n const defaultValues = useMemo(() => {\n if (pluginMetadata?.config) {\n return pluginMetadata.config as AuthPluginDefinitionInput;\n }\n\n const defaultAuthFeatureRef = FeatureUtils.getFeatureIdByNameOrDefault(\n definition,\n 'auth',\n );\n\n return {\n implementationPluginKey: defaultImplementation.key,\n authFeatureRef: defaultAuthFeatureRef,\n roles: createDefaultAuthRoles(),\n } satisfies AuthPluginDefinitionInput;\n }, [definition, pluginMetadata?.config, defaultImplementation]);\n\n const form = useResettableForm({\n resolver: zodResolver(authPluginDefinitionSchema),\n defaultValues,\n });\n const { control, reset, handleSubmit, watch } = form;\n\n const implementationPluginKey = watch('implementationPluginKey');\n const selectedPlugin =\n implementationPluginKey &&\n availableImplementations.find((i) => i.key === implementationPluginKey);\n const isSelectedImplementationActive = !!PluginUtils.byKey(\n definitionContainer.definition,\n implementationPluginKey,\n );\n const hasSelectedImplementationChanged =\n implementationPluginKey !==\n (pluginMetadata?.config as AuthPluginDefinitionInput | undefined)\n ?.implementationPluginKey;\n\n const selectedImplementationUrl = selectedPlugin\n ? `/plugins/edit/${selectedPlugin.key}`\n : undefined;\n const navigate = useNavigate();\n\n const onSubmit = handleSubmit((data) =>\n saveDefinitionWithFeedback(\n (draftConfig) => {\n const featureRef = FeatureUtils.ensureFeatureByNameRecursively(\n draftConfig,\n data.authFeatureRef,\n );\n PluginUtils.setPluginConfig(\n draftConfig,\n metadata,\n {\n ...data,\n authFeatureRef: featureRef,\n },\n definitionContainer,\n );\n\n // Make sure we disable other plugins that are not the selected implementation\n const otherPlugins = availableImplementations.filter(\n (i) => i.key !== implementationPluginKey,\n );\n for (const plugin of otherPlugins) {\n PluginUtils.disablePlugin(\n draftConfig,\n plugin.key,\n definitionContainer.parserContext,\n );\n }\n },\n {\n successMessage: `Successfully saved auth plugin! ${selectedImplementationUrl && !isSelectedImplementationActive ? `Please configure the provider plugin before syncing.` : ''}`,\n onSuccess: () => {\n onSave();\n\n if (selectedImplementationUrl && !isSelectedImplementationActive) {\n setTimeout(() => {\n navigate({ to: selectedImplementationUrl });\n }, 100);\n }\n },\n },\n ),\n );\n\n useBlockUnsavedChangesNavigate({ control, reset, onSubmit });\n\n return (\n <div className=\"auth:relative auth:flex auth:h-full auth:flex-1 auth:flex-col auth:gap-4 auth:overflow-hidden\">\n <AuthConfigTabs />\n <div\n className=\"auth:mb-[--action-bar-height] auth:flex auth:flex-1 auth:overflow-y-auto\"\n style={\n {\n '--action-bar-height': '52px',\n } as React.CSSProperties\n }\n >\n <form onSubmit={onSubmit} className=\"auth:max-w-6xl auth:flex-1\">\n <div className=\"auth:pb-16\">\n {!isSelectedImplementationActive &&\n selectedPlugin &&\n !hasSelectedImplementationChanged && (\n <Alert variant=\"warning\">\n <AlertTitle>Implementation Provider Not Active</AlertTitle>\n <AlertDescription>\n <p>\n The selected implementation provider is not active. Please\n make sure{' '}\n <Link\n to={selectedImplementationUrl}\n className=\"auth:inline-block auth:font-medium\"\n >\n configure the provider\n </Link>{' '}\n before syncing.\n </p>\n </AlertDescription>\n </Alert>\n )}\n <SectionList>\n <SectionListSection>\n <SectionListSectionHeader>\n <SectionListSectionTitle>\n General Settings\n </SectionListSectionTitle>\n <SectionListSectionDescription>\n Configure the general settings for the auth plugin.\n </SectionListSectionDescription>\n </SectionListSectionHeader>\n <SectionListSectionContent className=\"auth:space-y-6\">\n <FeatureComboboxFieldController\n label=\"Auth Feature Path\"\n name=\"authFeatureRef\"\n control={control}\n canCreate\n description=\"Specify the feature path where auth functionality will be generated\"\n />\n <SelectFieldController\n label=\"Authentication Provider\"\n name=\"implementationPluginKey\"\n control={control}\n options={availableImplementations}\n renderItemLabel={(item) => (\n <div className=\"auth:flex auth:flex-col auth:gap-2\">\n <div className=\"auth:text-sm auth:font-medium\">\n {item.displayName}\n </div>\n <div className=\"auth:text-sm auth:text-muted-foreground\">\n {item.description}\n </div>\n </div>\n )}\n getOptionLabel={(item) => item.displayName}\n getOptionValue={(item) => item.key}\n description=\"The authentication provider to use for your project\"\n />\n </SectionListSectionContent>\n </SectionListSection>\n\n <RoleEditorForm control={control} />\n </SectionList>\n </div>\n\n <FormActionBar form={form} allowSaveWithoutDirty={!pluginMetadata} />\n </form>\n </div>\n </div>\n );\n}\n","import {\n createPlatformPluginExport,\n webConfigSpec,\n} from '@baseplate-dev/project-builder-lib';\n\nimport { AuthDefinitionEditor } from './components/auth-definition-editor.js';\n\nimport '../../styles.css';\n\nexport default createPlatformPluginExport({\n dependencies: {\n webConfig: webConfigSpec,\n },\n exports: {},\n initialize: ({ webConfig }, { pluginKey }) => {\n webConfig.registerWebConfigComponent(pluginKey, AuthDefinitionEditor);\n return {};\n },\n});\n"],"names":["useMemo","useFieldArrayOriginal","useDefinitionSchema","Button","zodResolver","jsxs","jsx","SectionListSection","SectionListSectionContent","SectionListSectionDescription","SectionListSectionHeader","SectionListSectionTitle","Fragment"],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"__federation_expose_authCoreWeb-DMq9M88g.js","sources":["../../../../../node_modules/.pnpm/@hookform+lenses@0.8.1_react-hook-form@7.60.0_react@19.1.0__react@19.1.0/node_modules/@hookform/lenses/dist/rhf/index.js","../../../src/auth/core/components/role-editor-form/role-dialog.tsx","../../../src/auth/core/components/role-editor-form/role-editor-form.tsx","../../../src/auth/core/components/auth-definition-editor.tsx","../../../src/auth/core/web.ts"],"sourcesContent":["// src/rhf/useFieldArray.ts\nimport { useMemo } from \"react\";\nimport {\n useFieldArray as useFieldArrayOriginal\n} from \"react-hook-form\";\nfunction useFieldArray(props) {\n const original = useFieldArrayOriginal(props);\n const newFields = useMemo(() => {\n if (!props.getTransformer) {\n return original.fields;\n }\n return original.fields.map(props.getTransformer);\n }, [original.fields, props.getTransformer]);\n return {\n fields: newFields,\n move: original.move,\n remove: original.remove,\n swap: original.swap,\n prepend: (value, options) => {\n if (!props.setTransformer) {\n return original.prepend(value, options);\n }\n const newValue = Array.isArray(value) ? value.map(props.setTransformer) : props.setTransformer(value);\n original.prepend(newValue, options);\n },\n append: (value, options) => {\n if (!props.setTransformer) {\n return original.append(value, options);\n }\n const newValue = Array.isArray(value) ? value.map(props.setTransformer) : props.setTransformer(value);\n original.append(newValue, options);\n },\n insert: (index, value, options) => {\n if (!props.setTransformer) {\n return original.insert(index, value, options);\n }\n const newValue = Array.isArray(value) ? value.map(props.setTransformer) : props.setTransformer(value);\n original.insert(index, newValue, options);\n },\n update: (index, value) => {\n if (!props.setTransformer) {\n return original.update(index, value);\n }\n const newValue = props.setTransformer(value);\n original.update(index, newValue);\n },\n replace: (value) => {\n if (!props.setTransformer) {\n return original.replace(value);\n }\n const newValue = props.setTransformer(value);\n original.replace(newValue);\n }\n };\n}\nexport {\n useFieldArray\n};\n//# sourceMappingURL=index.js.map","import type React from 'react';\n\nimport { useDefinitionSchema } from '@baseplate-dev/project-builder-lib/web';\nimport {\n Button,\n Dialog,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogTitle,\n DialogTrigger,\n InputFieldController,\n} from '@baseplate-dev/ui-components';\nimport { zodResolver } from '@hookform/resolvers/zod';\nimport { useId } from 'react';\nimport { useForm } from 'react-hook-form';\n\nimport type { AuthRoleInput } from '../../schema/roles/schema.js';\n\nimport { createAuthRoleSchema } from '../../schema/roles/schema.js';\n\ninterface RoleDialogProps {\n open?: boolean;\n onOpenChange?: (open: boolean) => void;\n role?: AuthRoleInput;\n isNew?: boolean;\n onSave: (role: AuthRoleInput) => void;\n asChild?: boolean;\n children?: React.ReactNode;\n}\n\nexport function RoleDialog({\n open,\n onOpenChange,\n role,\n isNew = false,\n onSave,\n asChild,\n children,\n}: RoleDialogProps): React.JSX.Element {\n const authRoleSchema = useDefinitionSchema(createAuthRoleSchema);\n const form = useForm({\n resolver: zodResolver(authRoleSchema),\n values: role,\n });\n\n const { control, handleSubmit } = form;\n\n const onSubmit = handleSubmit((data) => {\n onSave(data);\n onOpenChange?.(false);\n });\n\n const formId = useId();\n\n return (\n <Dialog open={open} onOpenChange={onOpenChange}>\n <DialogTrigger asChild={asChild}>{children}</DialogTrigger>\n <DialogContent>\n <form\n id={formId}\n onSubmit={(e) => {\n e.stopPropagation();\n return onSubmit(e);\n }}\n >\n <DialogHeader>\n <DialogTitle>{isNew ? 'Add Role' : 'Edit Role'}</DialogTitle>\n <DialogDescription>\n {isNew\n ? 'Enter the details for the new role.'\n : 'Update the role details below.'}\n </DialogDescription>\n </DialogHeader>\n <div className=\"auth:space-y-4 auth:py-4\">\n <InputFieldController\n label=\"Role Name\"\n name=\"name\"\n control={control}\n placeholder=\"Enter role name\"\n />\n <InputFieldController\n label=\"Description\"\n name=\"comment\"\n control={control}\n placeholder=\"Describe this role's purpose\"\n />\n </div>\n <DialogFooter>\n <Button\n type=\"button\"\n variant=\"outline\"\n onClick={() => {\n onOpenChange?.(false);\n }}\n >\n Cancel\n </Button>\n <Button form={formId} type=\"submit\">\n {isNew ? 'Add' : 'Update'} Role\n </Button>\n </DialogFooter>\n </form>\n </DialogContent>\n </Dialog>\n );\n}\n","import type React from 'react';\nimport type { Control } from 'react-hook-form';\n\nimport { authRoleEntityType } from '@baseplate-dev/project-builder-lib';\nimport {\n Badge,\n Button,\n RecordView,\n RecordViewActions,\n RecordViewItem,\n RecordViewItemList,\n SectionListSection,\n SectionListSectionContent,\n SectionListSectionDescription,\n SectionListSectionHeader,\n SectionListSectionTitle,\n useConfirmDialog,\n} from '@baseplate-dev/ui-components';\nimport { useFieldArray } from '@hookform/lenses/rhf';\nimport { useState } from 'react';\nimport { useWatch } from 'react-hook-form';\nimport { MdAdd, MdDeleteOutline, MdEdit } from 'react-icons/md';\n\nimport type { AuthPluginDefinitionInput } from '../../schema/plugin-definition.js';\nimport type { AuthRoleInput } from '../../schema/roles/schema.js';\n\nimport { RoleDialog } from './role-dialog.js';\n\ninterface Props {\n className?: string;\n control: Control<AuthPluginDefinitionInput>;\n}\n\nexport function RoleEditorForm({\n className,\n control,\n}: Props): React.JSX.Element {\n const { requestConfirm } = useConfirmDialog();\n const { append, update, remove } = useFieldArray({\n control,\n name: 'roles',\n });\n const [roleToEdit, setRoleToEdit] = useState<AuthRoleInput | undefined>();\n const [isEditing, setIsEditing] = useState(false);\n\n const roles = useWatch({ control, name: 'roles' });\n\n function handleSaveRole(newRole: AuthRoleInput): void {\n const existingIndex = roles.findIndex((role) => role.id === newRole.id);\n if (existingIndex === -1) {\n append(newRole);\n } else {\n update(existingIndex, newRole);\n }\n }\n\n function handleDeleteRole(roleIdx: number): void {\n const role = roles[roleIdx];\n requestConfirm({\n title: 'Delete Role',\n content: `Are you sure you want to delete the role \"${role.name}\"?`,\n onConfirm: () => {\n remove(roleIdx);\n },\n });\n }\n\n return (\n <SectionListSection className={className}>\n <SectionListSectionHeader>\n <SectionListSectionTitle>User Roles</SectionListSectionTitle>\n <SectionListSectionDescription>\n Define roles for your application. Default roles are protected and\n cannot be removed.\n </SectionListSectionDescription>\n </SectionListSectionHeader>\n <SectionListSectionContent className=\"auth:space-y-4\">\n {roles.map((role, roleIdx) => (\n <RecordView key={role.id}>\n <RecordViewItemList>\n <RecordViewItem title=\"Name\">\n <div className=\"auth:flex auth:items-center auth:gap-2\">\n <span>{role.name}</span>\n </div>\n </RecordViewItem>\n <RecordViewItem title=\"Description\">\n {role.comment.trim() || (\n <span className=\"auth:text-muted-foreground\">\n No description\n </span>\n )}\n </RecordViewItem>\n </RecordViewItemList>\n <RecordViewActions>\n {role.builtIn && <Badge variant=\"secondary\">Default Role</Badge>}\n {!role.builtIn && (\n <>\n <Button\n variant=\"ghost\"\n size=\"icon\"\n title=\"Edit\"\n aria-label=\"Edit role\"\n onClick={() => {\n setRoleToEdit(role);\n setIsEditing(true);\n }}\n >\n <MdEdit />\n </Button>\n <Button\n variant=\"ghostDestructive\"\n size=\"icon\"\n title=\"Delete\"\n aria-label=\"Delete role\"\n onClick={() => {\n handleDeleteRole(roleIdx);\n }}\n >\n <MdDeleteOutline />\n </Button>\n </>\n )}\n </RecordViewActions>\n </RecordView>\n ))}\n <RoleDialog\n open={isEditing}\n onOpenChange={setIsEditing}\n role={roleToEdit}\n isNew={roleToEdit ? !roles.some((r) => r.id === roleToEdit.id) : true}\n onSave={handleSaveRole}\n />\n <Button\n variant=\"secondary\"\n size=\"sm\"\n onClick={() => {\n setRoleToEdit({\n id: authRoleEntityType.generateNewId(),\n name: '',\n comment: '',\n builtIn: false,\n });\n setIsEditing(true);\n }}\n >\n <MdAdd />\n Add Role\n </Button>\n </SectionListSectionContent>\n </SectionListSection>\n );\n}\n","import type { WebConfigProps } from '@baseplate-dev/project-builder-lib';\nimport type React from 'react';\n\nimport {\n FeatureUtils,\n getManagedPluginsForPlugin,\n PluginUtils,\n} from '@baseplate-dev/project-builder-lib';\nimport {\n FeatureComboboxFieldController,\n useBlockUnsavedChangesNavigate,\n useDefinitionSchema,\n useProjectDefinition,\n useResettableForm,\n} from '@baseplate-dev/project-builder-lib/web';\nimport {\n Alert,\n AlertDescription,\n AlertTitle,\n FormActionBar,\n SectionList,\n SectionListSection,\n SectionListSectionContent,\n SectionListSectionDescription,\n SectionListSectionHeader,\n SectionListSectionTitle,\n SelectFieldController,\n} from '@baseplate-dev/ui-components';\nimport { zodResolver } from '@hookform/resolvers/zod';\nimport { Link, useNavigate } from '@tanstack/react-router';\nimport { useMemo } from 'react';\n\nimport { AuthConfigTabs } from '#src/common/components/auth-config-tabs.js';\n\nimport type { AuthPluginDefinitionInput } from '../schema/plugin-definition.js';\n\nimport { createAuthPluginDefinitionSchema } from '../schema/plugin-definition.js';\nimport { createDefaultAuthRoles } from '../schema/roles/constants.js';\nimport { RoleEditorForm } from './role-editor-form/role-editor-form.js';\n\nimport '#src/styles.css';\n\nexport function AuthDefinitionEditor({\n definition: pluginMetadata,\n metadata,\n onSave,\n}: WebConfigProps): React.JSX.Element {\n const {\n definition,\n definitionContainer,\n schemaParserContext,\n saveDefinitionWithFeedback,\n } = useProjectDefinition();\n\n const authPluginDefinitionSchema = useDefinitionSchema(\n createAuthPluginDefinitionSchema,\n );\n\n const availableImplementations = getManagedPluginsForPlugin(\n schemaParserContext.pluginStore,\n metadata.key,\n );\n // Use local auth by default\n const defaultImplementation =\n availableImplementations.find(\n (i) => i.fullyQualifiedName === '@baseplate-dev/plugin-auth:local-auth',\n ) ?? availableImplementations[0];\n\n const defaultValues = useMemo(() => {\n if (pluginMetadata?.config) {\n return pluginMetadata.config as AuthPluginDefinitionInput;\n }\n\n const defaultAuthFeatureRef = FeatureUtils.getFeatureIdByNameOrDefault(\n definition,\n 'auth',\n );\n\n return {\n implementationPluginKey: defaultImplementation.key,\n authFeatureRef: defaultAuthFeatureRef,\n roles: createDefaultAuthRoles(),\n } satisfies AuthPluginDefinitionInput;\n }, [definition, pluginMetadata?.config, defaultImplementation]);\n\n const form = useResettableForm({\n resolver: zodResolver(authPluginDefinitionSchema),\n defaultValues,\n });\n const { control, reset, handleSubmit, watch } = form;\n\n const implementationPluginKey = watch('implementationPluginKey');\n const selectedPlugin =\n implementationPluginKey &&\n availableImplementations.find((i) => i.key === implementationPluginKey);\n const isSelectedImplementationActive = !!PluginUtils.byKey(\n definitionContainer.definition,\n implementationPluginKey,\n );\n const hasSelectedImplementationChanged =\n implementationPluginKey !==\n (pluginMetadata?.config as AuthPluginDefinitionInput | undefined)\n ?.implementationPluginKey;\n\n const selectedImplementationUrl = selectedPlugin\n ? `/plugins/edit/${selectedPlugin.key}`\n : undefined;\n const navigate = useNavigate();\n\n const onSubmit = handleSubmit((data) =>\n saveDefinitionWithFeedback(\n (draftConfig) => {\n const featureRef = FeatureUtils.ensureFeatureByNameRecursively(\n draftConfig,\n data.authFeatureRef,\n );\n PluginUtils.setPluginConfig(\n draftConfig,\n metadata,\n {\n ...data,\n authFeatureRef: featureRef,\n },\n definitionContainer,\n );\n\n // Make sure we disable other plugins that are not the selected implementation\n const otherPlugins = availableImplementations.filter(\n (i) => i.key !== implementationPluginKey,\n );\n for (const plugin of otherPlugins) {\n PluginUtils.disablePlugin(\n draftConfig,\n plugin.key,\n definitionContainer.parserContext,\n );\n }\n },\n {\n successMessage: `Successfully saved auth plugin! ${selectedImplementationUrl && !isSelectedImplementationActive ? `Please configure the provider plugin before syncing.` : ''}`,\n onSuccess: () => {\n onSave();\n\n if (selectedImplementationUrl && !isSelectedImplementationActive) {\n setTimeout(() => {\n navigate({ to: selectedImplementationUrl });\n }, 100);\n }\n },\n },\n ),\n );\n\n useBlockUnsavedChangesNavigate({ control, reset, onSubmit });\n\n return (\n <div className=\"auth:relative auth:flex auth:h-full auth:flex-1 auth:flex-col auth:gap-4 auth:overflow-hidden\">\n <AuthConfigTabs />\n <div\n className=\"auth:mb-[--action-bar-height] auth:flex auth:flex-1 auth:overflow-y-auto\"\n style={\n {\n '--action-bar-height': '52px',\n } as React.CSSProperties\n }\n >\n <form onSubmit={onSubmit} className=\"auth:max-w-6xl auth:flex-1\">\n <div className=\"auth:pb-16\">\n {!isSelectedImplementationActive &&\n selectedPlugin &&\n !hasSelectedImplementationChanged && (\n <Alert variant=\"warning\">\n <AlertTitle>Implementation Provider Not Active</AlertTitle>\n <AlertDescription>\n <p>\n The selected implementation provider is not active. Please\n make sure{' '}\n <Link\n to={selectedImplementationUrl}\n className=\"auth:inline-block auth:font-medium\"\n >\n configure the provider\n </Link>{' '}\n before syncing.\n </p>\n </AlertDescription>\n </Alert>\n )}\n <SectionList>\n <SectionListSection>\n <SectionListSectionHeader>\n <SectionListSectionTitle>\n General Settings\n </SectionListSectionTitle>\n <SectionListSectionDescription>\n Configure the general settings for the auth plugin.\n </SectionListSectionDescription>\n </SectionListSectionHeader>\n <SectionListSectionContent className=\"auth:space-y-6\">\n <FeatureComboboxFieldController\n label=\"Auth Feature Path\"\n name=\"authFeatureRef\"\n control={control}\n canCreate\n description=\"Specify the feature path where auth functionality will be generated\"\n />\n <SelectFieldController\n label=\"Authentication Provider\"\n name=\"implementationPluginKey\"\n control={control}\n options={availableImplementations}\n renderItemLabel={(item) => (\n <div className=\"auth:flex auth:flex-col auth:gap-2\">\n <div className=\"auth:text-sm auth:font-medium\">\n {item.displayName}\n </div>\n <div className=\"auth:text-sm auth:text-muted-foreground\">\n {item.description}\n </div>\n </div>\n )}\n getOptionLabel={(item) => item.displayName}\n getOptionValue={(item) => item.key}\n description=\"The authentication provider to use for your project\"\n />\n </SectionListSectionContent>\n </SectionListSection>\n\n <RoleEditorForm control={control} />\n </SectionList>\n </div>\n\n <FormActionBar form={form} allowSaveWithoutDirty={!pluginMetadata} />\n </form>\n </div>\n </div>\n );\n}\n","import {\n createPluginModule,\n webConfigSpec,\n} from '@baseplate-dev/project-builder-lib';\n\nimport { AuthDefinitionEditor } from './components/auth-definition-editor.js';\n\nimport '../../styles.css';\n\nexport default createPluginModule({\n name: 'web',\n dependencies: {\n webConfig: webConfigSpec,\n },\n initialize: ({ webConfig }, { pluginKey }) => {\n webConfig.components.set(pluginKey, AuthDefinitionEditor);\n },\n});\n"],"names":["useMemo","useFieldArrayOriginal","useDefinitionSchema","Button","zodResolver","jsxs","jsx","SectionListSection","SectionListSectionContent","SectionListSectionDescription","SectionListSectionHeader","SectionListSectionTitle","Fragment"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { importShared } from './__federation_fn_import-
|
|
1
|
+
import { importShared } from './__federation_fn_import-DsXcpNlB.js';
|
|
2
2
|
|
|
3
3
|
const {baseAdminCrudActionSchema: baseAdminCrudActionSchema$1,definitionSchema: definitionSchema$2} = await importShared('@baseplate-dev/project-builder-lib');
|
|
4
4
|
|
|
@@ -30,35 +30,34 @@ const createAdminCrudRolesColumnSchema = definitionSchema(
|
|
|
30
30
|
})
|
|
31
31
|
);
|
|
32
32
|
|
|
33
|
-
const {adminCrudActionSpec,adminCrudColumnSpec,createAdminCrudActionType,createAdminCrudColumnType,
|
|
34
|
-
const common =
|
|
33
|
+
const {adminCrudActionSpec,adminCrudColumnSpec,createAdminCrudActionType,createAdminCrudColumnType,createPluginModule} = await importShared('@baseplate-dev/project-builder-lib');
|
|
34
|
+
const common = createPluginModule({
|
|
35
|
+
name: "common",
|
|
35
36
|
dependencies: {
|
|
36
37
|
adminCrudAction: adminCrudActionSpec,
|
|
37
38
|
adminCrudColumn: adminCrudColumnSpec
|
|
38
39
|
},
|
|
39
|
-
exports: {},
|
|
40
40
|
initialize: ({ adminCrudAction, adminCrudColumn }) => {
|
|
41
|
-
adminCrudAction.
|
|
41
|
+
adminCrudAction.actions.add(
|
|
42
42
|
createAdminCrudActionType({
|
|
43
43
|
name: "manage-roles",
|
|
44
44
|
createSchema: createAdminCrudManageRolesActionSchema
|
|
45
45
|
})
|
|
46
46
|
);
|
|
47
|
-
adminCrudAction.
|
|
47
|
+
adminCrudAction.actions.add(
|
|
48
48
|
createAdminCrudActionType({
|
|
49
49
|
name: "reset-password",
|
|
50
50
|
createSchema: createAdminCrudResetPasswordActionSchema
|
|
51
51
|
})
|
|
52
52
|
);
|
|
53
|
-
adminCrudColumn.
|
|
53
|
+
adminCrudColumn.columns.add(
|
|
54
54
|
createAdminCrudColumnType({
|
|
55
55
|
name: "roles",
|
|
56
56
|
createSchema: createAdminCrudRolesColumnSchema
|
|
57
57
|
})
|
|
58
58
|
);
|
|
59
|
-
return {};
|
|
60
59
|
}
|
|
61
60
|
});
|
|
62
61
|
|
|
63
62
|
export { common as default };
|
|
64
|
-
//# sourceMappingURL=__federation_expose_local-authAdminCommon-
|
|
63
|
+
//# sourceMappingURL=__federation_expose_local-authAdminCommon-sQw4q5YX.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"__federation_expose_local-authAdminCommon-sQw4q5YX.js","sources":["../../../src/local-auth/admin/schema/manage-role-action.ts","../../../src/local-auth/admin/schema/reset-password-action.ts","../../../src/local-auth/admin/schema/roles-column.ts","../../../src/local-auth/admin/common.ts"],"sourcesContent":["import type { def } from '@baseplate-dev/project-builder-lib';\n\nimport {\n baseAdminCrudActionSchema,\n definitionSchema,\n} from '@baseplate-dev/project-builder-lib';\nimport { z } from 'zod';\n\nexport const createAdminCrudManageRolesActionSchema = definitionSchema(() =>\n baseAdminCrudActionSchema.extend({\n type: z.literal('manage-roles'),\n }),\n);\n\nexport type AdminCrudManageRolesActionDefinition = def.InferOutput<\n typeof createAdminCrudManageRolesActionSchema\n>;\n","import type { def } from '@baseplate-dev/project-builder-lib';\n\nimport {\n baseAdminCrudActionSchema,\n definitionSchema,\n} from '@baseplate-dev/project-builder-lib';\nimport { z } from 'zod';\n\nexport const createAdminCrudResetPasswordActionSchema = definitionSchema(() =>\n baseAdminCrudActionSchema.extend({\n type: z.literal('reset-password'),\n }),\n);\n\nexport type AdminCrudResetPasswordActionDefinition = def.InferOutput<\n typeof createAdminCrudResetPasswordActionSchema\n>;\n","import type { def } from '@baseplate-dev/project-builder-lib';\n\nimport {\n baseAdminCrudColumnSchema,\n definitionSchema,\n} from '@baseplate-dev/project-builder-lib';\nimport { z } from 'zod';\n\nexport const createAdminCrudRolesColumnSchema = definitionSchema(() =>\n baseAdminCrudColumnSchema.extend({\n type: z.literal('roles'),\n }),\n);\n\nexport type AdminCrudRolesColumnDefinition = def.InferOutput<\n typeof createAdminCrudRolesColumnSchema\n>;\n","import {\n adminCrudActionSpec,\n adminCrudColumnSpec,\n createAdminCrudActionType,\n createAdminCrudColumnType,\n createPluginModule,\n} from '@baseplate-dev/project-builder-lib';\n\nimport { createAdminCrudManageRolesActionSchema } from './schema/manage-role-action.js';\nimport { createAdminCrudResetPasswordActionSchema } from './schema/reset-password-action.js';\nimport { createAdminCrudRolesColumnSchema } from './schema/roles-column.js';\n\nexport default createPluginModule({\n name: 'common',\n dependencies: {\n adminCrudAction: adminCrudActionSpec,\n adminCrudColumn: adminCrudColumnSpec,\n },\n initialize: ({ adminCrudAction, adminCrudColumn }) => {\n // Register the manage-roles action type\n adminCrudAction.actions.add(\n createAdminCrudActionType({\n name: 'manage-roles',\n createSchema: createAdminCrudManageRolesActionSchema,\n }),\n );\n\n // Register the reset-password action type\n adminCrudAction.actions.add(\n createAdminCrudActionType({\n name: 'reset-password',\n createSchema: createAdminCrudResetPasswordActionSchema,\n }),\n );\n\n // Register the roles column type\n adminCrudColumn.columns.add(\n createAdminCrudColumnType({\n name: 'roles',\n createSchema: createAdminCrudRolesColumnSchema,\n }),\n );\n },\n});\n"],"names":["baseAdminCrudActionSchema","definitionSchema","z"],"mappings":";;AAEA,MAAA,4BAAAA,2BAAA,mBAAAC,kBAAA,CAAA,GAAA,MAAA,YAAA,CAAA,oCAAA,CAAA;;AAIA,MAAA,IAAAC,GAAA,CAAA,GAAA,MAAA,YAAA,CAAA,KAAA,CAAA;;AAEO,MAAM,sCAAA,GAAyCD,kBAAA;AAAA,EAAiB,MACrED,4BAA0B,MAAA,CAAO;AAAA,IAC/B,IAAA,EAAME,GAAA,CAAE,OAAA,CAAQ,cAAc;AAAA,GAC/B;AACH,CAAA;;ACVA,MAAA,CAAA,yBAAA,mBAAAD,kBAAA,CAAA,GAAA,MAAA,YAAA,CAAA,oCAAA,CAAA;;AAIA,MAAA,IAAAC,GAAA,CAAA,GAAA,MAAA,YAAA,CAAA,KAAA,CAAA;;AAEO,MAAM,wCAAA,GAA2CD,kBAAA;AAAA,EAAiB,MACvE,0BAA0B,MAAA,CAAO;AAAA,IAC/B,IAAA,EAAMC,GAAA,CAAE,OAAA,CAAQ,gBAAgB;AAAA,GACjC;AACH,CAAA;;ACVA,MAAA,CAAA,yBAAA,CAAA,gBAAA,CAAA,GAAA,MAAA,YAAA,CAAA,oCAAA,CAAA;;AAIA,MAAA,CAAA,CAAA,CAAA,GAAA,MAAA,YAAA,CAAA,KAAA,CAAA;;AAEO,MAAM,gCAAA,GAAmC,gBAAA;AAAA,EAAiB,MAC/D,0BAA0B,MAAA,CAAO;AAAA,IAC/B,IAAA,EAAM,CAAA,CAAE,OAAA,CAAQ,OAAO;AAAA,GACxB;AACH,CAAA;;ACZA,MAAA,CAAA,mBAAA,CAAA,mBAAA,CAAA,yBAAA,CAAA,yBAAA,CAAA,kBAAA,CAAA,GAAA,MAAA,YAAA,CAAA,oCAAA,CAAA;AAYA,eAAe,kBAAA,CAAmB;AAAA,EAChC,IAAA,EAAM,QAAA;AAAA,EACN,YAAA,EAAc;AAAA,IACZ,eAAA,EAAiB,mBAAA;AAAA,IACjB,eAAA,EAAiB;AAAA,GACnB;AAAA,EACA,UAAA,EAAY,CAAC,EAAE,eAAA,EAAiB,iBAAgB,KAAM;AAEpD,IAAA,eAAA,CAAgB,OAAA,CAAQ,GAAA;AAAA,MACtB,yBAAA,CAA0B;AAAA,QACxB,IAAA,EAAM,cAAA;AAAA,QACN,YAAA,EAAc;AAAA,OACf;AAAA,KACH;AAGA,IAAA,eAAA,CAAgB,OAAA,CAAQ,GAAA;AAAA,MACtB,yBAAA,CAA0B;AAAA,QACxB,IAAA,EAAM,gBAAA;AAAA,QACN,YAAA,EAAc;AAAA,OACf;AAAA,KACH;AAGA,IAAA,eAAA,CAAgB,OAAA,CAAQ,GAAA;AAAA,MACtB,yBAAA,CAA0B;AAAA,QACxB,IAAA,EAAM,OAAA;AAAA,QACN,YAAA,EAAc;AAAA,OACf;AAAA,KACH;AAAA,EACF;AACF,CAAC,CAAA;;;;"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { importShared } from './__federation_fn_import-DsXcpNlB.js';
|
|
2
|
+
import { L as LOCAL_AUTH_MODELS } from './model-names-CEoSIalq.js';
|
|
3
|
+
|
|
4
|
+
const {createPluginModule,ModelUtils} = await importShared('@baseplate-dev/project-builder-lib');
|
|
5
|
+
|
|
6
|
+
const {adminCrudActionWebSpec,adminCrudColumnWebSpec} = await importShared('@baseplate-dev/project-builder-lib/web');
|
|
7
|
+
const web = createPluginModule({
|
|
8
|
+
name: "web",
|
|
9
|
+
dependencies: {
|
|
10
|
+
adminCrudActionWeb: adminCrudActionWebSpec,
|
|
11
|
+
adminCrudColumnWeb: adminCrudColumnWebSpec
|
|
12
|
+
},
|
|
13
|
+
initialize: ({ adminCrudActionWeb, adminCrudColumnWeb }, { pluginKey }) => {
|
|
14
|
+
adminCrudActionWeb.actions.addMany([
|
|
15
|
+
{
|
|
16
|
+
pluginKey,
|
|
17
|
+
name: "manage-roles",
|
|
18
|
+
label: "Manage Roles",
|
|
19
|
+
isAvailableForModel: (definition, modelId) => ModelUtils.byIdOrThrow(definition, modelId).name === LOCAL_AUTH_MODELS.user,
|
|
20
|
+
getNewAction: () => ({ type: "manage-roles", position: "dropdown" })
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
pluginKey,
|
|
24
|
+
name: "reset-password",
|
|
25
|
+
label: "Reset Password",
|
|
26
|
+
isAvailableForModel: (definition, modelId) => ModelUtils.byIdOrThrow(definition, modelId).name === LOCAL_AUTH_MODELS.user,
|
|
27
|
+
getNewAction: () => ({ type: "reset-password", position: "dropdown" })
|
|
28
|
+
}
|
|
29
|
+
]);
|
|
30
|
+
adminCrudColumnWeb.columns.add({
|
|
31
|
+
pluginKey,
|
|
32
|
+
name: "roles",
|
|
33
|
+
label: "Roles",
|
|
34
|
+
isAvailableForModel: (definition, modelId) => ModelUtils.byIdOrThrow(definition, modelId).name === LOCAL_AUTH_MODELS.user,
|
|
35
|
+
getNewColumn: () => ({ type: "roles", label: "Roles" })
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
|
|
40
|
+
export { web as default };
|
|
41
|
+
//# sourceMappingURL=__federation_expose_local-authAdminWeb-9FbO89NR.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"__federation_expose_local-authAdminWeb-9FbO89NR.js","sources":["../../../src/local-auth/admin/web.ts"],"sourcesContent":["import {\n createPluginModule,\n ModelUtils,\n} from '@baseplate-dev/project-builder-lib';\nimport {\n adminCrudActionWebSpec,\n adminCrudColumnWebSpec,\n} from '@baseplate-dev/project-builder-lib/web';\n\nimport { LOCAL_AUTH_MODELS } from '#src/local-auth/constants/model-names.js';\n\nexport default createPluginModule({\n name: 'web',\n dependencies: {\n adminCrudActionWeb: adminCrudActionWebSpec,\n adminCrudColumnWeb: adminCrudColumnWebSpec,\n },\n initialize: ({ adminCrudActionWeb, adminCrudColumnWeb }, { pluginKey }) => {\n adminCrudActionWeb.actions.addMany([\n {\n pluginKey,\n name: 'manage-roles',\n label: 'Manage Roles',\n isAvailableForModel: (definition, modelId) =>\n ModelUtils.byIdOrThrow(definition, modelId).name ===\n LOCAL_AUTH_MODELS.user,\n getNewAction: () => ({ type: 'manage-roles', position: 'dropdown' }),\n },\n {\n pluginKey,\n name: 'reset-password',\n label: 'Reset Password',\n isAvailableForModel: (definition, modelId) =>\n ModelUtils.byIdOrThrow(definition, modelId).name ===\n LOCAL_AUTH_MODELS.user,\n getNewAction: () => ({ type: 'reset-password', position: 'dropdown' }),\n },\n ]);\n\n adminCrudColumnWeb.columns.add({\n pluginKey,\n name: 'roles',\n label: 'Roles',\n isAvailableForModel: (definition, modelId) =>\n ModelUtils.byIdOrThrow(definition, modelId).name ===\n LOCAL_AUTH_MODELS.user,\n getNewColumn: () => ({ type: 'roles', label: 'Roles' }),\n });\n },\n});\n"],"names":[],"mappings":";;;AAAA,MAAA,CAAA,kBAAA,CAAA,UAAA,CAAA,GAAA,MAAA,YAAA,CAAA,oCAAA,CAAA;;AAIA,MAAA,CAAA,sBAAA,CAAA,sBAAA,CAAA,GAAA,MAAA,YAAA,CAAA,wCAAA,CAAA;AAOA,YAAe,kBAAA,CAAmB;AAAA,EAChC,IAAA,EAAM,KAAA;AAAA,EACN,YAAA,EAAc;AAAA,IACZ,kBAAA,EAAoB,sBAAA;AAAA,IACpB,kBAAA,EAAoB;AAAA,GACtB;AAAA,EACA,UAAA,EAAY,CAAC,EAAE,kBAAA,EAAoB,oBAAmB,EAAG,EAAE,WAAU,KAAM;AACzE,IAAA,kBAAA,CAAmB,QAAQ,OAAA,CAAQ;AAAA,MACjC;AAAA,QACE,SAAA;AAAA,QACA,IAAA,EAAM,cAAA;AAAA,QACN,KAAA,EAAO,cAAA;AAAA,QACP,mBAAA,EAAqB,CAAC,UAAA,EAAY,OAAA,KAChC,UAAA,CAAW,YAAY,UAAA,EAAY,OAAO,CAAA,CAAE,IAAA,KAC5C,iBAAA,CAAkB,IAAA;AAAA,QACpB,cAAc,OAAO,EAAE,IAAA,EAAM,cAAA,EAAgB,UAAU,UAAA,EAAW;AAAA,OACpE;AAAA,MACA;AAAA,QACE,SAAA;AAAA,QACA,IAAA,EAAM,gBAAA;AAAA,QACN,KAAA,EAAO,gBAAA;AAAA,QACP,mBAAA,EAAqB,CAAC,UAAA,EAAY,OAAA,KAChC,UAAA,CAAW,YAAY,UAAA,EAAY,OAAO,CAAA,CAAE,IAAA,KAC5C,iBAAA,CAAkB,IAAA;AAAA,QACpB,cAAc,OAAO,EAAE,IAAA,EAAM,gBAAA,EAAkB,UAAU,UAAA,EAAW;AAAA;AACtE,KACD,CAAA;AAED,IAAA,kBAAA,CAAmB,QAAQ,GAAA,CAAI;AAAA,MAC7B,SAAA;AAAA,MACA,IAAA,EAAM,OAAA;AAAA,MACN,KAAA,EAAO,OAAA;AAAA,MACP,mBAAA,EAAqB,CAAC,UAAA,EAAY,OAAA,KAChC,UAAA,CAAW,YAAY,UAAA,EAAY,OAAO,CAAA,CAAE,IAAA,KAC5C,iBAAA,CAAkB,IAAA;AAAA,MACpB,cAAc,OAAO,EAAE,IAAA,EAAM,OAAA,EAAS,OAAO,OAAA,EAAQ;AAAA,KACtD,CAAA;AAAA,EACH;AACF,CAAC,CAAA;;;;"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { importShared } from './__federation_fn_import-DsXcpNlB.js';
|
|
2
|
+
import { L as LOCAL_AUTH_MODELS } from './model-names-CEoSIalq.js';
|
|
3
|
+
import { c as createLocalAuthPluginDefinitionSchema } from './plugin-definition-B9d2CoQL.js';
|
|
4
|
+
|
|
5
|
+
const {authModelsSpec,createPluginModule,pluginConfigSpec} = await importShared('@baseplate-dev/project-builder-lib');
|
|
6
|
+
const common = createPluginModule({
|
|
7
|
+
name: "common",
|
|
8
|
+
dependencies: {
|
|
9
|
+
pluginConfig: pluginConfigSpec,
|
|
10
|
+
authModels: authModelsSpec
|
|
11
|
+
},
|
|
12
|
+
initialize: ({ pluginConfig, authModels }, { pluginKey }) => {
|
|
13
|
+
pluginConfig.schemas.set(pluginKey, createLocalAuthPluginDefinitionSchema);
|
|
14
|
+
authModels.getAuthModels.set(() => ({
|
|
15
|
+
user: LOCAL_AUTH_MODELS.user
|
|
16
|
+
}));
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
export { common as default };
|
|
21
|
+
//# sourceMappingURL=__federation_expose_local-authCoreCommon-CpUK09_4.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"__federation_expose_local-authCoreCommon-CpUK09_4.js","sources":["../../../src/local-auth/core/common.ts"],"sourcesContent":["import {\n authModelsSpec,\n createPluginModule,\n pluginConfigSpec,\n} from '@baseplate-dev/project-builder-lib';\n\nimport { LOCAL_AUTH_MODELS } from '#src/local-auth/constants/model-names.js';\n\nimport { createLocalAuthPluginDefinitionSchema } from './schema/plugin-definition.js';\n\n// necessary for Typescript to infer the return type of the initialize function\nexport type { PluginModule } from '@baseplate-dev/project-builder-lib';\n\nexport default createPluginModule({\n name: 'common',\n dependencies: {\n pluginConfig: pluginConfigSpec,\n authModels: authModelsSpec,\n },\n initialize: ({ pluginConfig, authModels }, { pluginKey }) => {\n pluginConfig.schemas.set(pluginKey, createLocalAuthPluginDefinitionSchema);\n authModels.getAuthModels.set(() => ({\n user: LOCAL_AUTH_MODELS.user,\n }));\n },\n});\n"],"names":[],"mappings":";;;;AAAA,MAAA,CAAA,cAAA,CAAA,kBAAA,CAAA,gBAAA,CAAA,GAAA,MAAA,YAAA,CAAA,oCAAA,CAAA;AAaA,eAAe,kBAAA,CAAmB;AAAA,EAChC,IAAA,EAAM,QAAA;AAAA,EACN,YAAA,EAAc;AAAA,IACZ,YAAA,EAAc,gBAAA;AAAA,IACd,UAAA,EAAY;AAAA,GACd;AAAA,EACA,UAAA,EAAY,CAAC,EAAE,YAAA,EAAc,YAAW,EAAG,EAAE,WAAU,KAAM;AAC3D,IAAA,YAAA,CAAa,OAAA,CAAQ,GAAA,CAAI,SAAA,EAAW,qCAAqC,CAAA;AACzE,IAAA,UAAA,CAAW,aAAA,CAAc,IAAI,OAAO;AAAA,MAClC,MAAM,iBAAA,CAAkB;AAAA,KAC1B,CAAE,CAAA;AAAA,EACJ;AACF,CAAC,CAAA;;;;"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { importShared } from './__federation_fn_import-
|
|
1
|
+
import { importShared } from './__federation_fn_import-DsXcpNlB.js';
|
|
2
2
|
import { j as jsxRuntimeExports } from './jsx-runtime-XI9uIe3W.js';
|
|
3
|
-
import { a, A as AuthConfigTabs } from './styles-
|
|
4
|
-
import { g as getAuthPluginDefinition } from './get-auth-plugin-definition-
|
|
3
|
+
import { a, A as AuthConfigTabs } from './styles-CEm5K1iU.js';
|
|
4
|
+
import { g as getAuthPluginDefinition } from './get-auth-plugin-definition-BV2O8wTa.js';
|
|
5
5
|
import { L as LOCAL_AUTH_MODELS } from './model-names-CEoSIalq.js';
|
|
6
|
-
import { c as createLocalAuthPluginDefinitionSchema } from './plugin-definition-
|
|
6
|
+
import { c as createLocalAuthPluginDefinitionSchema } from './plugin-definition-B9d2CoQL.js';
|
|
7
7
|
|
|
8
8
|
function createAuthModels({
|
|
9
9
|
authFeatureRef
|
|
@@ -349,17 +349,16 @@ function LocalAuthDefinitionEditor({
|
|
|
349
349
|
] });
|
|
350
350
|
}
|
|
351
351
|
|
|
352
|
-
const {
|
|
353
|
-
const web =
|
|
352
|
+
const {createPluginModule,webConfigSpec} = await importShared('@baseplate-dev/project-builder-lib');
|
|
353
|
+
const web = createPluginModule({
|
|
354
|
+
name: "web",
|
|
354
355
|
dependencies: {
|
|
355
356
|
webConfig: webConfigSpec
|
|
356
357
|
},
|
|
357
|
-
exports: {},
|
|
358
358
|
initialize: ({ webConfig }, { pluginKey }) => {
|
|
359
|
-
webConfig.
|
|
360
|
-
return {};
|
|
359
|
+
webConfig.components.set(pluginKey, LocalAuthDefinitionEditor);
|
|
361
360
|
}
|
|
362
361
|
});
|
|
363
362
|
|
|
364
363
|
export { web as default };
|
|
365
|
-
//# sourceMappingURL=__federation_expose_local-authCoreWeb-
|
|
364
|
+
//# sourceMappingURL=__federation_expose_local-authCoreWeb-Czp0GaY1.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"__federation_expose_local-authCoreWeb-ChyvdsRq.js","sources":["../../../src/local-auth/core/schema/models.ts","../../../src/local-auth/core/components/local-auth-definition-editor.tsx","../../../src/local-auth/core/web.ts"],"sourcesContent":["import type { ModelMergerModelInput } from '@baseplate-dev/project-builder-lib';\n\nimport type { AuthPluginDefinition } from '#src/auth/core/schema/plugin-definition.js';\n\nimport { LOCAL_AUTH_MODELS } from '#src/local-auth/constants/model-names.js';\n\nexport function createAuthModels({\n authFeatureRef,\n}: AuthPluginDefinition): Record<\n keyof typeof LOCAL_AUTH_MODELS,\n ModelMergerModelInput\n> {\n return {\n user: {\n name: LOCAL_AUTH_MODELS.user,\n featureRef: authFeatureRef,\n model: {\n fields: [\n {\n name: 'id',\n type: 'uuid',\n options: { genUuid: true },\n },\n {\n name: 'name',\n type: 'string',\n isOptional: true,\n },\n {\n name: 'email',\n type: 'string',\n },\n {\n name: 'emailVerified',\n type: 'boolean',\n options: { default: 'false' },\n },\n {\n name: 'updatedAt',\n type: 'dateTime',\n options: { defaultToNow: true, updatedAt: true },\n },\n {\n name: 'createdAt',\n type: 'dateTime',\n options: { defaultToNow: true },\n },\n ],\n primaryKeyFieldRefs: ['id'],\n uniqueConstraints: [\n {\n fields: [{ fieldRef: 'email' }],\n },\n ],\n },\n graphql: {\n objectType: {\n enabled: true,\n fields: ['id', 'email'],\n },\n },\n },\n userAccount: {\n name: LOCAL_AUTH_MODELS.userAccount,\n featureRef: authFeatureRef,\n model: {\n fields: [\n {\n name: 'id',\n type: 'uuid',\n options: { genUuid: true },\n },\n {\n name: 'userId',\n type: 'uuid',\n },\n {\n name: 'accountId',\n type: 'string',\n },\n {\n name: 'providerId',\n type: 'string',\n },\n {\n name: 'password',\n type: 'string',\n isOptional: true,\n },\n {\n name: 'createdAt',\n type: 'dateTime',\n options: { defaultToNow: true },\n },\n {\n name: 'updatedAt',\n type: 'dateTime',\n options: { defaultToNow: true, updatedAt: true },\n },\n ],\n primaryKeyFieldRefs: ['id'],\n uniqueConstraints: [\n {\n fields: [{ fieldRef: 'accountId' }, { fieldRef: 'providerId' }],\n },\n ],\n relations: [\n {\n name: 'user',\n references: [{ localRef: 'userId', foreignRef: 'id' }],\n modelRef: LOCAL_AUTH_MODELS.user,\n foreignRelationName: 'accounts',\n onDelete: 'Cascade',\n onUpdate: 'Restrict',\n },\n ],\n },\n },\n userRole: {\n name: LOCAL_AUTH_MODELS.userRole,\n featureRef: authFeatureRef,\n model: {\n fields: [\n {\n name: 'userId',\n type: 'uuid',\n },\n {\n name: 'role',\n type: 'string',\n },\n {\n name: 'updatedAt',\n type: 'dateTime',\n options: { defaultToNow: true, updatedAt: true },\n },\n {\n name: 'createdAt',\n type: 'dateTime',\n options: { defaultToNow: true },\n },\n ],\n primaryKeyFieldRefs: ['userId', 'role'],\n relations: [\n {\n name: 'user',\n references: [{ localRef: 'userId', foreignRef: 'id' }],\n modelRef: LOCAL_AUTH_MODELS.user,\n foreignRelationName: 'roles',\n onDelete: 'Cascade',\n onUpdate: 'Restrict',\n },\n ],\n },\n },\n userSession: {\n name: LOCAL_AUTH_MODELS.userSession,\n featureRef: authFeatureRef,\n model: {\n fields: [\n {\n name: 'id',\n type: 'uuid',\n options: { genUuid: true },\n },\n {\n name: 'userId',\n type: 'uuid',\n },\n {\n name: 'token',\n type: 'string',\n },\n {\n name: 'expiresAt',\n type: 'dateTime',\n },\n {\n name: 'renewedAt',\n type: 'dateTime',\n options: { defaultToNow: true },\n },\n {\n name: 'createdAt',\n type: 'dateTime',\n options: { defaultToNow: true },\n },\n {\n name: 'updatedAt',\n type: 'dateTime',\n options: { defaultToNow: true, updatedAt: true },\n },\n ],\n primaryKeyFieldRefs: ['id'],\n uniqueConstraints: [\n {\n fields: [{ fieldRef: 'token' }],\n },\n ],\n relations: [\n {\n name: 'user',\n references: [{ localRef: 'userId', foreignRef: 'id' }],\n modelRef: LOCAL_AUTH_MODELS.user,\n foreignRelationName: 'sessions',\n onDelete: 'Cascade',\n onUpdate: 'Restrict',\n },\n ],\n },\n },\n };\n}\n","import type { WebConfigProps } from '@baseplate-dev/project-builder-lib';\nimport type React from 'react';\n\nimport {\n createAndApplyModelMergerResults,\n createModelMergerResults,\n doesModelMergerResultsHaveChanges,\n PluginUtils,\n} from '@baseplate-dev/project-builder-lib';\nimport {\n ModelMergerResultAlert,\n useBlockUnsavedChangesNavigate,\n useDefinitionSchema,\n useProjectDefinition,\n useResettableForm,\n} from '@baseplate-dev/project-builder-lib/web';\nimport {\n FormActionBar,\n MultiComboboxFieldController,\n SectionList,\n SectionListSection,\n SectionListSectionContent,\n SectionListSectionDescription,\n SectionListSectionHeader,\n SectionListSectionTitle,\n} from '@baseplate-dev/ui-components';\nimport { zodResolver } from '@hookform/resolvers/zod';\nimport { useMemo } from 'react';\n\nimport { getAuthPluginDefinition } from '#src/auth/utils/get-auth-plugin-definition.js';\nimport { AuthConfigTabs } from '#src/common/components/auth-config-tabs.js';\nimport { LOCAL_AUTH_MODELS } from '#src/local-auth/constants/model-names.js';\n\nimport type { LocalAuthPluginDefinitionInput } from '../schema/plugin-definition.js';\n\nimport { createAuthModels } from '../schema/models.js';\nimport { createLocalAuthPluginDefinitionSchema } from '../schema/plugin-definition.js';\n\nimport '#src/styles.css';\n\nexport function LocalAuthDefinitionEditor({\n definition: pluginMetadata,\n metadata,\n onSave,\n}: WebConfigProps): React.JSX.Element {\n const { definition, definitionContainer, saveDefinitionWithFeedback } =\n useProjectDefinition();\n\n const authPluginDefinitionSchema = useDefinitionSchema(\n createLocalAuthPluginDefinitionSchema,\n );\n const authDefinition = getAuthPluginDefinition(definition);\n const roles = authDefinition.roles\n .filter((role) => !role.builtIn)\n .map((role) => ({\n label: role.name,\n value: role.id,\n }));\n\n const defaultValues = useMemo(() => {\n if (pluginMetadata?.config) {\n return pluginMetadata.config as LocalAuthPluginDefinitionInput;\n }\n\n return {\n initialUserRoles: [],\n userAdminRoles: [],\n } satisfies LocalAuthPluginDefinitionInput;\n }, [pluginMetadata?.config]);\n\n const form = useResettableForm({\n resolver: zodResolver(authPluginDefinitionSchema),\n defaultValues,\n });\n const { control, reset, handleSubmit } = form;\n\n const pendingModelChanges = useMemo(() => {\n const desiredModels = createAuthModels(authDefinition);\n\n return createModelMergerResults(\n LOCAL_AUTH_MODELS,\n desiredModels,\n definitionContainer,\n );\n }, [definitionContainer, authDefinition]);\n\n const onSubmit = handleSubmit((data) =>\n saveDefinitionWithFeedback(\n (draftConfig) => {\n const updatedData = {\n ...data,\n };\n createAndApplyModelMergerResults(\n draftConfig,\n LOCAL_AUTH_MODELS,\n createAuthModels(authDefinition),\n definitionContainer,\n );\n PluginUtils.setPluginConfig(\n draftConfig,\n metadata,\n updatedData,\n definitionContainer,\n );\n },\n {\n successMessage: 'Successfully saved auth plugin!',\n onSuccess: () => {\n onSave();\n },\n },\n ),\n );\n\n useBlockUnsavedChangesNavigate({ control, reset, onSubmit });\n\n return (\n <div className=\"auth:relative auth:flex auth:h-full auth:flex-1 auth:flex-col auth:gap-4 auth:overflow-hidden\">\n <AuthConfigTabs />\n <div\n className=\"auth:mb-[--action-bar-height] auth:flex auth:flex-1 auth:overflow-y-auto\"\n style={\n {\n '--action-bar-height': '52px',\n } as React.CSSProperties\n }\n >\n <form onSubmit={onSubmit} className=\"auth:max-w-6xl auth:flex-1\">\n <div className=\"auth:pb-16\">\n <SectionList>\n <SectionListSection>\n <SectionListSectionHeader>\n <SectionListSectionTitle>\n Local Auth User Models\n </SectionListSectionTitle>\n <SectionListSectionDescription>\n The plugin will automatically configure the models it needs.\n </SectionListSectionDescription>\n </SectionListSectionHeader>\n <SectionListSectionContent className=\"auth:space-y-6\">\n <ModelMergerResultAlert\n pendingModelChanges={pendingModelChanges}\n />\n </SectionListSectionContent>\n </SectionListSection>\n <SectionListSection>\n <SectionListSectionHeader>\n <SectionListSectionTitle>\n Initial User Setup\n </SectionListSectionTitle>\n <SectionListSectionDescription>\n In order to access the admin panel, an initial user must be\n created. To make it easier, the plugin will automatically\n add a seed script to create the initial user provided a\n .seed.env exists with the INTIIAL_USER_EMAIL and\n INTIIAL_USER_PASSWORD variables.\n </SectionListSectionDescription>\n </SectionListSectionHeader>\n <SectionListSectionContent className=\"auth:space-y-6\">\n <MultiComboboxFieldController\n label=\"Initial User Roles\"\n name=\"initialUserRoles\"\n control={control}\n options={roles}\n description=\"The roles that will be assigned to the initial user.\"\n />\n </SectionListSectionContent>\n </SectionListSection>\n <SectionListSection>\n <SectionListSectionHeader>\n <SectionListSectionTitle>\n User Management Permissions\n </SectionListSectionTitle>\n <SectionListSectionDescription>\n Configure which roles can manage users and assign roles to\n other users in the admin interface.\n </SectionListSectionDescription>\n </SectionListSectionHeader>\n <SectionListSectionContent className=\"auth:space-y-6\">\n <MultiComboboxFieldController\n label=\"User Admin Roles\"\n name=\"userAdminRoles\"\n control={control}\n options={roles}\n description=\"Roles that can manage users and assign roles to other users.\"\n />\n </SectionListSectionContent>\n </SectionListSection>\n </SectionList>\n </div>\n\n <FormActionBar\n form={form}\n allowSaveWithoutDirty={\n !pluginMetadata ||\n doesModelMergerResultsHaveChanges(pendingModelChanges)\n }\n />\n </form>\n </div>\n </div>\n );\n}\n","import {\n createPlatformPluginExport,\n webConfigSpec,\n} from '@baseplate-dev/project-builder-lib';\n\nimport { LocalAuthDefinitionEditor } from './components/local-auth-definition-editor.js';\n\nimport '../../styles.css';\n\nexport default createPlatformPluginExport({\n dependencies: {\n webConfig: webConfigSpec,\n },\n exports: {},\n initialize: ({ webConfig }, { pluginKey }) => {\n webConfig.registerWebConfigComponent(pluginKey, LocalAuthDefinitionEditor);\n return {};\n },\n});\n"],"names":["zodResolver","jsxs","jsx"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"__federation_expose_local-authCoreWeb-Czp0GaY1.js","sources":["../../../src/local-auth/core/schema/models.ts","../../../src/local-auth/core/components/local-auth-definition-editor.tsx","../../../src/local-auth/core/web.ts"],"sourcesContent":["import type { ModelMergerModelInput } from '@baseplate-dev/project-builder-lib';\n\nimport type { AuthPluginDefinition } from '#src/auth/core/schema/plugin-definition.js';\n\nimport { LOCAL_AUTH_MODELS } from '#src/local-auth/constants/model-names.js';\n\nexport function createAuthModels({\n authFeatureRef,\n}: AuthPluginDefinition): Record<\n keyof typeof LOCAL_AUTH_MODELS,\n ModelMergerModelInput\n> {\n return {\n user: {\n name: LOCAL_AUTH_MODELS.user,\n featureRef: authFeatureRef,\n model: {\n fields: [\n {\n name: 'id',\n type: 'uuid',\n options: { genUuid: true },\n },\n {\n name: 'name',\n type: 'string',\n isOptional: true,\n },\n {\n name: 'email',\n type: 'string',\n },\n {\n name: 'emailVerified',\n type: 'boolean',\n options: { default: 'false' },\n },\n {\n name: 'updatedAt',\n type: 'dateTime',\n options: { defaultToNow: true, updatedAt: true },\n },\n {\n name: 'createdAt',\n type: 'dateTime',\n options: { defaultToNow: true },\n },\n ],\n primaryKeyFieldRefs: ['id'],\n uniqueConstraints: [\n {\n fields: [{ fieldRef: 'email' }],\n },\n ],\n },\n graphql: {\n objectType: {\n enabled: true,\n fields: ['id', 'email'],\n },\n },\n },\n userAccount: {\n name: LOCAL_AUTH_MODELS.userAccount,\n featureRef: authFeatureRef,\n model: {\n fields: [\n {\n name: 'id',\n type: 'uuid',\n options: { genUuid: true },\n },\n {\n name: 'userId',\n type: 'uuid',\n },\n {\n name: 'accountId',\n type: 'string',\n },\n {\n name: 'providerId',\n type: 'string',\n },\n {\n name: 'password',\n type: 'string',\n isOptional: true,\n },\n {\n name: 'createdAt',\n type: 'dateTime',\n options: { defaultToNow: true },\n },\n {\n name: 'updatedAt',\n type: 'dateTime',\n options: { defaultToNow: true, updatedAt: true },\n },\n ],\n primaryKeyFieldRefs: ['id'],\n uniqueConstraints: [\n {\n fields: [{ fieldRef: 'accountId' }, { fieldRef: 'providerId' }],\n },\n ],\n relations: [\n {\n name: 'user',\n references: [{ localRef: 'userId', foreignRef: 'id' }],\n modelRef: LOCAL_AUTH_MODELS.user,\n foreignRelationName: 'accounts',\n onDelete: 'Cascade',\n onUpdate: 'Restrict',\n },\n ],\n },\n },\n userRole: {\n name: LOCAL_AUTH_MODELS.userRole,\n featureRef: authFeatureRef,\n model: {\n fields: [\n {\n name: 'userId',\n type: 'uuid',\n },\n {\n name: 'role',\n type: 'string',\n },\n {\n name: 'updatedAt',\n type: 'dateTime',\n options: { defaultToNow: true, updatedAt: true },\n },\n {\n name: 'createdAt',\n type: 'dateTime',\n options: { defaultToNow: true },\n },\n ],\n primaryKeyFieldRefs: ['userId', 'role'],\n relations: [\n {\n name: 'user',\n references: [{ localRef: 'userId', foreignRef: 'id' }],\n modelRef: LOCAL_AUTH_MODELS.user,\n foreignRelationName: 'roles',\n onDelete: 'Cascade',\n onUpdate: 'Restrict',\n },\n ],\n },\n },\n userSession: {\n name: LOCAL_AUTH_MODELS.userSession,\n featureRef: authFeatureRef,\n model: {\n fields: [\n {\n name: 'id',\n type: 'uuid',\n options: { genUuid: true },\n },\n {\n name: 'userId',\n type: 'uuid',\n },\n {\n name: 'token',\n type: 'string',\n },\n {\n name: 'expiresAt',\n type: 'dateTime',\n },\n {\n name: 'renewedAt',\n type: 'dateTime',\n options: { defaultToNow: true },\n },\n {\n name: 'createdAt',\n type: 'dateTime',\n options: { defaultToNow: true },\n },\n {\n name: 'updatedAt',\n type: 'dateTime',\n options: { defaultToNow: true, updatedAt: true },\n },\n ],\n primaryKeyFieldRefs: ['id'],\n uniqueConstraints: [\n {\n fields: [{ fieldRef: 'token' }],\n },\n ],\n relations: [\n {\n name: 'user',\n references: [{ localRef: 'userId', foreignRef: 'id' }],\n modelRef: LOCAL_AUTH_MODELS.user,\n foreignRelationName: 'sessions',\n onDelete: 'Cascade',\n onUpdate: 'Restrict',\n },\n ],\n },\n },\n };\n}\n","import type { WebConfigProps } from '@baseplate-dev/project-builder-lib';\nimport type React from 'react';\n\nimport {\n createAndApplyModelMergerResults,\n createModelMergerResults,\n doesModelMergerResultsHaveChanges,\n PluginUtils,\n} from '@baseplate-dev/project-builder-lib';\nimport {\n ModelMergerResultAlert,\n useBlockUnsavedChangesNavigate,\n useDefinitionSchema,\n useProjectDefinition,\n useResettableForm,\n} from '@baseplate-dev/project-builder-lib/web';\nimport {\n FormActionBar,\n MultiComboboxFieldController,\n SectionList,\n SectionListSection,\n SectionListSectionContent,\n SectionListSectionDescription,\n SectionListSectionHeader,\n SectionListSectionTitle,\n} from '@baseplate-dev/ui-components';\nimport { zodResolver } from '@hookform/resolvers/zod';\nimport { useMemo } from 'react';\n\nimport { getAuthPluginDefinition } from '#src/auth/utils/get-auth-plugin-definition.js';\nimport { AuthConfigTabs } from '#src/common/components/auth-config-tabs.js';\nimport { LOCAL_AUTH_MODELS } from '#src/local-auth/constants/model-names.js';\n\nimport type { LocalAuthPluginDefinitionInput } from '../schema/plugin-definition.js';\n\nimport { createAuthModels } from '../schema/models.js';\nimport { createLocalAuthPluginDefinitionSchema } from '../schema/plugin-definition.js';\n\nimport '#src/styles.css';\n\nexport function LocalAuthDefinitionEditor({\n definition: pluginMetadata,\n metadata,\n onSave,\n}: WebConfigProps): React.JSX.Element {\n const { definition, definitionContainer, saveDefinitionWithFeedback } =\n useProjectDefinition();\n\n const authPluginDefinitionSchema = useDefinitionSchema(\n createLocalAuthPluginDefinitionSchema,\n );\n const authDefinition = getAuthPluginDefinition(definition);\n const roles = authDefinition.roles\n .filter((role) => !role.builtIn)\n .map((role) => ({\n label: role.name,\n value: role.id,\n }));\n\n const defaultValues = useMemo(() => {\n if (pluginMetadata?.config) {\n return pluginMetadata.config as LocalAuthPluginDefinitionInput;\n }\n\n return {\n initialUserRoles: [],\n userAdminRoles: [],\n } satisfies LocalAuthPluginDefinitionInput;\n }, [pluginMetadata?.config]);\n\n const form = useResettableForm({\n resolver: zodResolver(authPluginDefinitionSchema),\n defaultValues,\n });\n const { control, reset, handleSubmit } = form;\n\n const pendingModelChanges = useMemo(() => {\n const desiredModels = createAuthModels(authDefinition);\n\n return createModelMergerResults(\n LOCAL_AUTH_MODELS,\n desiredModels,\n definitionContainer,\n );\n }, [definitionContainer, authDefinition]);\n\n const onSubmit = handleSubmit((data) =>\n saveDefinitionWithFeedback(\n (draftConfig) => {\n const updatedData = {\n ...data,\n };\n createAndApplyModelMergerResults(\n draftConfig,\n LOCAL_AUTH_MODELS,\n createAuthModels(authDefinition),\n definitionContainer,\n );\n PluginUtils.setPluginConfig(\n draftConfig,\n metadata,\n updatedData,\n definitionContainer,\n );\n },\n {\n successMessage: 'Successfully saved auth plugin!',\n onSuccess: () => {\n onSave();\n },\n },\n ),\n );\n\n useBlockUnsavedChangesNavigate({ control, reset, onSubmit });\n\n return (\n <div className=\"auth:relative auth:flex auth:h-full auth:flex-1 auth:flex-col auth:gap-4 auth:overflow-hidden\">\n <AuthConfigTabs />\n <div\n className=\"auth:mb-[--action-bar-height] auth:flex auth:flex-1 auth:overflow-y-auto\"\n style={\n {\n '--action-bar-height': '52px',\n } as React.CSSProperties\n }\n >\n <form onSubmit={onSubmit} className=\"auth:max-w-6xl auth:flex-1\">\n <div className=\"auth:pb-16\">\n <SectionList>\n <SectionListSection>\n <SectionListSectionHeader>\n <SectionListSectionTitle>\n Local Auth User Models\n </SectionListSectionTitle>\n <SectionListSectionDescription>\n The plugin will automatically configure the models it needs.\n </SectionListSectionDescription>\n </SectionListSectionHeader>\n <SectionListSectionContent className=\"auth:space-y-6\">\n <ModelMergerResultAlert\n pendingModelChanges={pendingModelChanges}\n />\n </SectionListSectionContent>\n </SectionListSection>\n <SectionListSection>\n <SectionListSectionHeader>\n <SectionListSectionTitle>\n Initial User Setup\n </SectionListSectionTitle>\n <SectionListSectionDescription>\n In order to access the admin panel, an initial user must be\n created. To make it easier, the plugin will automatically\n add a seed script to create the initial user provided a\n .seed.env exists with the INTIIAL_USER_EMAIL and\n INTIIAL_USER_PASSWORD variables.\n </SectionListSectionDescription>\n </SectionListSectionHeader>\n <SectionListSectionContent className=\"auth:space-y-6\">\n <MultiComboboxFieldController\n label=\"Initial User Roles\"\n name=\"initialUserRoles\"\n control={control}\n options={roles}\n description=\"The roles that will be assigned to the initial user.\"\n />\n </SectionListSectionContent>\n </SectionListSection>\n <SectionListSection>\n <SectionListSectionHeader>\n <SectionListSectionTitle>\n User Management Permissions\n </SectionListSectionTitle>\n <SectionListSectionDescription>\n Configure which roles can manage users and assign roles to\n other users in the admin interface.\n </SectionListSectionDescription>\n </SectionListSectionHeader>\n <SectionListSectionContent className=\"auth:space-y-6\">\n <MultiComboboxFieldController\n label=\"User Admin Roles\"\n name=\"userAdminRoles\"\n control={control}\n options={roles}\n description=\"Roles that can manage users and assign roles to other users.\"\n />\n </SectionListSectionContent>\n </SectionListSection>\n </SectionList>\n </div>\n\n <FormActionBar\n form={form}\n allowSaveWithoutDirty={\n !pluginMetadata ||\n doesModelMergerResultsHaveChanges(pendingModelChanges)\n }\n />\n </form>\n </div>\n </div>\n );\n}\n","import {\n createPluginModule,\n webConfigSpec,\n} from '@baseplate-dev/project-builder-lib';\n\nimport { LocalAuthDefinitionEditor } from './components/local-auth-definition-editor.js';\n\nimport '../../styles.css';\n\nexport default createPluginModule({\n name: 'web',\n dependencies: {\n webConfig: webConfigSpec,\n },\n initialize: ({ webConfig }, { pluginKey }) => {\n webConfig.components.set(pluginKey, LocalAuthDefinitionEditor);\n },\n});\n"],"names":["zodResolver","jsxs","jsx"],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { importShared } from './__federation_fn_import-DsXcpNlB.js';
|
|
2
|
+
import { c as createPlaceholderAuthPluginDefinitionSchema, P as PLACEHOLDER_AUTH_MODELS } from './plugin-definition-DA9rJBcS.js';
|
|
3
|
+
|
|
4
|
+
const {authModelsSpec,createPluginModule,pluginConfigSpec} = await importShared('@baseplate-dev/project-builder-lib');
|
|
5
|
+
const common = createPluginModule({
|
|
6
|
+
name: "common",
|
|
7
|
+
dependencies: {
|
|
8
|
+
pluginConfig: pluginConfigSpec,
|
|
9
|
+
authModels: authModelsSpec
|
|
10
|
+
},
|
|
11
|
+
initialize: ({ pluginConfig, authModels }, { pluginKey }) => {
|
|
12
|
+
pluginConfig.schemas.set(
|
|
13
|
+
pluginKey,
|
|
14
|
+
createPlaceholderAuthPluginDefinitionSchema
|
|
15
|
+
);
|
|
16
|
+
authModels.getAuthModels.set(() => ({
|
|
17
|
+
user: PLACEHOLDER_AUTH_MODELS.user
|
|
18
|
+
}));
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
export { common as default };
|
|
23
|
+
//# sourceMappingURL=__federation_expose_placeholder-authCoreCommon-CFDDdOMo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"__federation_expose_placeholder-authCoreCommon-CFDDdOMo.js","sources":["../../../src/placeholder-auth/core/common.ts"],"sourcesContent":["import {\n authModelsSpec,\n createPluginModule,\n pluginConfigSpec,\n} from '@baseplate-dev/project-builder-lib';\n\nimport { PLACEHOLDER_AUTH_MODELS } from '#src/placeholder-auth/constants/model-names.js';\n\nimport { createPlaceholderAuthPluginDefinitionSchema } from './schema/plugin-definition.js';\n\nexport default createPluginModule({\n name: 'common',\n dependencies: {\n pluginConfig: pluginConfigSpec,\n authModels: authModelsSpec,\n },\n initialize: ({ pluginConfig, authModels }, { pluginKey }) => {\n pluginConfig.schemas.set(\n pluginKey,\n createPlaceholderAuthPluginDefinitionSchema,\n );\n authModels.getAuthModels.set(() => ({\n user: PLACEHOLDER_AUTH_MODELS.user,\n }));\n },\n});\n"],"names":[],"mappings":";;;AAAA,MAAA,CAAA,cAAA,CAAA,kBAAA,CAAA,gBAAA,CAAA,GAAA,MAAA,YAAA,CAAA,oCAAA,CAAA;AAUA,eAAe,kBAAA,CAAmB;AAAA,EAChC,IAAA,EAAM,QAAA;AAAA,EACN,YAAA,EAAc;AAAA,IACZ,YAAA,EAAc,gBAAA;AAAA,IACd,UAAA,EAAY;AAAA,GACd;AAAA,EACA,UAAA,EAAY,CAAC,EAAE,YAAA,EAAc,YAAW,EAAG,EAAE,WAAU,KAAM;AAC3D,IAAA,YAAA,CAAa,OAAA,CAAQ,GAAA;AAAA,MACnB,SAAA;AAAA,MACA;AAAA,KACF;AACA,IAAA,UAAA,CAAW,aAAA,CAAc,IAAI,OAAO;AAAA,MAClC,MAAM,uBAAA,CAAwB;AAAA,KAChC,CAAE,CAAA;AAAA,EACJ;AACF,CAAC,CAAA;;;;"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { importShared } from './__federation_fn_import-
|
|
1
|
+
import { importShared } from './__federation_fn_import-DsXcpNlB.js';
|
|
2
2
|
import { j as jsxRuntimeExports } from './jsx-runtime-XI9uIe3W.js';
|
|
3
|
-
import { a, A as AuthConfigTabs } from './styles-
|
|
4
|
-
import { g as getAuthPluginDefinition } from './get-auth-plugin-definition-
|
|
5
|
-
import { P as PLACEHOLDER_AUTH_MODELS, c as createPlaceholderAuthPluginDefinitionSchema } from './plugin-definition-
|
|
3
|
+
import { a, A as AuthConfigTabs } from './styles-CEm5K1iU.js';
|
|
4
|
+
import { g as getAuthPluginDefinition } from './get-auth-plugin-definition-BV2O8wTa.js';
|
|
5
|
+
import { P as PLACEHOLDER_AUTH_MODELS, c as createPlaceholderAuthPluginDefinitionSchema } from './plugin-definition-DA9rJBcS.js';
|
|
6
6
|
|
|
7
7
|
function createAuthModels({
|
|
8
8
|
authFeatureRef
|
|
@@ -139,20 +139,16 @@ function PlaceholderAuthDefinitionEditor({
|
|
|
139
139
|
] });
|
|
140
140
|
}
|
|
141
141
|
|
|
142
|
-
const {
|
|
143
|
-
const web =
|
|
142
|
+
const {createPluginModule,webConfigSpec} = await importShared('@baseplate-dev/project-builder-lib');
|
|
143
|
+
const web = createPluginModule({
|
|
144
|
+
name: "web",
|
|
144
145
|
dependencies: {
|
|
145
146
|
webConfig: webConfigSpec
|
|
146
147
|
},
|
|
147
|
-
exports: {},
|
|
148
148
|
initialize: ({ webConfig }, { pluginKey }) => {
|
|
149
|
-
webConfig.
|
|
150
|
-
pluginKey,
|
|
151
|
-
PlaceholderAuthDefinitionEditor
|
|
152
|
-
);
|
|
153
|
-
return {};
|
|
149
|
+
webConfig.components.set(pluginKey, PlaceholderAuthDefinitionEditor);
|
|
154
150
|
}
|
|
155
151
|
});
|
|
156
152
|
|
|
157
153
|
export { web as default };
|
|
158
|
-
//# sourceMappingURL=__federation_expose_placeholder-authCoreWeb-
|
|
154
|
+
//# sourceMappingURL=__federation_expose_placeholder-authCoreWeb-Bcn1_oDP.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"__federation_expose_placeholder-authCoreWeb-CT8JKYLB.js","sources":["../../../src/placeholder-auth/core/schema/models.ts","../../../src/placeholder-auth/core/components/placeholder-auth-definition-editor.tsx","../../../src/placeholder-auth/core/web.ts"],"sourcesContent":["import type { ModelMergerModelInput } from '@baseplate-dev/project-builder-lib';\n\nimport type { AuthPluginDefinition } from '#src/auth/core/schema/plugin-definition.js';\n\nimport { PLACEHOLDER_AUTH_MODELS } from '#src/placeholder-auth/constants/model-names.js';\n\nexport function createAuthModels({\n authFeatureRef,\n}: AuthPluginDefinition): Record<\n keyof typeof PLACEHOLDER_AUTH_MODELS,\n ModelMergerModelInput\n> {\n return {\n user: {\n name: PLACEHOLDER_AUTH_MODELS.user,\n featureRef: authFeatureRef,\n model: {\n fields: [\n {\n name: 'id',\n type: 'uuid',\n options: { genUuid: true },\n },\n {\n name: 'email',\n type: 'string',\n isOptional: true,\n },\n ],\n primaryKeyFieldRefs: ['id'],\n uniqueConstraints: [\n {\n fields: [{ fieldRef: 'email' }],\n },\n ],\n },\n graphql: {\n objectType: {\n enabled: true,\n fields: ['id', 'email'],\n },\n },\n },\n };\n}\n","import type { WebConfigProps } from '@baseplate-dev/project-builder-lib';\nimport type React from 'react';\n\nimport {\n createAndApplyModelMergerResults,\n createModelMergerResults,\n doesModelMergerResultsHaveChanges,\n PluginUtils,\n} from '@baseplate-dev/project-builder-lib';\nimport {\n ModelMergerResultAlert,\n useBlockUnsavedChangesNavigate,\n useDefinitionSchema,\n useProjectDefinition,\n useResettableForm,\n} from '@baseplate-dev/project-builder-lib/web';\nimport {\n FormActionBar,\n SectionList,\n SectionListSection,\n SectionListSectionContent,\n SectionListSectionDescription,\n SectionListSectionHeader,\n SectionListSectionTitle,\n} from '@baseplate-dev/ui-components';\nimport { zodResolver } from '@hookform/resolvers/zod';\nimport { useMemo } from 'react';\n\nimport { getAuthPluginDefinition } from '#src/auth/index.js';\nimport { AuthConfigTabs } from '#src/common/components/auth-config-tabs.js';\nimport { PLACEHOLDER_AUTH_MODELS } from '#src/placeholder-auth/constants/model-names.js';\n\nimport type { PlaceholderAuthPluginDefinitionInput } from '../schema/plugin-definition.js';\n\nimport { createAuthModels } from '../schema/models.js';\nimport { createPlaceholderAuthPluginDefinitionSchema } from '../schema/plugin-definition.js';\n\nimport '#src/styles.css';\n\nexport function PlaceholderAuthDefinitionEditor({\n definition: pluginMetadata,\n metadata,\n onSave,\n}: WebConfigProps): React.JSX.Element {\n const { definition, definitionContainer, saveDefinitionWithFeedback } =\n useProjectDefinition();\n\n const authDefinition = getAuthPluginDefinition(definition);\n\n const authPluginDefinitionSchema = useDefinitionSchema(\n createPlaceholderAuthPluginDefinitionSchema,\n );\n\n const defaultValues = useMemo(() => {\n if (pluginMetadata?.config) {\n return pluginMetadata.config as PlaceholderAuthPluginDefinitionInput;\n }\n\n return {} satisfies PlaceholderAuthPluginDefinitionInput;\n }, [pluginMetadata?.config]);\n\n const form = useResettableForm({\n resolver: zodResolver(authPluginDefinitionSchema),\n defaultValues,\n });\n const { control, reset, handleSubmit } = form;\n\n const pendingModelChanges = useMemo(() => {\n const desiredModels = createAuthModels(authDefinition);\n\n return createModelMergerResults(\n PLACEHOLDER_AUTH_MODELS,\n desiredModels,\n definitionContainer,\n );\n }, [definitionContainer, authDefinition]);\n\n const onSubmit = handleSubmit((data) =>\n saveDefinitionWithFeedback(\n (draftConfig) => {\n const updatedData = {\n ...data,\n };\n createAndApplyModelMergerResults(\n draftConfig,\n PLACEHOLDER_AUTH_MODELS,\n createAuthModels(authDefinition),\n definitionContainer,\n );\n PluginUtils.setPluginConfig(\n draftConfig,\n metadata,\n updatedData,\n definitionContainer,\n );\n },\n {\n successMessage: 'Successfully saved placeholder auth plugin!',\n onSuccess: () => {\n onSave();\n },\n },\n ),\n );\n\n useBlockUnsavedChangesNavigate({ control, reset, onSubmit });\n\n return (\n <div className=\"auth:relative auth:flex auth:h-full auth:flex-1 auth:flex-col auth:gap-4 auth:overflow-hidden\">\n <AuthConfigTabs />\n <div\n className=\"auth:mb-[--action-bar-height] auth:flex auth:flex-1 auth:overflow-y-auto\"\n style={\n {\n '--action-bar-height': '52px',\n } as React.CSSProperties\n }\n >\n <form onSubmit={onSubmit} className=\"auth:max-w-6xl auth:flex-1\">\n <div className=\"auth:pb-16\">\n <SectionList>\n <SectionListSection>\n <SectionListSectionHeader>\n <SectionListSectionTitle>\n Placeholder Auth Configuration\n </SectionListSectionTitle>\n <SectionListSectionDescription>\n The plugin will automatically configure the models it needs.\n </SectionListSectionDescription>\n </SectionListSectionHeader>\n <SectionListSectionContent className=\"auth:space-y-6\">\n <ModelMergerResultAlert\n pendingModelChanges={pendingModelChanges}\n />\n </SectionListSectionContent>\n </SectionListSection>\n </SectionList>\n </div>\n\n <FormActionBar\n form={form}\n allowSaveWithoutDirty={\n !pluginMetadata ||\n doesModelMergerResultsHaveChanges(pendingModelChanges)\n }\n />\n </form>\n </div>\n </div>\n );\n}\n","import {\n createPlatformPluginExport,\n webConfigSpec,\n} from '@baseplate-dev/project-builder-lib';\n\nimport { PlaceholderAuthDefinitionEditor } from './components/placeholder-auth-definition-editor.js';\n\nimport '../../styles.css';\n\nexport default createPlatformPluginExport({\n dependencies: {\n webConfig: webConfigSpec,\n },\n exports: {},\n initialize: ({ webConfig }, { pluginKey }) => {\n webConfig.registerWebConfigComponent(\n pluginKey,\n PlaceholderAuthDefinitionEditor,\n );\n return {};\n },\n});\n"],"names":["zodResolver","jsxs","jsx"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"__federation_expose_placeholder-authCoreWeb-Bcn1_oDP.js","sources":["../../../src/placeholder-auth/core/schema/models.ts","../../../src/placeholder-auth/core/components/placeholder-auth-definition-editor.tsx","../../../src/placeholder-auth/core/web.ts"],"sourcesContent":["import type { ModelMergerModelInput } from '@baseplate-dev/project-builder-lib';\n\nimport type { AuthPluginDefinition } from '#src/auth/core/schema/plugin-definition.js';\n\nimport { PLACEHOLDER_AUTH_MODELS } from '#src/placeholder-auth/constants/model-names.js';\n\nexport function createAuthModels({\n authFeatureRef,\n}: AuthPluginDefinition): Record<\n keyof typeof PLACEHOLDER_AUTH_MODELS,\n ModelMergerModelInput\n> {\n return {\n user: {\n name: PLACEHOLDER_AUTH_MODELS.user,\n featureRef: authFeatureRef,\n model: {\n fields: [\n {\n name: 'id',\n type: 'uuid',\n options: { genUuid: true },\n },\n {\n name: 'email',\n type: 'string',\n isOptional: true,\n },\n ],\n primaryKeyFieldRefs: ['id'],\n uniqueConstraints: [\n {\n fields: [{ fieldRef: 'email' }],\n },\n ],\n },\n graphql: {\n objectType: {\n enabled: true,\n fields: ['id', 'email'],\n },\n },\n },\n };\n}\n","import type { WebConfigProps } from '@baseplate-dev/project-builder-lib';\nimport type React from 'react';\n\nimport {\n createAndApplyModelMergerResults,\n createModelMergerResults,\n doesModelMergerResultsHaveChanges,\n PluginUtils,\n} from '@baseplate-dev/project-builder-lib';\nimport {\n ModelMergerResultAlert,\n useBlockUnsavedChangesNavigate,\n useDefinitionSchema,\n useProjectDefinition,\n useResettableForm,\n} from '@baseplate-dev/project-builder-lib/web';\nimport {\n FormActionBar,\n SectionList,\n SectionListSection,\n SectionListSectionContent,\n SectionListSectionDescription,\n SectionListSectionHeader,\n SectionListSectionTitle,\n} from '@baseplate-dev/ui-components';\nimport { zodResolver } from '@hookform/resolvers/zod';\nimport { useMemo } from 'react';\n\nimport { getAuthPluginDefinition } from '#src/auth/index.js';\nimport { AuthConfigTabs } from '#src/common/components/auth-config-tabs.js';\nimport { PLACEHOLDER_AUTH_MODELS } from '#src/placeholder-auth/constants/model-names.js';\n\nimport type { PlaceholderAuthPluginDefinitionInput } from '../schema/plugin-definition.js';\n\nimport { createAuthModels } from '../schema/models.js';\nimport { createPlaceholderAuthPluginDefinitionSchema } from '../schema/plugin-definition.js';\n\nimport '#src/styles.css';\n\nexport function PlaceholderAuthDefinitionEditor({\n definition: pluginMetadata,\n metadata,\n onSave,\n}: WebConfigProps): React.JSX.Element {\n const { definition, definitionContainer, saveDefinitionWithFeedback } =\n useProjectDefinition();\n\n const authDefinition = getAuthPluginDefinition(definition);\n\n const authPluginDefinitionSchema = useDefinitionSchema(\n createPlaceholderAuthPluginDefinitionSchema,\n );\n\n const defaultValues = useMemo(() => {\n if (pluginMetadata?.config) {\n return pluginMetadata.config as PlaceholderAuthPluginDefinitionInput;\n }\n\n return {} satisfies PlaceholderAuthPluginDefinitionInput;\n }, [pluginMetadata?.config]);\n\n const form = useResettableForm({\n resolver: zodResolver(authPluginDefinitionSchema),\n defaultValues,\n });\n const { control, reset, handleSubmit } = form;\n\n const pendingModelChanges = useMemo(() => {\n const desiredModels = createAuthModels(authDefinition);\n\n return createModelMergerResults(\n PLACEHOLDER_AUTH_MODELS,\n desiredModels,\n definitionContainer,\n );\n }, [definitionContainer, authDefinition]);\n\n const onSubmit = handleSubmit((data) =>\n saveDefinitionWithFeedback(\n (draftConfig) => {\n const updatedData = {\n ...data,\n };\n createAndApplyModelMergerResults(\n draftConfig,\n PLACEHOLDER_AUTH_MODELS,\n createAuthModels(authDefinition),\n definitionContainer,\n );\n PluginUtils.setPluginConfig(\n draftConfig,\n metadata,\n updatedData,\n definitionContainer,\n );\n },\n {\n successMessage: 'Successfully saved placeholder auth plugin!',\n onSuccess: () => {\n onSave();\n },\n },\n ),\n );\n\n useBlockUnsavedChangesNavigate({ control, reset, onSubmit });\n\n return (\n <div className=\"auth:relative auth:flex auth:h-full auth:flex-1 auth:flex-col auth:gap-4 auth:overflow-hidden\">\n <AuthConfigTabs />\n <div\n className=\"auth:mb-[--action-bar-height] auth:flex auth:flex-1 auth:overflow-y-auto\"\n style={\n {\n '--action-bar-height': '52px',\n } as React.CSSProperties\n }\n >\n <form onSubmit={onSubmit} className=\"auth:max-w-6xl auth:flex-1\">\n <div className=\"auth:pb-16\">\n <SectionList>\n <SectionListSection>\n <SectionListSectionHeader>\n <SectionListSectionTitle>\n Placeholder Auth Configuration\n </SectionListSectionTitle>\n <SectionListSectionDescription>\n The plugin will automatically configure the models it needs.\n </SectionListSectionDescription>\n </SectionListSectionHeader>\n <SectionListSectionContent className=\"auth:space-y-6\">\n <ModelMergerResultAlert\n pendingModelChanges={pendingModelChanges}\n />\n </SectionListSectionContent>\n </SectionListSection>\n </SectionList>\n </div>\n\n <FormActionBar\n form={form}\n allowSaveWithoutDirty={\n !pluginMetadata ||\n doesModelMergerResultsHaveChanges(pendingModelChanges)\n }\n />\n </form>\n </div>\n </div>\n );\n}\n","import {\n createPluginModule,\n webConfigSpec,\n} from '@baseplate-dev/project-builder-lib';\n\nimport { PlaceholderAuthDefinitionEditor } from './components/placeholder-auth-definition-editor.js';\n\nimport '../../styles.css';\n\nexport default createPluginModule({\n name: 'web',\n dependencies: {\n webConfig: webConfigSpec,\n },\n initialize: ({ webConfig }, { pluginKey }) => {\n webConfig.components.set(pluginKey, PlaceholderAuthDefinitionEditor);\n },\n});\n"],"names":["zodResolver","jsxs","jsx"],"mappings":"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"}
|
package/dist/web/assets/{__federation_fn_import-C_QCk5FX.js → __federation_fn_import-DsXcpNlB.js}
RENAMED
|
@@ -356,7 +356,7 @@ function satisfy(version, range) {
|
|
|
356
356
|
const currentImports = {};
|
|
357
357
|
|
|
358
358
|
// eslint-disable-next-line no-undef
|
|
359
|
-
const moduleMap = {'react':{get:()=>()=>__federation_import(new URL('__federation_shared_react-CJ2OfFKA.js', import.meta.url).href),import:true},'react-dom':{get:()=>()=>__federation_import(new URL('__federation_shared_react-dom-B4vgf5Ln.js', import.meta.url).href),import:true},'zod':{get:()=>()=>__federation_import(new URL('__federation_shared_zod-B6wbpZ4f.js', import.meta.url).href),import:true},'@baseplate-dev/project-builder-lib':{get:()=>()=>__federation_import(new URL('__federation_shared_@baseplate-dev/project-builder-lib-
|
|
359
|
+
const moduleMap = {'react':{get:()=>()=>__federation_import(new URL('__federation_shared_react-CJ2OfFKA.js', import.meta.url).href),import:true},'react-dom':{get:()=>()=>__federation_import(new URL('__federation_shared_react-dom-B4vgf5Ln.js', import.meta.url).href),import:true},'zod':{get:()=>()=>__federation_import(new URL('__federation_shared_zod-B6wbpZ4f.js', import.meta.url).href),import:true},'@baseplate-dev/project-builder-lib':{get:()=>()=>__federation_import(new URL('__federation_shared_@baseplate-dev/project-builder-lib-CmgMfkI5.js', import.meta.url).href),import:true},'@baseplate-dev/project-builder-lib/web':{get:()=>()=>__federation_import(new URL('__federation_shared_@baseplate-dev/project-builder-lib/web-zqe3PPcn.js', import.meta.url).href),import:true},'@baseplate-dev/utils':{get:()=>()=>__federation_import(new URL('__federation_shared_@baseplate-dev/utils-BO5VHrCf.js', import.meta.url).href),import:true},'@baseplate-dev/ui-components':{get:()=>()=>__federation_import(new URL('__federation_shared_@baseplate-dev/ui-components-D1Dayhn9.js', import.meta.url).href),import:true},'@tanstack/react-router':{get:()=>()=>__federation_import(new URL('__federation_shared_@tanstack/react-router-CNzDweD5.js', import.meta.url).href),import:true}};
|
|
360
360
|
const moduleCache = Object.create(null);
|
|
361
361
|
async function importShared(name, shareScope = 'default') {
|
|
362
362
|
return moduleCache[name]
|
|
@@ -418,4 +418,4 @@ function flattenModule(module, name) {
|
|
|
418
418
|
}
|
|
419
419
|
|
|
420
420
|
export { importShared, getSharedFromLocal as importSharedLocal, getSharedFromRuntime as importSharedRuntime };
|
|
421
|
-
//# sourceMappingURL=__federation_fn_import-
|
|
421
|
+
//# sourceMappingURL=__federation_fn_import-DsXcpNlB.js.map
|