@maka/maka-cli 5.123.1 → 5.125.0
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/README.md +64 -64
- package/bundle/typescript/package.json +120 -120
- package/bundle/typescript/src/README.md +64 -64
- package/bundle/typescript/src/commands/aws/aws.command.js +2 -2
- package/bundle/typescript/src/commands/aws/ci.sub.cmd.js +5 -5
- package/bundle/typescript/src/commands/aws/ckp.sub.cmd.js +12 -12
- package/bundle/typescript/src/commands/aws/csg.sub.cmd.js +3 -3
- package/bundle/typescript/src/commands/aws/di.sub.cmd.js +8 -8
- package/bundle/typescript/src/commands/aws/rkp.sub.cmd.js +5 -5
- package/bundle/typescript/src/commands/aws/sth.sub.cmd.js +3 -3
- package/bundle/typescript/src/commands/aws/ti.sub.cmd.js +5 -5
- package/bundle/typescript/src/commands/build/build.js +16 -16
- package/bundle/typescript/src/commands/build/docker.sub.cmd.js +9 -9
- package/bundle/typescript/src/commands/create.js +36 -36
- package/bundle/typescript/src/commands/debug.js +4 -4
- package/bundle/typescript/src/commands/deploy/deploy.command.js +2 -2
- package/bundle/typescript/src/commands/deploy/galaxy.sub.cmd.js +2 -2
- package/bundle/typescript/src/commands/deploy/github.sub.cmd.js +8 -8
- package/bundle/typescript/src/commands/deploy/ubuntu.sub.cmd.js +2 -2
- package/bundle/typescript/src/commands/env/env.command.js +8 -8
- package/bundle/typescript/src/commands/env/set.sub.cmd.js +11 -11
- package/bundle/typescript/src/commands/game/sideQuest/adept-powers.d.ts +0 -8
- package/bundle/typescript/src/commands/game/sideQuest/adept-powers.js +6 -50
- package/bundle/typescript/src/commands/game/sideQuest/adept-powers.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/archetypes.js +3 -3
- package/bundle/typescript/src/commands/game/sideQuest/archetypes.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/augmentations.d.ts +0 -4
- package/bundle/typescript/src/commands/game/sideQuest/augmentations.js +0 -1342
- package/bundle/typescript/src/commands/game/sideQuest/augmentations.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/cast.d.ts +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/cast.js +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/catalog.js +5 -6
- package/bundle/typescript/src/commands/game/sideQuest/commands/catalog.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/companions.js +13 -5
- package/bundle/typescript/src/commands/game/sideQuest/commands/companions.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/drone.js +5 -2
- package/bundle/typescript/src/commands/game/sideQuest/commands/drone.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/equipment.js +2 -2
- package/bundle/typescript/src/commands/game/sideQuest/commands/equipment.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/go.js +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/initiate.d.ts +0 -38
- package/bundle/typescript/src/commands/game/sideQuest/commands/initiate.js +11 -45
- package/bundle/typescript/src/commands/game/sideQuest/commands/initiate.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/install.js +5 -4
- package/bundle/typescript/src/commands/game/sideQuest/commands/install.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/jump.js +10 -4
- package/bundle/typescript/src/commands/game/sideQuest/commands/jump.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/lifestyle.d.ts +7 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/lifestyle.js +58 -9
- package/bundle/typescript/src/commands/game/sideQuest/commands/lifestyle.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/quality-trade.js +10 -7
- package/bundle/typescript/src/commands/game/sideQuest/commands/quality-trade.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/rest.js +7 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/rest.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/search.js +9 -9
- package/bundle/typescript/src/commands/game/sideQuest/commands/sheet.js +12 -8
- package/bundle/typescript/src/commands/game/sideQuest/commands/sheet.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/sin.js +2 -2
- package/bundle/typescript/src/commands/game/sideQuest/commands/sin.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/source.js +8 -8
- package/bundle/typescript/src/commands/game/sideQuest/commands/source.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/take.js +22 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/take.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/engine-version.d.ts +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/engine-version.js +24 -1
- package/bundle/typescript/src/commands/game/sideQuest/engine-version.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/factories/chargen-factory.d.ts +39 -1
- package/bundle/typescript/src/commands/game/sideQuest/factories/chargen-factory.js +110 -35
- package/bundle/typescript/src/commands/game/sideQuest/factories/chargen-factory.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/factories/scene-chunks.js +445 -445
- package/bundle/typescript/src/commands/game/sideQuest/factories/scene-chunks.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/factories/scene-factory.js +6 -6
- package/bundle/typescript/src/commands/game/sideQuest/game.d.ts +42 -1
- package/bundle/typescript/src/commands/game/sideQuest/game.js +118 -43
- package/bundle/typescript/src/commands/game/sideQuest/game.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/metamagics.d.ts +32 -0
- package/bundle/typescript/src/commands/game/sideQuest/metamagics.js +12 -0
- package/bundle/typescript/src/commands/game/sideQuest/metamagics.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/metatypes.d.ts +6 -4
- package/bundle/typescript/src/commands/game/sideQuest/metatypes.js +3 -83
- package/bundle/typescript/src/commands/game/sideQuest/metatypes.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/models/home-containers.d.ts +36 -0
- package/bundle/typescript/src/commands/game/sideQuest/models/home-containers.js +62 -0
- package/bundle/typescript/src/commands/game/sideQuest/models/home-containers.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/models/npc.js +206 -206
- package/bundle/typescript/src/commands/game/sideQuest/models/player.d.ts +5 -5
- package/bundle/typescript/src/commands/game/sideQuest/models/player.js +10 -14
- package/bundle/typescript/src/commands/game/sideQuest/models/player.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/models/room.js +24 -10
- package/bundle/typescript/src/commands/game/sideQuest/models/room.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/qualities.d.ts +3 -7
- package/bundle/typescript/src/commands/game/sideQuest/qualities.js +15 -715
- package/bundle/typescript/src/commands/game/sideQuest/qualities.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/scenes/scene1.json +556 -556
- package/bundle/typescript/src/commands/game/sideQuest/scenes/scene2.json +1447 -1447
- package/bundle/typescript/src/commands/game/sideQuest/spells.d.ts +5 -7
- package/bundle/typescript/src/commands/game/sideQuest/spells.js +5 -63
- package/bundle/typescript/src/commands/game/sideQuest/spells.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/types/save-file.d.ts +8 -0
- package/bundle/typescript/src/commands/game/sideQuest/ui.js +22 -0
- package/bundle/typescript/src/commands/game/sideQuest/ui.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/catalog-data.d.ts +36 -20
- package/bundle/typescript/src/commands/game/sideQuest/utilities/catalog-data.js +24 -658
- package/bundle/typescript/src/commands/game/sideQuest/utilities/catalog-data.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/catalog.d.ts +100 -20
- package/bundle/typescript/src/commands/game/sideQuest/utilities/catalog.js +314 -57
- package/bundle/typescript/src/commands/game/sideQuest/utilities/catalog.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/commerce.d.ts +32 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/commerce.js +45 -5
- package/bundle/typescript/src/commands/game/sideQuest/utilities/commerce.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/ephemeral.js +14 -14
- package/bundle/typescript/src/commands/game/sideQuest/utilities/owned-drones.d.ts +32 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/owned-drones.js +24 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/owned-drones.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/persistence.d.ts +34 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/persistence.js +66 -29
- package/bundle/typescript/src/commands/game/sideQuest/utilities/persistence.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest-backlog.sub.cmd.js +2 -2
- package/bundle/typescript/src/commands/game/sideQuest.sub.cmd.js +28 -2
- package/bundle/typescript/src/commands/game/sideQuest.sub.cmd.js.map +1 -1
- package/bundle/typescript/src/commands/generate.js +2 -2
- package/bundle/typescript/src/commands/lint.js +10 -10
- package/bundle/typescript/src/commands/maka.cmd.js +26 -26
- package/bundle/typescript/src/commands/murder.js +14 -14
- package/bundle/typescript/src/commands/proxy.js +13 -13
- package/bundle/typescript/src/commands/remote/reconfig.sub.cmd.js +6 -6
- package/bundle/typescript/src/commands/run/docker.sub.cmd.js +11 -11
- package/bundle/typescript/src/commands/run/run.command.js +24 -24
- package/bundle/typescript/src/commands/set/global.sub.cmd.js +8 -8
- package/bundle/typescript/src/commands/set/local.sub.cmd.js +2 -2
- package/bundle/typescript/src/commands/set/set.command.js +3 -3
- package/bundle/typescript/src/commands/testCmd/test.command.js +2 -2
- package/bundle/typescript/src/error.js +1 -1
- package/bundle/typescript/src/error.js.map +1 -1
- package/bundle/typescript/src/exec.js +0 -0
- package/bundle/typescript/src/generators/api.js +11 -11
- package/bundle/typescript/src/generators/collection.js +6 -6
- package/bundle/typescript/src/generators/hook.js +10 -10
- package/bundle/typescript/src/generators/kits/auth/auth.generator.js +2 -2
- package/bundle/typescript/src/generators/kits/auth/auth0-meteor.auth.gen.js +612 -612
- package/bundle/typescript/src/generators/kits/auth/basic-meteor.auth.gen.js +48 -48
- package/bundle/typescript/src/generators/kits/auth/provider.auth.gen.js +12 -12
- package/bundle/typescript/src/generators/kits/esri/esri.generator.js +3 -3
- package/bundle/typescript/src/generators/kits/esri/map.esri.gen.js +7 -7
- package/bundle/typescript/src/generators/kits/frames/frames.generator.js +16 -16
- package/bundle/typescript/src/generators/kits/mui/auth.mui.gen.js +2 -2
- package/bundle/typescript/src/generators/kits/mui/auth0.mui.gen.js +5 -5
- package/bundle/typescript/src/generators/kits/mui/frame.mui.gen.js +4 -4
- package/bundle/typescript/src/generators/kits/mui/mui.generator.js +22 -22
- package/bundle/typescript/src/generators/services/translation.js +5 -5
- package/bundle/typescript/src/templates/aws/cloudformation/create-ec2-instance.template +14 -14
- package/bundle/typescript/src/templates/meteor/api/api.js +20 -20
- package/bundle/typescript/src/templates/meteor/api/api.js.ts +20 -20
- package/bundle/typescript/src/templates/meteor/api/apollo-gateway.js +50 -50
- package/bundle/typescript/src/templates/meteor/api/apollo-gateway.js.ts +55 -55
- package/bundle/typescript/src/templates/meteor/api/graphql-api.js +63 -63
- package/bundle/typescript/src/templates/meteor/api/graphql-api.js.ts +69 -69
- package/bundle/typescript/src/templates/meteor/api/methods.js +39 -39
- package/bundle/typescript/src/templates/meteor/api/methods.js.ts +40 -40
- package/bundle/typescript/src/templates/meteor/api/register-api.js +3 -3
- package/bundle/typescript/src/templates/meteor/api/register-api.js.ts +3 -3
- package/bundle/typescript/src/templates/meteor/api/resolvers.js +9 -9
- package/bundle/typescript/src/templates/meteor/api/resolvers.js.ts +9 -9
- package/bundle/typescript/src/templates/meteor/api/typeDefs.js +6 -6
- package/bundle/typescript/src/templates/meteor/api/typeDefs.js.ts +6 -6
- package/bundle/typescript/src/templates/meteor/app/client/body.html +3 -3
- package/bundle/typescript/src/templates/meteor/app/client/head.html +12 -12
- package/bundle/typescript/src/templates/meteor/app/client/main.js +15 -15
- package/bundle/typescript/src/templates/meteor/app/client/main.js.jsx +15 -15
- package/bundle/typescript/src/templates/meteor/app/client/main.js.ts +17 -17
- package/bundle/typescript/src/templates/meteor/app/client/main.js.tsx +17 -17
- package/bundle/typescript/src/templates/meteor/app/imports/startup/client/index.js +20 -20
- package/bundle/typescript/src/templates/meteor/app/imports/startup/client/index.js.jsx +107 -107
- package/bundle/typescript/src/templates/meteor/app/imports/startup/client/index.js.ts +20 -20
- package/bundle/typescript/src/templates/meteor/app/imports/startup/client/index.js.tsx +108 -108
- package/bundle/typescript/src/templates/meteor/app/imports/startup/client/routes.js +39 -39
- package/bundle/typescript/src/templates/meteor/app/imports/startup/client/routes.js.jsx +33 -33
- package/bundle/typescript/src/templates/meteor/app/imports/startup/client/routes.js.ts +24 -24
- package/bundle/typescript/src/templates/meteor/app/imports/startup/client/routes.js.tsx +33 -33
- package/bundle/typescript/src/templates/meteor/app/imports/startup/client/templates.js +9 -9
- package/bundle/typescript/src/templates/meteor/app/imports/startup/client/templates.js.jsx +9 -9
- package/bundle/typescript/src/templates/meteor/app/imports/startup/client/templates.js.ts +9 -9
- package/bundle/typescript/src/templates/meteor/app/imports/startup/client/templates.js.tsx +9 -9
- package/bundle/typescript/src/templates/meteor/app/imports/startup/lib/index.js +1 -1
- package/bundle/typescript/src/templates/meteor/app/imports/startup/lib/index.js.jsx +20 -20
- package/bundle/typescript/src/templates/meteor/app/imports/startup/lib/index.js.ts +1 -1
- package/bundle/typescript/src/templates/meteor/app/imports/startup/lib/index.js.tsx +20 -20
- package/bundle/typescript/src/templates/meteor/app/imports/startup/lib/routes.js.jsx +28 -28
- package/bundle/typescript/src/templates/meteor/app/imports/startup/lib/routes.js.tsx +28 -28
- package/bundle/typescript/src/templates/meteor/app/imports/startup/server/index.js +1 -1
- package/bundle/typescript/src/templates/meteor/app/imports/startup/server/index.js.jsx +95 -95
- package/bundle/typescript/src/templates/meteor/app/imports/startup/server/index.js.tsx +98 -98
- package/bundle/typescript/src/templates/meteor/app/imports/ui/test-helpers.js +24 -24
- package/bundle/typescript/src/templates/meteor/app/imports/ui/test-helpers.js.ts +24 -24
- package/bundle/typescript/src/templates/meteor/app/lib/main.js +3 -3
- package/bundle/typescript/src/templates/meteor/app/lib/main.js.jsx +3 -3
- package/bundle/typescript/src/templates/meteor/app/lib/main.js.ts +3 -3
- package/bundle/typescript/src/templates/meteor/app/lib/main.js.tsx +3 -3
- package/bundle/typescript/src/templates/meteor/app/maka.d.ts +533 -533
- package/bundle/typescript/src/templates/meteor/app/meteor.d.ts +181 -181
- package/bundle/typescript/src/templates/meteor/app/public/manifest.json +27 -27
- package/bundle/typescript/src/templates/meteor/app/public/sw.js +30 -30
- package/bundle/typescript/src/templates/meteor/app/public/sw.js.jsx +30 -30
- package/bundle/typescript/src/templates/meteor/app/public/sw.js.ts +30 -30
- package/bundle/typescript/src/templates/meteor/app/public/sw.js.tsx +30 -30
- package/bundle/typescript/src/templates/meteor/app/server/helmet-csp.js +179 -179
- package/bundle/typescript/src/templates/meteor/app/server/helmet-csp.js.jsx +179 -179
- package/bundle/typescript/src/templates/meteor/app/server/helmet-csp.js.ts +179 -179
- package/bundle/typescript/src/templates/meteor/app/server/helmet-csp.js.tsx +179 -179
- package/bundle/typescript/src/templates/meteor/app/server/main.js +13 -13
- package/bundle/typescript/src/templates/meteor/app/server/main.js.jsx +13 -13
- package/bundle/typescript/src/templates/meteor/app/server/main.js.ts +14 -14
- package/bundle/typescript/src/templates/meteor/app/server/main.js.tsx +14 -14
- package/bundle/typescript/src/templates/meteor/app/tsconfig.json +42 -42
- package/bundle/typescript/src/templates/meteor/collection/collection.js +51 -51
- package/bundle/typescript/src/templates/meteor/collection/collection.js.ts +55 -55
- package/bundle/typescript/src/templates/meteor/collection/tests.js +27 -27
- package/bundle/typescript/src/templates/meteor/collection/tests.js.ts +27 -27
- package/bundle/typescript/src/templates/meteor/config/deploy.sh.template +101 -101
- package/bundle/typescript/src/templates/meteor/config/docker-compose.yaml +17 -17
- package/bundle/typescript/src/templates/meteor/config/nginx.conf.template +31 -31
- package/bundle/typescript/src/templates/meteor/config/pm2.config.js +27 -27
- package/bundle/typescript/src/templates/meteor/config/process.env +5 -5
- package/bundle/typescript/src/templates/meteor/config/settings.json +11 -11
- package/bundle/typescript/src/templates/meteor/config/ssh.json +6 -6
- package/bundle/typescript/src/templates/meteor/dbc/config.js +70 -70
- package/bundle/typescript/src/templates/meteor/dbc/config.js.ts +70 -70
- package/bundle/typescript/src/templates/meteor/dbc/conn.js +37 -37
- package/bundle/typescript/src/templates/meteor/dbc/conn.js.ts +37 -37
- package/bundle/typescript/src/templates/meteor/dbc/register-dbc.js +3 -3
- package/bundle/typescript/src/templates/meteor/dbc/register-dbc.js.ts +3 -3
- package/bundle/typescript/src/templates/meteor/github/workflows/deploy.yaml +150 -150
- package/bundle/typescript/src/templates/meteor/method/method.js +48 -48
- package/bundle/typescript/src/templates/meteor/method/method.js.ts +48 -48
- package/bundle/typescript/src/templates/meteor/package/package.js +37 -37
- package/bundle/typescript/src/templates/meteor/package/package.js.jsx +37 -37
- package/bundle/typescript/src/templates/meteor/package/package.js.ts +36 -36
- package/bundle/typescript/src/templates/meteor/package/package.js.tsx +37 -37
- package/bundle/typescript/src/templates/meteor/package/tests/client/package.js +5 -5
- package/bundle/typescript/src/templates/meteor/package/tests/client/package.js.jsx +5 -5
- package/bundle/typescript/src/templates/meteor/package/tests/client/package.js.ts +5 -5
- package/bundle/typescript/src/templates/meteor/package/tests/client/package.js.tsx +5 -5
- package/bundle/typescript/src/templates/meteor/package/tests/server/package.js +5 -5
- package/bundle/typescript/src/templates/meteor/package/tests/server/package.js.jsx +5 -5
- package/bundle/typescript/src/templates/meteor/package/tests/server/package.js.ts +5 -5
- package/bundle/typescript/src/templates/meteor/package/tests/server/package.js.tsx +5 -5
- package/bundle/typescript/src/templates/meteor/project/.maka/config.json +29 -29
- package/bundle/typescript/src/templates/meteor/project/README.md +33 -33
- package/bundle/typescript/src/templates/meteor/project/build/README +4 -4
- package/bundle/typescript/src/templates/meteor/project/gitignore +10 -10
- package/bundle/typescript/src/templates/meteor/project/package.json +29 -29
- package/bundle/typescript/src/templates/meteor/publish/publish.js +7 -7
- package/bundle/typescript/src/templates/meteor/publish/publish.js.ts +7 -7
- package/bundle/typescript/src/templates/meteor/service/logger/logger.js +27 -27
- package/bundle/typescript/src/templates/meteor/service/logger/logger.js.ts +27 -27
- package/bundle/typescript/src/templates/meteor/stylesheet/stylesheet.css +5 -5
- package/bundle/typescript/src/templates/meteor/stylesheet/stylesheet.css.less +5 -5
- package/bundle/typescript/src/templates/meteor/template/template-tests.js +1 -1
- package/bundle/typescript/src/templates/meteor/template/template-tests.js.jsx +55 -55
- package/bundle/typescript/src/templates/meteor/template/template-tests.js.ts +1 -1
- package/bundle/typescript/src/templates/meteor/template/template-tests.js.tsx +55 -55
- package/bundle/typescript/src/templates/meteor/template/template.css +3 -3
- package/bundle/typescript/src/templates/meteor/template/template.css.less +3 -3
- package/bundle/typescript/src/templates/meteor/template/template.css.scss +3 -3
- package/bundle/typescript/src/templates/meteor/template/template.html +5 -5
- package/bundle/typescript/src/templates/meteor/template/template.js +20 -20
- package/bundle/typescript/src/templates/meteor/template/template.js.jsx +77 -77
- package/bundle/typescript/src/templates/meteor/template/template.js.ts +1 -1
- package/bundle/typescript/src/templates/meteor/template/template.js.tsx +89 -89
- package/bundle/typescript/src/templates/react/component/component.css +6 -6
- package/bundle/typescript/src/templates/react/component/component.css.less +6 -6
- package/bundle/typescript/src/templates/react/component/component.css.scss +3 -3
- package/bundle/typescript/src/templates/react/component/component.js.jsx +59 -59
- package/bundle/typescript/src/templates/react/component/component.js.tsx +65 -65
- package/bundle/typescript/src/templates/react/hook/hook.css +3 -3
- package/bundle/typescript/src/templates/react/hook/hook.css.scss +3 -3
- package/bundle/typescript/src/templates/react/hook/hook.js.jsx +19 -19
- package/bundle/typescript/src/templates/react/hook/hook.js.tsx +19 -19
- package/bundle/typescript/src/templates/react/kit/auth/provider/authentication-provider.js.jsx +306 -306
- package/bundle/typescript/src/templates/react/kit/auth/provider/authentication-provider.js.tsx +350 -350
- package/bundle/typescript/src/templates/react/kit/auth/service/auth0-client.js.jsx +178 -178
- package/bundle/typescript/src/templates/react/kit/auth/service/auth0-client.js.tsx +178 -178
- package/bundle/typescript/src/templates/react/kit/auth/service/auth0-config.js.jsx +59 -59
- package/bundle/typescript/src/templates/react/kit/auth/service/auth0-config.js.tsx +67 -67
- package/bundle/typescript/src/templates/react/kit/auth/service/auth0-methods.js.jsx +273 -273
- package/bundle/typescript/src/templates/react/kit/auth/service/auth0-methods.js.tsx +275 -275
- package/bundle/typescript/src/templates/react/kit/auth/service/auth0-validator.js.jsx +182 -182
- package/bundle/typescript/src/templates/react/kit/auth/service/auth0-validator.js.tsx +199 -199
- package/bundle/typescript/src/templates/react/kit/auth/service/meteor-auth-service.js.jsx +138 -138
- package/bundle/typescript/src/templates/react/kit/auth/service/meteor-auth-service.js.tsx +153 -153
- package/bundle/typescript/src/templates/react/kit/esri/map/basic-map.js.jsx +29 -29
- package/bundle/typescript/src/templates/react/kit/esri/map/basic-map.js.tsx +32 -32
- package/bundle/typescript/src/templates/react/kit/frames/frames-demo.css +63 -63
- package/bundle/typescript/src/templates/react/kit/frames/frames-demo.jsx +153 -153
- package/bundle/typescript/src/templates/react/kit/frames/frames-demo.tsx +164 -164
- package/bundle/typescript/src/templates/react/kit/frames/workspace-manager.css +105 -105
- package/bundle/typescript/src/templates/react/kit/frames/workspace-manager.jsx +158 -158
- package/bundle/typescript/src/templates/react/kit/frames/workspace-manager.tsx +166 -166
- package/bundle/typescript/src/templates/react/kit/mui/auth/forgot-password/basic-forgot-password-page.js.jsx +34 -34
- package/bundle/typescript/src/templates/react/kit/mui/auth/forgot-password/basic-forgot-password-page.js.tsx +33 -33
- package/bundle/typescript/src/templates/react/kit/mui/auth/login/basic-login-page.js.jsx +53 -53
- package/bundle/typescript/src/templates/react/kit/mui/auth/login/basic-login-page.js.tsx +53 -53
- package/bundle/typescript/src/templates/react/kit/mui/auth/logout/basic-logout-page.js.jsx +25 -25
- package/bundle/typescript/src/templates/react/kit/mui/auth/logout/basic-logout-page.js.tsx +25 -25
- package/bundle/typescript/src/templates/react/kit/mui/auth/password-reset/basic-password-reset-page.js.jsx +41 -41
- package/bundle/typescript/src/templates/react/kit/mui/auth/password-reset/basic-password-reset-page.js.tsx +34 -34
- package/bundle/typescript/src/templates/react/kit/mui/auth/register/basic-register-page.js.jsx +33 -33
- package/bundle/typescript/src/templates/react/kit/mui/auth/register/basic-register-page.js.tsx +33 -33
- package/bundle/typescript/src/templates/react/kit/mui/auth0/auth-callback.js.jsx +71 -71
- package/bundle/typescript/src/templates/react/kit/mui/auth0/auth-callback.js.tsx +71 -71
- package/bundle/typescript/src/templates/react/kit/mui/auth0/auth0-account-settings.js.jsx +123 -123
- package/bundle/typescript/src/templates/react/kit/mui/auth0/auth0-account-settings.js.tsx +123 -123
- package/bundle/typescript/src/templates/react/kit/mui/auth0/auth0-login-button.js.jsx +56 -56
- package/bundle/typescript/src/templates/react/kit/mui/auth0/auth0-login-button.js.tsx +74 -74
- package/bundle/typescript/src/templates/react/kit/mui/frame/app-bars/basic-app-bar.js.jsx +43 -43
- package/bundle/typescript/src/templates/react/kit/mui/frame/app-bars/basic-app-bar.js.tsx +43 -43
- package/bundle/typescript/src/templates/react/kit/mui/frame/drawers/basic-drawer.js.jsx +121 -121
- package/bundle/typescript/src/templates/react/kit/mui/frame/drawers/basic-drawer.js.tsx +117 -117
- package/bundle/typescript/src/templates/react/kit/mui/frame/footers/basic-sticky-footer.js.jsx +41 -41
- package/bundle/typescript/src/templates/react/kit/mui/frame/footers/basic-sticky-footer.js.tsx +41 -41
- package/bundle/typescript/src/templates/react/route/route.js +8 -8
- package/bundle/typescript/src/templates/react/route/route.js.jsx +5 -5
- package/bundle/typescript/src/templates/react/route/route.js.ts +8 -8
- package/bundle/typescript/src/templates/react/route/route.js.tsx +5 -5
- package/bundle/typescript/src/templates/react/test/test.js +1 -1
- package/bundle/typescript/src/templates/react/test/test.js.jsx +40 -40
- package/bundle/typescript/src/templates/react/test/test.js.ts +1 -1
- package/bundle/typescript/src/templates/react/test/test.js.tsx +40 -40
- package/bundle/typescript/src/templates/service/docker/Dockerfile +54 -54
- package/bundle/typescript/src/templates/service/eslint/babel.config.js +16 -16
- package/bundle/typescript/src/templates/service/eslint/config.eslint.js +69 -69
- package/bundle/typescript/src/templates/service/i18n/i18n.js +33 -33
- package/bundle/typescript/src/templates/service/i18n/i18n.js.ts +33 -33
- package/bundle/typescript/src/templates/service/i18n/locales.js +3 -3
- package/bundle/typescript/src/templates/service/i18n/locales.js.ts +3 -3
- package/bundle/typescript/src/templates/service/openssl/openssl.conf +22 -22
- package/bundle/typescript/src/templates/service/test/jest/jest.config.js +24 -24
- package/bundle/typescript/src/templates/service/test/jest/jest.setup.js +7 -7
- package/bundle/typescript/src/tool.d.ts +2 -0
- package/bundle/typescript/src/tool.js +5 -2
- package/bundle/typescript/src/tool.js.map +1 -1
- package/package.json +120 -120
|
@@ -1,71 +1,71 @@
|
|
|
1
|
-
import React, { useEffect, useState } from 'react';
|
|
2
|
-
import { useNavigate } from 'react-router-dom';
|
|
3
|
-
import { Box, CircularProgress, Typography, Alert } from '@mui/material';
|
|
4
|
-
import AuthService from '<%= authServicePath %>';
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* Auth0 Callback Component
|
|
8
|
-
*
|
|
9
|
-
* This component handles the OAuth callback from Auth0.
|
|
10
|
-
* It exchanges the authorization code for tokens and logs the user into Meteor.
|
|
11
|
-
*/
|
|
12
|
-
export const AuthCallback = () => {
|
|
13
|
-
const navigate = useNavigate();
|
|
14
|
-
const [error, setError] = useState<string | null>(null);
|
|
15
|
-
|
|
16
|
-
useEffect(() => {
|
|
17
|
-
const handleCallback = async () => {
|
|
18
|
-
try {
|
|
19
|
-
// Handle the Auth0 callback and login to Meteor
|
|
20
|
-
await AuthService.handleAuth0Callback();
|
|
21
|
-
|
|
22
|
-
// Redirect to home page after successful login
|
|
23
|
-
navigate('/', { replace: true });
|
|
24
|
-
} catch (err) {
|
|
25
|
-
console.error('Auth0 callback error:', err);
|
|
26
|
-
setError(err instanceof Error ? err.message : 'Authentication failed');
|
|
27
|
-
|
|
28
|
-
// Redirect to login page after a delay
|
|
29
|
-
setTimeout(() => {
|
|
30
|
-
navigate('/login', { replace: true });
|
|
31
|
-
}, 3000);
|
|
32
|
-
}
|
|
33
|
-
};
|
|
34
|
-
|
|
35
|
-
handleCallback();
|
|
36
|
-
}, [navigate]);
|
|
37
|
-
|
|
38
|
-
return (
|
|
39
|
-
<Box
|
|
40
|
-
sx={{
|
|
41
|
-
display: 'flex',
|
|
42
|
-
flexDirection: 'column',
|
|
43
|
-
alignItems: 'center',
|
|
44
|
-
justifyContent: 'center',
|
|
45
|
-
minHeight: '100vh',
|
|
46
|
-
gap: 2,
|
|
47
|
-
}}
|
|
48
|
-
>
|
|
49
|
-
{error ? (
|
|
50
|
-
<>
|
|
51
|
-
<Alert severity="error" sx={{ maxWidth: 600 }}>
|
|
52
|
-
{error}
|
|
53
|
-
</Alert>
|
|
54
|
-
<Typography variant="body2" color="text.secondary">
|
|
55
|
-
Redirecting to login page...
|
|
56
|
-
</Typography>
|
|
57
|
-
</>
|
|
58
|
-
) : (
|
|
59
|
-
<>
|
|
60
|
-
<CircularProgress size={60} />
|
|
61
|
-
<Typography variant="h6" sx={{ mt: 2 }}>
|
|
62
|
-
Completing authentication...
|
|
63
|
-
</Typography>
|
|
64
|
-
<Typography variant="body2" color="text.secondary">
|
|
65
|
-
Please wait while we log you in.
|
|
66
|
-
</Typography>
|
|
67
|
-
</>
|
|
68
|
-
)}
|
|
69
|
-
</Box>
|
|
70
|
-
);
|
|
71
|
-
};
|
|
1
|
+
import React, { useEffect, useState } from 'react';
|
|
2
|
+
import { useNavigate } from 'react-router-dom';
|
|
3
|
+
import { Box, CircularProgress, Typography, Alert } from '@mui/material';
|
|
4
|
+
import AuthService from '<%= authServicePath %>';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Auth0 Callback Component
|
|
8
|
+
*
|
|
9
|
+
* This component handles the OAuth callback from Auth0.
|
|
10
|
+
* It exchanges the authorization code for tokens and logs the user into Meteor.
|
|
11
|
+
*/
|
|
12
|
+
export const AuthCallback = () => {
|
|
13
|
+
const navigate = useNavigate();
|
|
14
|
+
const [error, setError] = useState<string | null>(null);
|
|
15
|
+
|
|
16
|
+
useEffect(() => {
|
|
17
|
+
const handleCallback = async () => {
|
|
18
|
+
try {
|
|
19
|
+
// Handle the Auth0 callback and login to Meteor
|
|
20
|
+
await AuthService.handleAuth0Callback();
|
|
21
|
+
|
|
22
|
+
// Redirect to home page after successful login
|
|
23
|
+
navigate('/', { replace: true });
|
|
24
|
+
} catch (err) {
|
|
25
|
+
console.error('Auth0 callback error:', err);
|
|
26
|
+
setError(err instanceof Error ? err.message : 'Authentication failed');
|
|
27
|
+
|
|
28
|
+
// Redirect to login page after a delay
|
|
29
|
+
setTimeout(() => {
|
|
30
|
+
navigate('/login', { replace: true });
|
|
31
|
+
}, 3000);
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
handleCallback();
|
|
36
|
+
}, [navigate]);
|
|
37
|
+
|
|
38
|
+
return (
|
|
39
|
+
<Box
|
|
40
|
+
sx={{
|
|
41
|
+
display: 'flex',
|
|
42
|
+
flexDirection: 'column',
|
|
43
|
+
alignItems: 'center',
|
|
44
|
+
justifyContent: 'center',
|
|
45
|
+
minHeight: '100vh',
|
|
46
|
+
gap: 2,
|
|
47
|
+
}}
|
|
48
|
+
>
|
|
49
|
+
{error ? (
|
|
50
|
+
<>
|
|
51
|
+
<Alert severity="error" sx={{ maxWidth: 600 }}>
|
|
52
|
+
{error}
|
|
53
|
+
</Alert>
|
|
54
|
+
<Typography variant="body2" color="text.secondary">
|
|
55
|
+
Redirecting to login page...
|
|
56
|
+
</Typography>
|
|
57
|
+
</>
|
|
58
|
+
) : (
|
|
59
|
+
<>
|
|
60
|
+
<CircularProgress size={60} />
|
|
61
|
+
<Typography variant="h6" sx={{ mt: 2 }}>
|
|
62
|
+
Completing authentication...
|
|
63
|
+
</Typography>
|
|
64
|
+
<Typography variant="body2" color="text.secondary">
|
|
65
|
+
Please wait while we log you in.
|
|
66
|
+
</Typography>
|
|
67
|
+
</>
|
|
68
|
+
)}
|
|
69
|
+
</Box>
|
|
70
|
+
);
|
|
71
|
+
};
|
|
@@ -1,123 +1,123 @@
|
|
|
1
|
-
import React, { useContext, useState } from 'react';
|
|
2
|
-
import {
|
|
3
|
-
Box,
|
|
4
|
-
Card,
|
|
5
|
-
CardContent,
|
|
6
|
-
Typography,
|
|
7
|
-
Button,
|
|
8
|
-
Alert,
|
|
9
|
-
CircularProgress,
|
|
10
|
-
} from '@mui/material';
|
|
11
|
-
import { Meteor } from 'meteor/meteor';
|
|
12
|
-
import { AuthContext } from '<%= authContextPath %>';
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* Auth0 Account Settings Component
|
|
16
|
-
*
|
|
17
|
-
* Displays Auth0 account status and allows linking/unlinking
|
|
18
|
-
* Auth0 account to/from the current Meteor user.
|
|
19
|
-
*/
|
|
20
|
-
export const Auth0AccountSettings = () => {
|
|
21
|
-
const auth = useContext(AuthContext);
|
|
22
|
-
const [loading, setLoading] = useState(false);
|
|
23
|
-
const [message, setMessage] = useState(null);
|
|
24
|
-
|
|
25
|
-
if (!auth?.currentUser) {
|
|
26
|
-
return null;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
const user = Meteor.user();
|
|
30
|
-
const hasAuth0Account = Boolean(user?.services?.auth0);
|
|
31
|
-
|
|
32
|
-
const handleLinkAccount = async () => {
|
|
33
|
-
setLoading(true);
|
|
34
|
-
setMessage(null);
|
|
35
|
-
|
|
36
|
-
try {
|
|
37
|
-
const success = await auth.linkAuth0Account?.();
|
|
38
|
-
if (success) {
|
|
39
|
-
setMessage({ type: 'success', text: 'Auth0 account linked successfully!' });
|
|
40
|
-
}
|
|
41
|
-
} catch (error) {
|
|
42
|
-
setMessage({
|
|
43
|
-
type: 'error',
|
|
44
|
-
text: error instanceof Error ? error.message : 'Failed to link Auth0 account',
|
|
45
|
-
});
|
|
46
|
-
} finally {
|
|
47
|
-
setLoading(false);
|
|
48
|
-
}
|
|
49
|
-
};
|
|
50
|
-
|
|
51
|
-
const handleUnlinkAccount = async () => {
|
|
52
|
-
setLoading(true);
|
|
53
|
-
setMessage(null);
|
|
54
|
-
|
|
55
|
-
try {
|
|
56
|
-
const success = await auth.unlinkAuth0Account?.();
|
|
57
|
-
if (success) {
|
|
58
|
-
setMessage({ type: 'success', text: 'Auth0 account unlinked successfully!' });
|
|
59
|
-
}
|
|
60
|
-
} catch (error) {
|
|
61
|
-
setMessage({
|
|
62
|
-
type: 'error',
|
|
63
|
-
text: error instanceof Error ? error.message : 'Failed to unlink Auth0 account',
|
|
64
|
-
});
|
|
65
|
-
} finally {
|
|
66
|
-
setLoading(false);
|
|
67
|
-
}
|
|
68
|
-
};
|
|
69
|
-
|
|
70
|
-
return (
|
|
71
|
-
<Card>
|
|
72
|
-
<CardContent>
|
|
73
|
-
<Typography variant="h6" gutterBottom>
|
|
74
|
-
Auth0 Integration
|
|
75
|
-
</Typography>
|
|
76
|
-
|
|
77
|
-
{message && (
|
|
78
|
-
<Alert severity={message.type} sx={{ mb: 2 }}>
|
|
79
|
-
{message.text}
|
|
80
|
-
</Alert>
|
|
81
|
-
)}
|
|
82
|
-
|
|
83
|
-
{hasAuth0Account ? (
|
|
84
|
-
<Box>
|
|
85
|
-
<Alert severity="success" sx={{ mb: 2 }}>
|
|
86
|
-
Your account is linked with Auth0
|
|
87
|
-
</Alert>
|
|
88
|
-
<Typography variant="body2" color="text.secondary" gutterBottom>
|
|
89
|
-
Email: {user?.services?.auth0?.email || 'N/A'}
|
|
90
|
-
</Typography>
|
|
91
|
-
<Typography variant="body2" color="text.secondary" gutterBottom>
|
|
92
|
-
Name: {user?.services?.auth0?.name || 'N/A'}
|
|
93
|
-
</Typography>
|
|
94
|
-
<Button
|
|
95
|
-
variant="outlined"
|
|
96
|
-
color="error"
|
|
97
|
-
onClick={handleUnlinkAccount}
|
|
98
|
-
disabled={loading}
|
|
99
|
-
sx={{ mt: 2 }}
|
|
100
|
-
startIcon={loading ? <CircularProgress size={20} /> : undefined}
|
|
101
|
-
>
|
|
102
|
-
{loading ? 'Unlinking...' : 'Unlink Auth0 Account'}
|
|
103
|
-
</Button>
|
|
104
|
-
</Box>
|
|
105
|
-
) : (
|
|
106
|
-
<Box>
|
|
107
|
-
<Alert severity="info" sx={{ mb: 2 }}>
|
|
108
|
-
Link your account with Auth0 for easier login
|
|
109
|
-
</Alert>
|
|
110
|
-
<Button
|
|
111
|
-
variant="contained"
|
|
112
|
-
onClick={handleLinkAccount}
|
|
113
|
-
disabled={loading}
|
|
114
|
-
startIcon={loading ? <CircularProgress size={20} /> : undefined}
|
|
115
|
-
>
|
|
116
|
-
{loading ? 'Linking...' : 'Link Auth0 Account'}
|
|
117
|
-
</Button>
|
|
118
|
-
</Box>
|
|
119
|
-
)}
|
|
120
|
-
</CardContent>
|
|
121
|
-
</Card>
|
|
122
|
-
);
|
|
123
|
-
};
|
|
1
|
+
import React, { useContext, useState } from 'react';
|
|
2
|
+
import {
|
|
3
|
+
Box,
|
|
4
|
+
Card,
|
|
5
|
+
CardContent,
|
|
6
|
+
Typography,
|
|
7
|
+
Button,
|
|
8
|
+
Alert,
|
|
9
|
+
CircularProgress,
|
|
10
|
+
} from '@mui/material';
|
|
11
|
+
import { Meteor } from 'meteor/meteor';
|
|
12
|
+
import { AuthContext } from '<%= authContextPath %>';
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Auth0 Account Settings Component
|
|
16
|
+
*
|
|
17
|
+
* Displays Auth0 account status and allows linking/unlinking
|
|
18
|
+
* Auth0 account to/from the current Meteor user.
|
|
19
|
+
*/
|
|
20
|
+
export const Auth0AccountSettings = () => {
|
|
21
|
+
const auth = useContext(AuthContext);
|
|
22
|
+
const [loading, setLoading] = useState(false);
|
|
23
|
+
const [message, setMessage] = useState(null);
|
|
24
|
+
|
|
25
|
+
if (!auth?.currentUser) {
|
|
26
|
+
return null;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
const user = Meteor.user();
|
|
30
|
+
const hasAuth0Account = Boolean(user?.services?.auth0);
|
|
31
|
+
|
|
32
|
+
const handleLinkAccount = async () => {
|
|
33
|
+
setLoading(true);
|
|
34
|
+
setMessage(null);
|
|
35
|
+
|
|
36
|
+
try {
|
|
37
|
+
const success = await auth.linkAuth0Account?.();
|
|
38
|
+
if (success) {
|
|
39
|
+
setMessage({ type: 'success', text: 'Auth0 account linked successfully!' });
|
|
40
|
+
}
|
|
41
|
+
} catch (error) {
|
|
42
|
+
setMessage({
|
|
43
|
+
type: 'error',
|
|
44
|
+
text: error instanceof Error ? error.message : 'Failed to link Auth0 account',
|
|
45
|
+
});
|
|
46
|
+
} finally {
|
|
47
|
+
setLoading(false);
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
const handleUnlinkAccount = async () => {
|
|
52
|
+
setLoading(true);
|
|
53
|
+
setMessage(null);
|
|
54
|
+
|
|
55
|
+
try {
|
|
56
|
+
const success = await auth.unlinkAuth0Account?.();
|
|
57
|
+
if (success) {
|
|
58
|
+
setMessage({ type: 'success', text: 'Auth0 account unlinked successfully!' });
|
|
59
|
+
}
|
|
60
|
+
} catch (error) {
|
|
61
|
+
setMessage({
|
|
62
|
+
type: 'error',
|
|
63
|
+
text: error instanceof Error ? error.message : 'Failed to unlink Auth0 account',
|
|
64
|
+
});
|
|
65
|
+
} finally {
|
|
66
|
+
setLoading(false);
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
return (
|
|
71
|
+
<Card>
|
|
72
|
+
<CardContent>
|
|
73
|
+
<Typography variant="h6" gutterBottom>
|
|
74
|
+
Auth0 Integration
|
|
75
|
+
</Typography>
|
|
76
|
+
|
|
77
|
+
{message && (
|
|
78
|
+
<Alert severity={message.type} sx={{ mb: 2 }}>
|
|
79
|
+
{message.text}
|
|
80
|
+
</Alert>
|
|
81
|
+
)}
|
|
82
|
+
|
|
83
|
+
{hasAuth0Account ? (
|
|
84
|
+
<Box>
|
|
85
|
+
<Alert severity="success" sx={{ mb: 2 }}>
|
|
86
|
+
Your account is linked with Auth0
|
|
87
|
+
</Alert>
|
|
88
|
+
<Typography variant="body2" color="text.secondary" gutterBottom>
|
|
89
|
+
Email: {user?.services?.auth0?.email || 'N/A'}
|
|
90
|
+
</Typography>
|
|
91
|
+
<Typography variant="body2" color="text.secondary" gutterBottom>
|
|
92
|
+
Name: {user?.services?.auth0?.name || 'N/A'}
|
|
93
|
+
</Typography>
|
|
94
|
+
<Button
|
|
95
|
+
variant="outlined"
|
|
96
|
+
color="error"
|
|
97
|
+
onClick={handleUnlinkAccount}
|
|
98
|
+
disabled={loading}
|
|
99
|
+
sx={{ mt: 2 }}
|
|
100
|
+
startIcon={loading ? <CircularProgress size={20} /> : undefined}
|
|
101
|
+
>
|
|
102
|
+
{loading ? 'Unlinking...' : 'Unlink Auth0 Account'}
|
|
103
|
+
</Button>
|
|
104
|
+
</Box>
|
|
105
|
+
) : (
|
|
106
|
+
<Box>
|
|
107
|
+
<Alert severity="info" sx={{ mb: 2 }}>
|
|
108
|
+
Link your account with Auth0 for easier login
|
|
109
|
+
</Alert>
|
|
110
|
+
<Button
|
|
111
|
+
variant="contained"
|
|
112
|
+
onClick={handleLinkAccount}
|
|
113
|
+
disabled={loading}
|
|
114
|
+
startIcon={loading ? <CircularProgress size={20} /> : undefined}
|
|
115
|
+
>
|
|
116
|
+
{loading ? 'Linking...' : 'Link Auth0 Account'}
|
|
117
|
+
</Button>
|
|
118
|
+
</Box>
|
|
119
|
+
)}
|
|
120
|
+
</CardContent>
|
|
121
|
+
</Card>
|
|
122
|
+
);
|
|
123
|
+
};
|
|
@@ -1,123 +1,123 @@
|
|
|
1
|
-
import React, { useContext, useState } from 'react';
|
|
2
|
-
import {
|
|
3
|
-
Box,
|
|
4
|
-
Card,
|
|
5
|
-
CardContent,
|
|
6
|
-
Typography,
|
|
7
|
-
Button,
|
|
8
|
-
Alert,
|
|
9
|
-
CircularProgress,
|
|
10
|
-
} from '@mui/material';
|
|
11
|
-
import { Meteor } from 'meteor/meteor';
|
|
12
|
-
import { AuthContext } from '<%= authContextPath %>';
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* Auth0 Account Settings Component
|
|
16
|
-
*
|
|
17
|
-
* Displays Auth0 account status and allows linking/unlinking
|
|
18
|
-
* Auth0 account to/from the current Meteor user.
|
|
19
|
-
*/
|
|
20
|
-
export const Auth0AccountSettings: React.FC = () => {
|
|
21
|
-
const auth = useContext(AuthContext);
|
|
22
|
-
const [loading, setLoading] = useState(false);
|
|
23
|
-
const [message, setMessage] = useState<{ type: 'success' | 'error'; text: string } | null>(null);
|
|
24
|
-
|
|
25
|
-
if (!auth?.currentUser) {
|
|
26
|
-
return null;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
const user = Meteor.user();
|
|
30
|
-
const hasAuth0Account = Boolean(user?.services?.auth0);
|
|
31
|
-
|
|
32
|
-
const handleLinkAccount = async () => {
|
|
33
|
-
setLoading(true);
|
|
34
|
-
setMessage(null);
|
|
35
|
-
|
|
36
|
-
try {
|
|
37
|
-
const success = await auth.linkAuth0Account?.();
|
|
38
|
-
if (success) {
|
|
39
|
-
setMessage({ type: 'success', text: 'Auth0 account linked successfully!' });
|
|
40
|
-
}
|
|
41
|
-
} catch (error) {
|
|
42
|
-
setMessage({
|
|
43
|
-
type: 'error',
|
|
44
|
-
text: error instanceof Error ? error.message : 'Failed to link Auth0 account',
|
|
45
|
-
});
|
|
46
|
-
} finally {
|
|
47
|
-
setLoading(false);
|
|
48
|
-
}
|
|
49
|
-
};
|
|
50
|
-
|
|
51
|
-
const handleUnlinkAccount = async () => {
|
|
52
|
-
setLoading(true);
|
|
53
|
-
setMessage(null);
|
|
54
|
-
|
|
55
|
-
try {
|
|
56
|
-
const success = await auth.unlinkAuth0Account?.();
|
|
57
|
-
if (success) {
|
|
58
|
-
setMessage({ type: 'success', text: 'Auth0 account unlinked successfully!' });
|
|
59
|
-
}
|
|
60
|
-
} catch (error) {
|
|
61
|
-
setMessage({
|
|
62
|
-
type: 'error',
|
|
63
|
-
text: error instanceof Error ? error.message : 'Failed to unlink Auth0 account',
|
|
64
|
-
});
|
|
65
|
-
} finally {
|
|
66
|
-
setLoading(false);
|
|
67
|
-
}
|
|
68
|
-
};
|
|
69
|
-
|
|
70
|
-
return (
|
|
71
|
-
<Card>
|
|
72
|
-
<CardContent>
|
|
73
|
-
<Typography variant="h6" gutterBottom>
|
|
74
|
-
Auth0 Integration
|
|
75
|
-
</Typography>
|
|
76
|
-
|
|
77
|
-
{message && (
|
|
78
|
-
<Alert severity={message.type} sx={{ mb: 2 }}>
|
|
79
|
-
{message.text}
|
|
80
|
-
</Alert>
|
|
81
|
-
)}
|
|
82
|
-
|
|
83
|
-
{hasAuth0Account ? (
|
|
84
|
-
<Box>
|
|
85
|
-
<Alert severity="success" sx={{ mb: 2 }}>
|
|
86
|
-
Your account is linked with Auth0
|
|
87
|
-
</Alert>
|
|
88
|
-
<Typography variant="body2" color="text.secondary" gutterBottom>
|
|
89
|
-
Email: {user?.services?.auth0?.email || 'N/A'}
|
|
90
|
-
</Typography>
|
|
91
|
-
<Typography variant="body2" color="text.secondary" gutterBottom>
|
|
92
|
-
Name: {user?.services?.auth0?.name || 'N/A'}
|
|
93
|
-
</Typography>
|
|
94
|
-
<Button
|
|
95
|
-
variant="outlined"
|
|
96
|
-
color="error"
|
|
97
|
-
onClick={handleUnlinkAccount}
|
|
98
|
-
disabled={loading}
|
|
99
|
-
sx={{ mt: 2 }}
|
|
100
|
-
startIcon={loading ? <CircularProgress size={20} /> : undefined}
|
|
101
|
-
>
|
|
102
|
-
{loading ? 'Unlinking...' : 'Unlink Auth0 Account'}
|
|
103
|
-
</Button>
|
|
104
|
-
</Box>
|
|
105
|
-
) : (
|
|
106
|
-
<Box>
|
|
107
|
-
<Alert severity="info" sx={{ mb: 2 }}>
|
|
108
|
-
Link your account with Auth0 for easier login
|
|
109
|
-
</Alert>
|
|
110
|
-
<Button
|
|
111
|
-
variant="contained"
|
|
112
|
-
onClick={handleLinkAccount}
|
|
113
|
-
disabled={loading}
|
|
114
|
-
startIcon={loading ? <CircularProgress size={20} /> : undefined}
|
|
115
|
-
>
|
|
116
|
-
{loading ? 'Linking...' : 'Link Auth0 Account'}
|
|
117
|
-
</Button>
|
|
118
|
-
</Box>
|
|
119
|
-
)}
|
|
120
|
-
</CardContent>
|
|
121
|
-
</Card>
|
|
122
|
-
);
|
|
123
|
-
};
|
|
1
|
+
import React, { useContext, useState } from 'react';
|
|
2
|
+
import {
|
|
3
|
+
Box,
|
|
4
|
+
Card,
|
|
5
|
+
CardContent,
|
|
6
|
+
Typography,
|
|
7
|
+
Button,
|
|
8
|
+
Alert,
|
|
9
|
+
CircularProgress,
|
|
10
|
+
} from '@mui/material';
|
|
11
|
+
import { Meteor } from 'meteor/meteor';
|
|
12
|
+
import { AuthContext } from '<%= authContextPath %>';
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Auth0 Account Settings Component
|
|
16
|
+
*
|
|
17
|
+
* Displays Auth0 account status and allows linking/unlinking
|
|
18
|
+
* Auth0 account to/from the current Meteor user.
|
|
19
|
+
*/
|
|
20
|
+
export const Auth0AccountSettings: React.FC = () => {
|
|
21
|
+
const auth = useContext(AuthContext);
|
|
22
|
+
const [loading, setLoading] = useState(false);
|
|
23
|
+
const [message, setMessage] = useState<{ type: 'success' | 'error'; text: string } | null>(null);
|
|
24
|
+
|
|
25
|
+
if (!auth?.currentUser) {
|
|
26
|
+
return null;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
const user = Meteor.user();
|
|
30
|
+
const hasAuth0Account = Boolean(user?.services?.auth0);
|
|
31
|
+
|
|
32
|
+
const handleLinkAccount = async () => {
|
|
33
|
+
setLoading(true);
|
|
34
|
+
setMessage(null);
|
|
35
|
+
|
|
36
|
+
try {
|
|
37
|
+
const success = await auth.linkAuth0Account?.();
|
|
38
|
+
if (success) {
|
|
39
|
+
setMessage({ type: 'success', text: 'Auth0 account linked successfully!' });
|
|
40
|
+
}
|
|
41
|
+
} catch (error) {
|
|
42
|
+
setMessage({
|
|
43
|
+
type: 'error',
|
|
44
|
+
text: error instanceof Error ? error.message : 'Failed to link Auth0 account',
|
|
45
|
+
});
|
|
46
|
+
} finally {
|
|
47
|
+
setLoading(false);
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
const handleUnlinkAccount = async () => {
|
|
52
|
+
setLoading(true);
|
|
53
|
+
setMessage(null);
|
|
54
|
+
|
|
55
|
+
try {
|
|
56
|
+
const success = await auth.unlinkAuth0Account?.();
|
|
57
|
+
if (success) {
|
|
58
|
+
setMessage({ type: 'success', text: 'Auth0 account unlinked successfully!' });
|
|
59
|
+
}
|
|
60
|
+
} catch (error) {
|
|
61
|
+
setMessage({
|
|
62
|
+
type: 'error',
|
|
63
|
+
text: error instanceof Error ? error.message : 'Failed to unlink Auth0 account',
|
|
64
|
+
});
|
|
65
|
+
} finally {
|
|
66
|
+
setLoading(false);
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
return (
|
|
71
|
+
<Card>
|
|
72
|
+
<CardContent>
|
|
73
|
+
<Typography variant="h6" gutterBottom>
|
|
74
|
+
Auth0 Integration
|
|
75
|
+
</Typography>
|
|
76
|
+
|
|
77
|
+
{message && (
|
|
78
|
+
<Alert severity={message.type} sx={{ mb: 2 }}>
|
|
79
|
+
{message.text}
|
|
80
|
+
</Alert>
|
|
81
|
+
)}
|
|
82
|
+
|
|
83
|
+
{hasAuth0Account ? (
|
|
84
|
+
<Box>
|
|
85
|
+
<Alert severity="success" sx={{ mb: 2 }}>
|
|
86
|
+
Your account is linked with Auth0
|
|
87
|
+
</Alert>
|
|
88
|
+
<Typography variant="body2" color="text.secondary" gutterBottom>
|
|
89
|
+
Email: {user?.services?.auth0?.email || 'N/A'}
|
|
90
|
+
</Typography>
|
|
91
|
+
<Typography variant="body2" color="text.secondary" gutterBottom>
|
|
92
|
+
Name: {user?.services?.auth0?.name || 'N/A'}
|
|
93
|
+
</Typography>
|
|
94
|
+
<Button
|
|
95
|
+
variant="outlined"
|
|
96
|
+
color="error"
|
|
97
|
+
onClick={handleUnlinkAccount}
|
|
98
|
+
disabled={loading}
|
|
99
|
+
sx={{ mt: 2 }}
|
|
100
|
+
startIcon={loading ? <CircularProgress size={20} /> : undefined}
|
|
101
|
+
>
|
|
102
|
+
{loading ? 'Unlinking...' : 'Unlink Auth0 Account'}
|
|
103
|
+
</Button>
|
|
104
|
+
</Box>
|
|
105
|
+
) : (
|
|
106
|
+
<Box>
|
|
107
|
+
<Alert severity="info" sx={{ mb: 2 }}>
|
|
108
|
+
Link your account with Auth0 for easier login
|
|
109
|
+
</Alert>
|
|
110
|
+
<Button
|
|
111
|
+
variant="contained"
|
|
112
|
+
onClick={handleLinkAccount}
|
|
113
|
+
disabled={loading}
|
|
114
|
+
startIcon={loading ? <CircularProgress size={20} /> : undefined}
|
|
115
|
+
>
|
|
116
|
+
{loading ? 'Linking...' : 'Link Auth0 Account'}
|
|
117
|
+
</Button>
|
|
118
|
+
</Box>
|
|
119
|
+
)}
|
|
120
|
+
</CardContent>
|
|
121
|
+
</Card>
|
|
122
|
+
);
|
|
123
|
+
};
|