mirror of
https://github.com/strapi/strapi.git
synced 2025-12-27 15:13:21 +00:00
Merge branch 'releases/v4' into v4/graphql-resolvers-rewrite
This commit is contained in:
commit
0e8025df6b
@ -14,3 +14,6 @@ packages/plugins/users-permissions/admin/OLD/**
|
||||
.eslintrc.js
|
||||
.eslintrc.front.js
|
||||
.eslintrc.back.js
|
||||
|
||||
bookshelf.old
|
||||
database.old
|
||||
|
||||
18
README.md
18
README.md
@ -8,24 +8,6 @@
|
||||
<p align="center"><a href="https://strapi.io/demo">Try live demo</a></p>
|
||||
<br />
|
||||
|
||||
<p align="center">
|
||||
<a href="https://console.platform.sh/projects/create-project?template=https://raw.githubusercontent.com/platformsh/template-builder/master/templates/strapi/.platform.template.yaml&utm_content=strapi&utm_source=github&utm_medium=button&utm_campaign=deploy_on_platform">
|
||||
<img src="https://assets.strapi.io/uploads/deploy_button_platform_sh_d032f646a7.png" />
|
||||
</a>
|
||||
|
||||
<a href="https://marketplace.digitalocean.com/apps/strapi">
|
||||
<img src="https://assets.strapi.io/uploads/deploy_button_Digital_Ocean_fe2c286222.png" />
|
||||
</a>
|
||||
|
||||
<a href="https://www.heroku.com/deploy/?template=https://github.com/strapi/strapi-heroku-template">
|
||||
<img src="https://assets.strapi.io/uploads/Deploy_button_heroku_b1043fc67d.png" />
|
||||
</a>
|
||||
|
||||
<a href="https://render.com/docs/deploy-strapi">
|
||||
<img src="https://assets.strapi.io/uploads/deploy_render_e076b6f23a.png" height="44" />
|
||||
</a>
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<a href="https://www.npmjs.org/package/strapi">
|
||||
<img src="https://img.shields.io/npm/v/strapi/latest.svg" alt="NPM Version" />
|
||||
|
||||
@ -97,7 +97,7 @@
|
||||
"basic.simple"
|
||||
]
|
||||
},
|
||||
"one_way_tag_edit": {
|
||||
"one_way_tag": {
|
||||
"type": "relation",
|
||||
"relation": "oneToOne",
|
||||
"target": "application::tag.tag"
|
||||
@ -106,6 +106,7 @@
|
||||
"type": "relation",
|
||||
"relation": "oneToOne",
|
||||
"target": "application::tag.tag",
|
||||
"private": true,
|
||||
"inversedBy": "one_to_one_kitchensink"
|
||||
},
|
||||
"one_to_many_tags": {
|
||||
|
||||
@ -6,53 +6,35 @@
|
||||
|
||||
module.exports = {
|
||||
lifecycles: {
|
||||
beforeCreate(...args) {
|
||||
// console.log('beforeCreate', ...args);
|
||||
beforeCreate(event) {
|
||||
// console.log('beforeCreate');
|
||||
},
|
||||
afterCreate(...args) {
|
||||
// console.log('afterCreate', ...args);
|
||||
afterCreate(event) {
|
||||
// console.log('afterCreate');
|
||||
},
|
||||
beforeUpdate(...args) {
|
||||
// console.log('beforeUpdate', ...args);
|
||||
beforeUpdate(event) {
|
||||
// console.log('beforeUpdate');
|
||||
},
|
||||
afterUpdate(...args) {
|
||||
// console.log('afterUpdate', ...args);
|
||||
afterUpdate(event) {
|
||||
// console.log('afterUpdate');
|
||||
},
|
||||
beforeDelete(...args) {
|
||||
// console.log('beforeDelete', ...args);
|
||||
beforeDelete(event) {
|
||||
// console.log('beforeDelete');
|
||||
},
|
||||
afterDelete(...args) {
|
||||
// console.log('afterDelete', ...args);
|
||||
afterDelete(event) {
|
||||
// console.log('afterDelete');
|
||||
},
|
||||
beforeFind(...args) {
|
||||
// console.log('beforeFind', ...args);
|
||||
beforeFindMany(event) {
|
||||
// console.log('beforeFindMany');
|
||||
},
|
||||
afterFind(...args) {
|
||||
// console.log('afterFind', ...args);
|
||||
afterFindMany(event) {
|
||||
// console.log('afterFindMany');
|
||||
},
|
||||
beforeFindOne(...args) {
|
||||
// console.log('beforeFindOne', ...args);
|
||||
beforeFindOne(event) {
|
||||
// console.log('beforeFindOne');
|
||||
},
|
||||
afterFindOne(...args) {
|
||||
// console.log('afterFindOne', ...args);
|
||||
},
|
||||
beforeCount(...args) {
|
||||
// console.log('beforeCount', ...args);
|
||||
},
|
||||
afterCount(...args) {
|
||||
// console.log('afterCount', ...args);
|
||||
},
|
||||
beforeSearch(...args) {
|
||||
// console.log('beforeSearch', ...args);
|
||||
},
|
||||
afterSearch(...args) {
|
||||
// console.log('afterSearch', ...args);
|
||||
},
|
||||
beforeCountSearch(...args) {
|
||||
// console.log('beforeCountSearch', ...args);
|
||||
},
|
||||
afterCountSearch(...args) {
|
||||
// console.log('afterCountSearch', ...args);
|
||||
afterFindOne(event) {
|
||||
// console.log('afterFindOne');
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
@ -2,7 +2,8 @@
|
||||
"kind": "collectionType",
|
||||
"collectionName": "tags",
|
||||
"info": {
|
||||
"name": "tag"
|
||||
"name": "tag",
|
||||
"description": ""
|
||||
},
|
||||
"options": {
|
||||
"draftAndPublish": true
|
||||
@ -12,29 +13,29 @@
|
||||
"name": {
|
||||
"type": "string"
|
||||
},
|
||||
"one_to_one_kitchensink": {
|
||||
"type": "relation",
|
||||
"target": "application::kitchensink.kitchensink",
|
||||
"relation": "oneToOne",
|
||||
"mappedBy": "one_to_one_tag"
|
||||
},
|
||||
"many_to_one_kitchensink": {
|
||||
"type": "relation",
|
||||
"target": "application::kitchensink.kitchensink",
|
||||
"relation": "manyToOne",
|
||||
"target": "application::kitchensink.kitchensink",
|
||||
"inversedBy": "one_to_many_tags"
|
||||
},
|
||||
"one_to_many_kitchensinks": {
|
||||
"type": "relation",
|
||||
"target": "application::kitchensink.kitchensink",
|
||||
"relation": "oneToMany",
|
||||
"target": "application::kitchensink.kitchensink",
|
||||
"mappedBy": "many_to_one_tag"
|
||||
},
|
||||
"many_to_many_kitchensinks": {
|
||||
"type": "relation",
|
||||
"target": "application::kitchensink.kitchensink",
|
||||
"relation": "manyToMany",
|
||||
"target": "application::kitchensink.kitchensink",
|
||||
"mappedBy": "many_to_many_tags"
|
||||
},
|
||||
"one_to_one_kitchensink": {
|
||||
"type": "relation",
|
||||
"relation": "oneToOne",
|
||||
"target": "application::kitchensink.kitchensink",
|
||||
"mappedBy": "one_to_one_tag"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -2,6 +2,7 @@ module.exports = ({ env }) => ({
|
||||
host: env('HOST', '0.0.0.0'),
|
||||
port: env.int('PORT', 1337),
|
||||
admin: {
|
||||
// autoOpen: true,
|
||||
auth: {
|
||||
secret: env('ADMIN_JWT_SECRET', 'example-token'),
|
||||
},
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "getstarted",
|
||||
"private": true,
|
||||
"version": "3.6.5",
|
||||
"version": "3.6.6",
|
||||
"description": "A Strapi application.",
|
||||
"scripts": {
|
||||
"develop": "strapi develop",
|
||||
@ -12,25 +12,25 @@
|
||||
"strapi": "strapi"
|
||||
},
|
||||
"dependencies": {
|
||||
"@strapi/admin": "3.6.5",
|
||||
"@strapi/plugin-content-manager": "3.6.5",
|
||||
"@strapi/plugin-content-type-builder": "3.6.5",
|
||||
"@strapi/plugin-documentation": "3.6.5",
|
||||
"@strapi/plugin-email": "3.6.5",
|
||||
"@strapi/plugin-graphql": "3.6.5",
|
||||
"@strapi/plugin-i18n": "3.6.5",
|
||||
"@strapi/plugin-upload": "3.6.5",
|
||||
"@strapi/plugin-users-permissions": "3.6.5",
|
||||
"@strapi/provider-email-mailgun": "3.6.5",
|
||||
"@strapi/provider-upload-aws-s3": "3.6.5",
|
||||
"@strapi/provider-upload-cloudinary": "3.6.5",
|
||||
"@strapi/strapi": "3.6.5",
|
||||
"@strapi/utils": "3.6.5",
|
||||
"@strapi/admin": "3.6.6",
|
||||
"@strapi/plugin-content-manager": "3.6.6",
|
||||
"@strapi/plugin-content-type-builder": "3.6.6",
|
||||
"@strapi/plugin-documentation": "3.6.6",
|
||||
"@strapi/plugin-email": "3.6.6",
|
||||
"@strapi/plugin-graphql": "3.6.6",
|
||||
"@strapi/plugin-i18n": "3.6.6",
|
||||
"@strapi/plugin-upload": "3.6.6",
|
||||
"@strapi/plugin-users-permissions": "3.6.6",
|
||||
"@strapi/provider-email-mailgun": "3.6.6",
|
||||
"@strapi/provider-upload-aws-s3": "3.6.6",
|
||||
"@strapi/provider-upload-cloudinary": "3.6.6",
|
||||
"@strapi/strapi": "3.6.6",
|
||||
"@strapi/utils": "3.6.6",
|
||||
"lodash": "4.17.21",
|
||||
"mysql": "2.18.1",
|
||||
"pg": "8.6.0",
|
||||
"sqlite3": "5.0.2",
|
||||
"strapi-middleware-views": "3.6.5"
|
||||
"strapi-middleware-views": "3.6.6"
|
||||
},
|
||||
"strapi": {
|
||||
"uuid": "getstarted"
|
||||
|
||||
@ -1,8 +1,9 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"rootDir": ".",
|
||||
"module": "commonjs",
|
||||
"target": "es6"
|
||||
},
|
||||
"include": ["packages/**/*"],
|
||||
"exclude": ["node_modules", "**/node_modules/*"]
|
||||
"include": ["packages/**/*.js"],
|
||||
"exclude": ["node_modules", ".git", ".npm", ".cache", ".tmp", "dist", "build"]
|
||||
}
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
{
|
||||
"version": "3.6.5",
|
||||
"version": "3.6.6",
|
||||
"packages": [
|
||||
"packages/*",
|
||||
"examples/*"
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "create-strapi-app",
|
||||
"version": "3.6.5",
|
||||
"version": "3.6.6",
|
||||
"description": "Generate a new Strapi application.",
|
||||
"license": "SEE LICENSE IN LICENSE",
|
||||
"homepage": "https://strapi.io",
|
||||
@ -21,7 +21,7 @@
|
||||
"inquirer": "8.1.0",
|
||||
"js-yaml": "4.1.0",
|
||||
"node-fetch": "^2.6.1",
|
||||
"@strapi/generate-new": "3.6.5"
|
||||
"@strapi/generate-new": "3.6.6"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "echo \"no tests yet\""
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "create-strapi-starter",
|
||||
"version": "3.6.5",
|
||||
"version": "3.6.6",
|
||||
"description": "Generate a new Strapi application.",
|
||||
"license": "SEE LICENSE IN LICENSE",
|
||||
"homepage": "https://strapi.io",
|
||||
@ -26,8 +26,8 @@
|
||||
"js-yaml": "4.1.0",
|
||||
"node-fetch": "^2.6.1",
|
||||
"ora": "5.4.0",
|
||||
"@strapi/generate-new": "3.6.5",
|
||||
"tar": "6.1.0"
|
||||
"@strapi/generate-new": "3.6.6",
|
||||
"tar": "6.1.2"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "echo \"no tests yet\""
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 6.8 KiB |
@ -2,7 +2,7 @@ import styled from 'styled-components';
|
||||
import PropTypes from 'prop-types';
|
||||
|
||||
const Wrapper = styled.div`
|
||||
background-color: #007eff;
|
||||
background-color: ${props => props.theme.main.colors.leftMenu['background-header-link']};
|
||||
padding-left: 2rem;
|
||||
height: ${props => props.theme.main.sizes.leftMenu.height};
|
||||
|
||||
|
||||
@ -44,7 +44,10 @@ const ActionRow = ({
|
||||
style={{ maxWidth: '60%' }}
|
||||
ellipsis
|
||||
>
|
||||
{label}
|
||||
{formatMessage({
|
||||
id: `Settings.roles.form.permissions.${label.toLowerCase()}`,
|
||||
defaultMessage: label,
|
||||
})}
|
||||
</Text>
|
||||
<Text
|
||||
lineHeight="19px"
|
||||
|
||||
@ -40,7 +40,10 @@ const Header = ({ headers, label }) => {
|
||||
return (
|
||||
<HeaderLabel key={header.label}>
|
||||
<Text textTransform="capitalize" fontWeight="bold">
|
||||
{header.label}
|
||||
{formatMessage({
|
||||
id: `Settings.roles.form.permissions.${header.label.toLowerCase()}`,
|
||||
defaultMessage: header.label,
|
||||
})}
|
||||
</Text>
|
||||
</HeaderLabel>
|
||||
);
|
||||
|
||||
@ -0,0 +1,29 @@
|
||||
import styled from 'styled-components';
|
||||
|
||||
// TODO : To migrate with @strapi/parts
|
||||
const Wrapper = styled.div`
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-top: 2rem;
|
||||
border-radius: 4px;
|
||||
border-left: 4px solid ${({ theme }) => theme.main.colors.mediumBlue};
|
||||
box-shadow: 0 2px 4px ${({ theme }) => theme.main.colors.darkGrey};
|
||||
padding: 8px 16px;
|
||||
|
||||
.bannerImage {
|
||||
margin-right: 1rem;
|
||||
width: 48px;
|
||||
height: 48px;
|
||||
margin-right: 16px;
|
||||
}
|
||||
|
||||
.bannerLink {
|
||||
color: ${({ theme }) => theme.main.colors.mediumBlue};
|
||||
font-weight: ${({ theme }) => theme.main.fontWeights.bold};
|
||||
svg {
|
||||
margin-left: 4px;
|
||||
}
|
||||
}
|
||||
`;
|
||||
|
||||
export default Wrapper;
|
||||
@ -0,0 +1,34 @@
|
||||
import React from 'react';
|
||||
import { FormattedMessage, useIntl } from 'react-intl';
|
||||
import Wrapper from './Wrapper';
|
||||
import LogoStrapi from '../../../assets/images/banner_strapi-rocket.png';
|
||||
|
||||
const PluginBanner = () => {
|
||||
const { formatMessage } = useIntl();
|
||||
|
||||
return (
|
||||
<Wrapper>
|
||||
<img
|
||||
className="bannerImage"
|
||||
src={LogoStrapi}
|
||||
alt={formatMessage({ id: 'app.components.PluginBanner.image.alt' })}
|
||||
/>
|
||||
<div>
|
||||
<div>
|
||||
<FormattedMessage id="app.components.PluginBanner" />
|
||||
</div>
|
||||
<a
|
||||
href="https://github.com/strapi/awesome-strapi"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="bannerLink"
|
||||
>
|
||||
<FormattedMessage id="app.components.PluginBanner.link" />
|
||||
<i className="fa fa-external-link-alt" />
|
||||
</a>
|
||||
</div>
|
||||
</Wrapper>
|
||||
);
|
||||
};
|
||||
|
||||
export default PluginBanner;
|
||||
@ -15,6 +15,7 @@ import { useFetchPluginsFromMarketPlace } from '../../hooks';
|
||||
import PageTitle from '../../components/PageTitle';
|
||||
import PluginCard from './PluginCard';
|
||||
import Wrapper from './Wrapper';
|
||||
import PluginBanner from './PluginBanner';
|
||||
|
||||
const MarketPlacePage = () => {
|
||||
const toggleNotification = useNotification();
|
||||
@ -30,7 +31,7 @@ const MarketPlacePage = () => {
|
||||
const emitEventRef = useRef(trackUsage);
|
||||
|
||||
useEffect(() => {
|
||||
emitEventRef.current('didGotToMarketplace');
|
||||
emitEventRef.current('didGoToMarketplace');
|
||||
}, []);
|
||||
|
||||
if (isLoading || error) {
|
||||
@ -90,6 +91,7 @@ const MarketPlacePage = () => {
|
||||
id: 'app.components.InstallPluginPage.description',
|
||||
})}
|
||||
/>
|
||||
<PluginBanner />
|
||||
<div className="row" style={{ paddingTop: '4.1rem' }}>
|
||||
{data.map(plugin => {
|
||||
return (
|
||||
|
||||
@ -64,6 +64,15 @@ describe('ADMIN | pages | SettingsPage', () => {
|
||||
const { container } = render(App);
|
||||
|
||||
expect(container.firstChild).toMatchInlineSnapshot(`
|
||||
.c5 {
|
||||
margin: 0;
|
||||
line-height: 34px;
|
||||
color: #292b2c;
|
||||
font-size: 13px;
|
||||
font-weight: 400;
|
||||
text-transform: none;
|
||||
}
|
||||
|
||||
.c1 {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
@ -105,15 +114,6 @@ describe('ADMIN | pages | SettingsPage', () => {
|
||||
margin-bottom: 29px;
|
||||
}
|
||||
|
||||
.c5 {
|
||||
margin: 0;
|
||||
line-height: 34px;
|
||||
color: #292b2c;
|
||||
font-size: 13px;
|
||||
font-weight: 400;
|
||||
text-transform: none;
|
||||
}
|
||||
|
||||
.c4 {
|
||||
display: -webkit-box;
|
||||
display: -webkit-flex;
|
||||
|
||||
@ -37,6 +37,7 @@ const colors = {
|
||||
'link-hover': '#1c2431',
|
||||
'link-color': '#919bae',
|
||||
'title-color': '#5b626f',
|
||||
'background-header-link': '#007eff',
|
||||
},
|
||||
strapi: {
|
||||
'gray-light': '#eff3f6',
|
||||
|
||||
@ -231,6 +231,9 @@
|
||||
"app.components.Official": "Official",
|
||||
"app.components.Onboarding.label.completed": "% completed",
|
||||
"app.components.Onboarding.title": "Get Started Videos",
|
||||
"app.components.PluginBanner": "Discover plugins built by the community, and many more awesome things to kickstart your project, on Strapi Awesome.",
|
||||
"app.components.PluginBanner.image.alt": "a strapi rocket logo",
|
||||
"app.components.PluginBanner.link": "Check it out now",
|
||||
"app.components.PluginCard.Button.label.download": "Download",
|
||||
"app.components.PluginCard.Button.label.install": "Already installed",
|
||||
"app.components.PluginCard.PopUpWarning.install.impossible.autoReload.needed": "The autoReload feature needs to be enabled. Please start your app with `yarn develop`.",
|
||||
|
||||
@ -2,11 +2,12 @@
|
||||
|
||||
// eslint-disable-next-line node/no-extraneous-require
|
||||
const { features } = require('@strapi/strapi/lib/utils/ee');
|
||||
const executeCEBootstrap = require('../../../config/functions/bootstrap');
|
||||
const executeCEBootstrap = require('../../../../server/config/functions/bootstrap');
|
||||
const {
|
||||
features: { sso: ssoActions },
|
||||
} = require('../admin-actions');
|
||||
const { getService } = require('../../../utils');
|
||||
|
||||
const { getService } = require('../../../../server/utils');
|
||||
|
||||
module.exports = async () => {
|
||||
const { actionProvider } = getService('permission');
|
||||
8
packages/core/admin/ee/server/config/index.js
Normal file
8
packages/core/admin/ee/server/config/index.js
Normal file
@ -0,0 +1,8 @@
|
||||
'use strict';
|
||||
|
||||
module.exports = {
|
||||
functions: {
|
||||
bootstrap: require('./functions/bootstrap'),
|
||||
},
|
||||
routes: require('./routes').routes,
|
||||
};
|
||||
@ -2,7 +2,7 @@
|
||||
|
||||
const passport = require('koa-passport');
|
||||
|
||||
const { getService } = require('../../../utils');
|
||||
const { getService } = require('../../../../server/utils');
|
||||
const utils = require('./utils');
|
||||
|
||||
const defaultConnectionError = () => new Error('Invalid connection payload');
|
||||
8
packages/core/admin/ee/server/controllers/index.js
Normal file
8
packages/core/admin/ee/server/controllers/index.js
Normal file
@ -0,0 +1,8 @@
|
||||
'use strict';
|
||||
|
||||
module.exports = {
|
||||
authentication: require('./authentication'),
|
||||
permission: require('./permission'),
|
||||
role: require('./role'),
|
||||
user: require('./user'),
|
||||
};
|
||||
@ -1,7 +1,7 @@
|
||||
'use strict';
|
||||
|
||||
const { getService } = require('../../utils');
|
||||
const { formatConditions } = require('../../controllers/formatters');
|
||||
const { getService } = require('../../../server/utils');
|
||||
const { formatConditions } = require('../../../server/controllers/formatters');
|
||||
|
||||
module.exports = {
|
||||
async getAll(ctx) {
|
||||
@ -6,9 +6,9 @@ const {
|
||||
validateRoleDeleteInput,
|
||||
validateRolesDeleteInput,
|
||||
} = require('../validation/role');
|
||||
const { getService } = require('../../utils');
|
||||
const { getService } = require('../../../server//utils');
|
||||
const { validatedUpdatePermissionsInput } = require('../validation/permission');
|
||||
const { SUPER_ADMIN_CODE } = require('../../services/constants');
|
||||
const { SUPER_ADMIN_CODE } = require('../../../server/services/constants');
|
||||
|
||||
module.exports = {
|
||||
/**
|
||||
@ -2,7 +2,7 @@
|
||||
|
||||
const { pick } = require('lodash/fp');
|
||||
const { validateUserCreationInput } = require('../validation/user');
|
||||
const { getService } = require('../../utils');
|
||||
const { getService } = require('../../../server/utils');
|
||||
|
||||
const pickUserCreationAttributes = pick(['firstname', 'lastname', 'email', 'roles']);
|
||||
|
||||
8
packages/core/admin/ee/server/index.js
Normal file
8
packages/core/admin/ee/server/index.js
Normal file
@ -0,0 +1,8 @@
|
||||
'use strict';
|
||||
|
||||
module.exports = {
|
||||
// TODO: update load middleware to not load the admin middleware from here
|
||||
config: require('./config'),
|
||||
services: require('./services'),
|
||||
controllers: require('./controllers'),
|
||||
};
|
||||
@ -7,7 +7,7 @@ jest.mock('koa-passport', () => ({
|
||||
|
||||
const passport = require('koa-passport');
|
||||
|
||||
const { init } = require('../../../services/passport');
|
||||
const { init } = require('../../../../server/services/passport');
|
||||
|
||||
describe('Passport', () => {
|
||||
afterEach(() => {
|
||||
6
packages/core/admin/ee/server/services/index.js
Normal file
6
packages/core/admin/ee/server/services/index.js
Normal file
@ -0,0 +1,6 @@
|
||||
'use strict';
|
||||
|
||||
module.exports = {
|
||||
passport: require('./passport'),
|
||||
role: require('./role'),
|
||||
};
|
||||
@ -3,7 +3,7 @@
|
||||
// eslint-disable-next-line node/no-extraneous-require
|
||||
const { features } = require('@strapi/strapi/lib/utils/ee');
|
||||
|
||||
const createLocalStrategy = require('../../services/passport/local-strategy');
|
||||
const createLocalStrategy = require('../../../server/services/passport/local-strategy');
|
||||
const sso = require('./passport/sso');
|
||||
|
||||
const getPassportStrategies = () => {
|
||||
@ -1,6 +1,6 @@
|
||||
'use strict';
|
||||
|
||||
const { authEventsMapper } = require('../../../services/passport');
|
||||
const { authEventsMapper } = require('../../../../server/services/passport');
|
||||
const createProviderRegistry = require('./provider-registry');
|
||||
|
||||
const providerRegistry = createProviderRegistry();
|
||||
@ -1,8 +1,8 @@
|
||||
'use strict';
|
||||
|
||||
const { createStrapiInstance } = require('../../../../../test/helpers/strapi');
|
||||
const { createAuthRequest, createRequest } = require('../../../../../test/helpers/request');
|
||||
const { createUtils } = require('../../../../../test/helpers/utils');
|
||||
const { createStrapiInstance } = require('../../../../../../test/helpers/strapi');
|
||||
const { createAuthRequest, createRequest } = require('../../../../../../test/helpers/request');
|
||||
const { createUtils } = require('../../../../../../test/helpers/utils');
|
||||
|
||||
const edition = process.env.STRAPI_DISABLE_EE === 'true' ? 'CE' : 'EE';
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
'use strict';
|
||||
|
||||
const { formatYupErrors } = require('@strapi/utils');
|
||||
const validators = require('../../validation/common-validators');
|
||||
const validators = require('../../../server/validation/common-validators');
|
||||
|
||||
const handleReject = error => Promise.reject(formatYupErrors(error));
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
const { yup, formatYupErrors } = require('@strapi/utils');
|
||||
// eslint-disable-next-line node/no-extraneous-require
|
||||
const { features } = require('@strapi/strapi/lib/utils/ee');
|
||||
const { schemas } = require('../../validation/user');
|
||||
const { schemas } = require('../../../server/validation/user');
|
||||
|
||||
const handleReject = error => Promise.reject(formatYupErrors(error));
|
||||
|
||||
3
packages/core/admin/ee/strapi-server.js
Normal file
3
packages/core/admin/ee/strapi-server.js
Normal file
@ -0,0 +1,3 @@
|
||||
'use strict';
|
||||
|
||||
module.exports = require('./server');
|
||||
@ -150,7 +150,7 @@ async function copyAdmin(dest) {
|
||||
await fs.ensureDir(path.resolve(dest, 'config'));
|
||||
await fs.copy(path.resolve(adminPath, 'admin'), path.resolve(dest, 'admin'));
|
||||
await fs.copy(
|
||||
path.resolve(adminPath, 'config', 'layout.js'),
|
||||
path.resolve(adminPath, 'server', 'config', 'layout.js'),
|
||||
path.resolve(dest, 'config', 'layout.js')
|
||||
);
|
||||
|
||||
@ -230,6 +230,7 @@ async function watchAdmin({ dir, host, port, browser, options }) {
|
||||
roots,
|
||||
};
|
||||
|
||||
const webpackConfig = getCustomWebpackConfig(dir, args);
|
||||
const opts = {
|
||||
clientLogLevel: 'silent',
|
||||
quiet: true,
|
||||
@ -239,9 +240,9 @@ async function watchAdmin({ dir, host, port, browser, options }) {
|
||||
index: options.adminPath,
|
||||
disableDotRule: true,
|
||||
},
|
||||
...webpack(webpackConfig).options.devServer,
|
||||
};
|
||||
|
||||
const webpackConfig = getCustomWebpackConfig(dir, args);
|
||||
const server = new WebpackDevServer(webpack(webpackConfig), opts);
|
||||
|
||||
server.listen(port, host, function(err) {
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@strapi/admin",
|
||||
"version": "3.6.5",
|
||||
"version": "3.6.6",
|
||||
"description": "Strapi Admin",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
@ -25,12 +25,12 @@
|
||||
"@babel/preset-env": "7.14.0",
|
||||
"@babel/preset-react": "7.13.13",
|
||||
"@babel/runtime": "7.14.0",
|
||||
"@buffetjs/core": "3.3.6",
|
||||
"@buffetjs/custom": "3.3.6",
|
||||
"@buffetjs/hooks": "3.3.6",
|
||||
"@buffetjs/icons": "3.3.6",
|
||||
"@buffetjs/styles": "3.3.6",
|
||||
"@buffetjs/utils": "3.3.6",
|
||||
"@buffetjs/core": "3.3.8",
|
||||
"@buffetjs/custom": "3.3.8",
|
||||
"@buffetjs/hooks": "3.3.8",
|
||||
"@buffetjs/icons": "3.3.8",
|
||||
"@buffetjs/styles": "3.3.8",
|
||||
"@buffetjs/utils": "3.3.8",
|
||||
"@casl/ability": "^4.1.5",
|
||||
"@fingerprintjs/fingerprintjs": "3.1.1",
|
||||
"@fortawesome/fontawesome-free": "^5.15.3",
|
||||
@ -39,8 +39,8 @@
|
||||
"@fortawesome/free-solid-svg-icons": "^5.15.3",
|
||||
"@fortawesome/react-fontawesome": "^0.1.14",
|
||||
"@strapi/babel-plugin-switch-ee-ce": "1.0.0",
|
||||
"@strapi/helper-plugin": "3.6.5",
|
||||
"@strapi/utils": "3.6.5",
|
||||
"@strapi/helper-plugin": "3.6.6",
|
||||
"@strapi/utils": "3.6.6",
|
||||
"axios": "^0.21.1",
|
||||
"babel-loader": "8.2.2",
|
||||
"babel-plugin-styled-components": "1.12.0",
|
||||
|
||||
@ -55,11 +55,4 @@ module.exports = async () => {
|
||||
await userService.displayWarningIfUsersDontHaveRole();
|
||||
|
||||
await syncAuthSettings();
|
||||
|
||||
strapi.admin.destroy = async () => {
|
||||
const { conditionProvider, actionProvider } = getService('permission');
|
||||
|
||||
await conditionProvider.clear();
|
||||
await actionProvider.clear();
|
||||
};
|
||||
};
|
||||
@ -1,3 +1,4 @@
|
||||
/* eslint-disable no-unused-vars */
|
||||
'use strict';
|
||||
|
||||
const permissionsFieldsToPropertiesMigration = require('../migrations/permissions-fields-to-properties');
|
||||
15
packages/core/admin/server/config/index.js
Normal file
15
packages/core/admin/server/config/index.js
Normal file
@ -0,0 +1,15 @@
|
||||
'use strict';
|
||||
|
||||
module.exports = {
|
||||
functions: {
|
||||
bootstrap: require('./functions/bootstrap'),
|
||||
register: require('./functions/register'),
|
||||
},
|
||||
policies: {
|
||||
hasPermissions: require('./policies/hasPermissions'),
|
||||
isAuthenticatedAdmin: require('./policies/isAuthenticatedAdmin'),
|
||||
},
|
||||
routes: require('./routes').routes,
|
||||
layout: require('./layout'),
|
||||
...require('./settings'),
|
||||
};
|
||||
7
packages/core/admin/server/content-types/index.js
Normal file
7
packages/core/admin/server/content-types/index.js
Normal file
@ -0,0 +1,7 @@
|
||||
'use strict';
|
||||
|
||||
module.exports = {
|
||||
permission: require('./Permission'),
|
||||
user: require('./User'),
|
||||
role: require('./Role'),
|
||||
};
|
||||
@ -1,6 +1,6 @@
|
||||
'use strict';
|
||||
|
||||
const createContext = require('../../../../../test/helpers/create-context');
|
||||
const createContext = require('../../../../../../test/helpers/create-context');
|
||||
const permissionController = require('../permission');
|
||||
|
||||
describe('Permission Controller', () => {
|
||||
@ -1,6 +1,6 @@
|
||||
'use strict';
|
||||
|
||||
const createContext = require('../../../../../test/helpers/create-context');
|
||||
const createContext = require('../../../../../../test/helpers/create-context');
|
||||
const roleController = require('../role');
|
||||
|
||||
describe('Role controller', () => {
|
||||
@ -1,6 +1,6 @@
|
||||
'use strict';
|
||||
|
||||
const createContext = require('../../../../../test/helpers/create-context');
|
||||
const createContext = require('../../../../../../test/helpers/create-context');
|
||||
const userController = require('../user');
|
||||
|
||||
describe('User Controller', () => {
|
||||
@ -2,12 +2,11 @@
|
||||
|
||||
const execa = require('execa');
|
||||
const _ = require('lodash');
|
||||
const { getService } = require('../utils');
|
||||
|
||||
// FIXME
|
||||
// eslint-disable-next-line node/no-extraneous-require
|
||||
const ee = require('@strapi/strapi/lib/utils/ee');
|
||||
|
||||
const { getService } = require('../utils');
|
||||
|
||||
const PLUGIN_NAME_REGEX = /^[A-Za-z][A-Za-z0-9-_]+$/;
|
||||
|
||||
/**
|
||||
11
packages/core/admin/server/controllers/index.js
Normal file
11
packages/core/admin/server/controllers/index.js
Normal file
@ -0,0 +1,11 @@
|
||||
'use strict';
|
||||
|
||||
module.exports = {
|
||||
admin: require('./admin'),
|
||||
'authenticated-user': require('./authenticated-user'),
|
||||
authentication: require('./authentication'),
|
||||
permission: require('./permission'),
|
||||
role: require('./role'),
|
||||
user: require('./user'),
|
||||
webhooks: require('./Webhooks'),
|
||||
};
|
||||
18
packages/core/admin/server/index.js
Normal file
18
packages/core/admin/server/index.js
Normal file
@ -0,0 +1,18 @@
|
||||
'use strict';
|
||||
|
||||
const { getService } = require('./utils');
|
||||
|
||||
module.exports = {
|
||||
// TODO: update load middleware to not load the admin middleware from here
|
||||
// TODO: load bootstrap / register independently
|
||||
async destroy() {
|
||||
const { conditionProvider, actionProvider } = getService('permission');
|
||||
|
||||
await conditionProvider.clear();
|
||||
await actionProvider.clear();
|
||||
},
|
||||
config: require('./config'),
|
||||
services: require('./services'),
|
||||
controllers: require('./controllers'),
|
||||
models: require('./content-types'),
|
||||
};
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user