Update branch

Merge branch 'add-overlay-blocker' of github.com:strapi/strapi into add-overlay-blocker
This commit is contained in:
cyril lopez 2018-01-18 10:57:39 +01:00
commit b29ff0893e
33 changed files with 179 additions and 151 deletions

View File

@ -330,7 +330,7 @@ export default FooPage;
## OverlayBlocker ## OverlayBlocker
The OverlayBlocker is a React component that is very useful to block user interactions when the strapi server is restarting in order to avoid front-end errors. This component is automatically displayed when the server needs to restart. You need to disable in order to override the current design. The OverlayBlocker is a React component that is very useful to block user interactions when the strapi server is restarting in order to avoid front-end errors. This component is automatically displayed when the server needs to restart. You need to disable it in order to override the current design (once disabled it won't show on the other plugins so it's really important to enable it back when the component is unmounting).
### Usage ### Usage
@ -341,7 +341,7 @@ The OverlayBlocker is a React component that is very useful to block user intera
### Example ### Example
In this example we'll have a button that when clicked it will display the OverlayBlocker for 5 seconds thus 'freezes' the admin so the user can't navigate (it simulates a very long server restart). In this example we'll have a button that when clicked will display the OverlayBlocker for 5 seconds thus 'freezes' the admin so the user can't navigate (it simulates a very long server restart).
**Path -** `./plugins/my-plugin/admin/src/containers/FooPage/constants.js`. **Path -** `./plugins/my-plugin/admin/src/containers/FooPage/constants.js`.
```js ```js

View File

@ -1,6 +1,6 @@
{ {
"private": true, "private": true,
"version": "3.0.0-alpha.7.3", "version": "3.0.0-alpha.8",
"devDependencies": { "devDependencies": {
"assert": "~1.3.0", "assert": "~1.3.0",
"babel-eslint": "^6.1.2", "babel-eslint": "^6.1.2",

View File

@ -19,7 +19,10 @@ import styles from './styles.scss';
class InstallPluginPopup extends React.Component { class InstallPluginPopup extends React.Component {
handleClick = () => { handleClick = () => {
this.props.history.push({ pathname: this.props.history.location.pathname }); this.props.history.push({ pathname: this.props.history.location.pathname });
this.context.downloadPlugin(this.props.plugin.id);
if (!this.props.isAlreadyInstalled) {
this.context.downloadPlugin(this.props.plugin.id);
}
} }
toggle = () => { toggle = () => {
@ -56,6 +59,7 @@ class InstallPluginPopup extends React.Component {
short: this.props.plugin.id === 'support-us' ? <FormattedMessage id={this.props.plugin.description.short} /> : this.props.plugin.description.short, short: this.props.plugin.id === 'support-us' ? <FormattedMessage id={this.props.plugin.description.short} /> : this.props.plugin.description.short,
long: this.props.plugin.id === 'support-us' ? <FormattedMessage id={this.props.plugin.description.long || this.props.plugin.description.short} /> : this.props.plugin.description.long || this.props.plugin.description.short, long: this.props.plugin.id === 'support-us' ? <FormattedMessage id={this.props.plugin.description.long || this.props.plugin.description.short} /> : this.props.plugin.description.long || this.props.plugin.description.short,
}; };
const buttonName = this.props.isAlreadyInstalled ? 'app.components.PluginCard.Button.label.install' : 'app.components.InstallPluginPopup.downloads';
return ( return (
<Modal isOpen={this.props.isOpen} toggle={this.toggle} className={styles.modalPosition}> <Modal isOpen={this.props.isOpen} toggle={this.toggle} className={styles.modalPosition}>
@ -93,7 +97,7 @@ class InstallPluginPopup extends React.Component {
</div> </div>
<div className={styles.buttonWrapper} onClick={this.handleClick}> <div className={styles.buttonWrapper} onClick={this.handleClick}>
<div> <div>
<FormattedMessage id="app.components.InstallPluginPopup.downloads" /> <FormattedMessage id={buttonName} />
</div> </div>
{/* Uncomment whebn prices are running} {/* Uncomment whebn prices are running}
<div>{this.props.plugin.price}&nbsp;</div> <div>{this.props.plugin.price}&nbsp;</div>
@ -149,6 +153,7 @@ InstallPluginPopup.propTypes = {
short: PropTypes.string, short: PropTypes.string,
}), }),
history: PropTypes.object.isRequired, history: PropTypes.object.isRequired,
isAlreadyInstalled: PropTypes.bool.isRequired,
isOpen: PropTypes.bool.isRequired, isOpen: PropTypes.bool.isRequired,
plugin: PropTypes.object.isRequired, plugin: PropTypes.object.isRequired,
}; };

View File

@ -23,10 +23,6 @@
flex-grow: 2; flex-grow: 2;
} }
} }
// > div:last-child {
// width: 50px;
// border-left: 1px solid #0774D9;
// }
} }
.headerButtonContainer { .headerButtonContainer {
@ -102,6 +98,7 @@
color: #C3C5C8; color: #C3C5C8;
opacity: 1; opacity: 1;
outline: 0!important; outline: 0!important;
cursor: pointer;
} }
> span { > span {
display: none; display: none;

View File

@ -64,7 +64,13 @@ class PluginCard extends React.Component {
} }
handleDownloadPlugin = (e) => { handleDownloadPlugin = (e) => {
this.props.downloadPlugin(e); if (!this.props.isAlreadyInstalled && this.props.plugin.id !== 'support-us') {
this.props.downloadPlugin(e);
} else if (this.props.plugin.id === 'support-us') {
this.aTag.click();
} else {
this.props.history.push('/list-plugins');
}
} }
shouldOpenModal = (props) => { shouldOpenModal = (props) => {
@ -132,9 +138,10 @@ class PluginCard extends React.Component {
onClick={this.handleDownloadPlugin} onClick={this.handleDownloadPlugin}
/> />
<a <a
href="mailto:hi@strapi.io?subject=I'd like to support Strapi" href="https://strapi.io/shop"
style={{ display: 'none' }} style={{ display: 'none' }}
ref={(a) => { this.aTag = a; }} ref={(a) => { this.aTag = a; }}
target="_blank"
> >
&nbsp; &nbsp;
</a> </a>

View File

@ -13,10 +13,6 @@ import { FormattedMessage } from 'react-intl';
import Ico from 'components/Ico'; import Ico from 'components/Ico';
import ListRow from 'components/ListRow'; import ListRow from 'components/ListRow';
import PopUpWarning from 'components/PopUpWarning'; import PopUpWarning from 'components/PopUpWarning';
import IconAuth from 'assets/icons/icon_auth-permissions.svg';
import IconCtb from 'assets/icons/icon_content-type-builder.svg';
import IconCm from 'assets/icons/icon_content-manager.svg';
import IconSettings from 'assets/icons/icon_settings-manager.svg';
import styles from './styles.scss'; import styles from './styles.scss';
@ -34,30 +30,16 @@ class Row extends React.Component {
this.props.onDeleteClick(e); this.props.onDeleteClick(e);
} }
renderImg = () => {
switch (this.props.plugin.name) {
case 'Auth & Permissions':
return <img src={IconAuth} alt="logo" />;
case 'Content Manager':
return <img src={IconCm} alt="logo" />;
case 'Settings Manager':
return <img src={IconSettings} alt="logo" />;
case 'Content Type Builder':
return <img src={IconCtb} alt="logo" />;
default:
}
}
render() { render() {
return ( return (
<ListRow> <ListRow>
<div className={cn("col-md-11", styles.nameWrapper)}> <div className={cn("col-md-11", styles.nameWrapper)}>
<div className={styles.icoContainer} style={{ marginRight: '30px' }}> <div className={styles.icoContainer} style={{ marginRight: '14px' }}>
<img src={`${this.props.plugin.logo}`} alt="icon" /> <img src={`${this.props.plugin.logo}`} alt="icon" />
</div> </div>
<div className={styles.pluginContent}> <div className={styles.pluginContent}>
<span>{this.props.plugin.name} &nbsp;</span> <span>{this.props.plugin.name} &nbsp;</span>
<FormattedMessage id={this.props.plugin.description} /> <FormattedMessage id={`${this.props.plugin.description}.short`} />
</div> </div>
</div> </div>
<div className="col-md-1"> <div className="col-md-1">

View File

@ -1,6 +1,6 @@
{ {
"name": "strapi-admin", "name": "strapi-admin",
"version": "3.0.0-alpha.7.3", "version": "3.0.0-alpha.8",
"description": "Strapi Admin", "description": "Strapi Admin",
"repository": { "repository": {
"type": "git", "type": "git",
@ -28,8 +28,8 @@
}, },
"devDependencies": { "devDependencies": {
"sanitize.css": "^4.1.0", "sanitize.css": "^4.1.0",
"strapi-helper-plugin": "3.0.0-alpha.7.3", "strapi-helper-plugin": "3.0.0-alpha.8",
"strapi-utils": "3.0.0-alpha.7.3" "strapi-utils": "3.0.0-alpha.8"
}, },
"author": { "author": {
"name": "Strapi", "name": "Strapi",

View File

@ -1,6 +1,6 @@
{ {
"name": "strapi-bookshelf", "name": "strapi-bookshelf",
"version": "3.0.0-alpha.7.3", "version": "3.0.0-alpha.8",
"description": "Bookshelf hook for the Strapi framework", "description": "Bookshelf hook for the Strapi framework",
"homepage": "http://strapi.io", "homepage": "http://strapi.io",
"keywords": [ "keywords": [
@ -19,8 +19,8 @@
"bookshelf": "^0.10.3", "bookshelf": "^0.10.3",
"lodash": "^4.17.4", "lodash": "^4.17.4",
"pluralize": "^6.0.0", "pluralize": "^6.0.0",
"strapi-knex": "3.0.0-alpha.7.3", "strapi-knex": "3.0.0-alpha.8",
"strapi-utils": "3.0.0-alpha.7.3" "strapi-utils": "3.0.0-alpha.8"
}, },
"strapi": { "strapi": {
"isHook": true, "isHook": true,

View File

@ -1,6 +1,6 @@
{ {
"name": "strapi-ejs", "name": "strapi-ejs",
"version": "3.0.0-alpha.7.3", "version": "3.0.0-alpha.8",
"description": "EJS hook for the Strapi framework", "description": "EJS hook for the Strapi framework",
"homepage": "http://strapi.io", "homepage": "http://strapi.io",
"keywords": [ "keywords": [

View File

@ -1,6 +1,6 @@
{ {
"name": "strapi-generate-admin", "name": "strapi-generate-admin",
"version": "3.0.0-alpha.7.3", "version": "3.0.0-alpha.8",
"description": "Generate the default admin panel for a Strapi application.", "description": "Generate the default admin panel for a Strapi application.",
"homepage": "http://strapi.io", "homepage": "http://strapi.io",
"keywords": [ "keywords": [
@ -15,7 +15,7 @@
"dependencies": { "dependencies": {
"fs-extra": "^4.0.1", "fs-extra": "^4.0.1",
"lodash": "^4.17.4", "lodash": "^4.17.4",
"strapi-admin": "3.0.0-alpha.7.3" "strapi-admin": "3.0.0-alpha.8"
}, },
"author": { "author": {
"email": "hi@strapi.io", "email": "hi@strapi.io",

View File

@ -1,6 +1,6 @@
{ {
"name": "strapi-generate-api", "name": "strapi-generate-api",
"version": "3.0.0-alpha.7.3", "version": "3.0.0-alpha.8",
"description": "Generate an API for a Strapi application.", "description": "Generate an API for a Strapi application.",
"homepage": "http://strapi.io", "homepage": "http://strapi.io",
"keywords": [ "keywords": [

View File

@ -1,6 +1,6 @@
{ {
"name": "strapi-generate-controller", "name": "strapi-generate-controller",
"version": "3.0.0-alpha.7.3", "version": "3.0.0-alpha.8",
"description": "Generate a controller for a Strapi API.", "description": "Generate a controller for a Strapi API.",
"homepage": "http://strapi.io", "homepage": "http://strapi.io",
"keywords": [ "keywords": [

View File

@ -1,6 +1,6 @@
{ {
"name": "strapi-generate-model", "name": "strapi-generate-model",
"version": "3.0.0-alpha.7.3", "version": "3.0.0-alpha.8",
"description": "Generate a model for a Strapi API.", "description": "Generate a model for a Strapi API.",
"homepage": "http://strapi.io", "homepage": "http://strapi.io",
"keywords": [ "keywords": [

View File

@ -1,6 +1,6 @@
{ {
"name": "strapi-generate-new", "name": "strapi-generate-new",
"version": "3.0.0-alpha.7.3", "version": "3.0.0-alpha.8",
"description": "Generate a new Strapi application.", "description": "Generate a new Strapi application.",
"homepage": "http://strapi.io", "homepage": "http://strapi.io",
"keywords": [ "keywords": [
@ -18,7 +18,7 @@
"get-installed-path": "^3.0.1", "get-installed-path": "^3.0.1",
"inquirer": "^4.0.2", "inquirer": "^4.0.2",
"lodash": "^4.17.4", "lodash": "^4.17.4",
"strapi-utils": "3.0.0-alpha.7.3", "strapi-utils": "3.0.0-alpha.8",
"uuid": "^3.1.0" "uuid": "^3.1.0"
}, },
"scripts": { "scripts": {

View File

@ -1,6 +1,6 @@
{ {
"name": "strapi-generate-plugin", "name": "strapi-generate-plugin",
"version": "3.0.0-alpha.7.3", "version": "3.0.0-alpha.8",
"description": "Generate an plugin for a Strapi application.", "description": "Generate an plugin for a Strapi application.",
"homepage": "http://strapi.io", "homepage": "http://strapi.io",
"keywords": [ "keywords": [

View File

@ -1,6 +1,6 @@
{ {
"name": "strapi-generate-policy", "name": "strapi-generate-policy",
"version": "3.0.0-alpha.7.3", "version": "3.0.0-alpha.8",
"description": "Generate a policy for a Strapi API.", "description": "Generate a policy for a Strapi API.",
"homepage": "http://strapi.io", "homepage": "http://strapi.io",
"keywords": [ "keywords": [

View File

@ -1,6 +1,6 @@
{ {
"name": "strapi-generate-service", "name": "strapi-generate-service",
"version": "3.0.0-alpha.7.3", "version": "3.0.0-alpha.8",
"description": "Generate a service for a Strapi API.", "description": "Generate a service for a Strapi API.",
"homepage": "http://strapi.io", "homepage": "http://strapi.io",
"keywords": [ "keywords": [

View File

@ -1,6 +1,6 @@
{ {
"name": "strapi-generate", "name": "strapi-generate",
"version": "3.0.0-alpha.7.3", "version": "3.0.0-alpha.8",
"description": "Master of ceremonies for the Strapi generators.", "description": "Master of ceremonies for the Strapi generators.",
"homepage": "http://strapi.io", "homepage": "http://strapi.io",
"keywords": [ "keywords": [
@ -17,7 +17,7 @@
"fs-extra": "^4.0.0", "fs-extra": "^4.0.0",
"lodash": "^4.17.4", "lodash": "^4.17.4",
"reportback": "^2.0.1", "reportback": "^2.0.1",
"strapi-utils": "3.0.0-alpha.7.3" "strapi-utils": "3.0.0-alpha.8"
}, },
"author": { "author": {
"name": "Strapi team", "name": "Strapi team",

View File

@ -57,9 +57,8 @@ function PopUpWarning({ content, isOpen, onConfirm, onlyConfirmButton, popUpWarn
<ModalHeader toggle={toggleModal} className={styles.header}> <ModalHeader toggle={toggleModal} className={styles.header}>
<FormattedMessage id={content.title || 'components.popUpWarning.title'} /> <FormattedMessage id={content.title || 'components.popUpWarning.title'} />
</ModalHeader> </ModalHeader>
<div className={styles.bordered} /> <ModalBody className={styles.modalBody}>
<ModalBody> <div className={styles.modalBodyContainer}>
<div className={styles.modalDangerBodyContainer}>
<img src={icons[popUpWarningType]} alt="icon" /> <img src={icons[popUpWarningType]} alt="icon" />
<FormattedMessage id={content.message || 'components.popUpWarning.message'}> <FormattedMessage id={content.message || 'components.popUpWarning.message'}>
{(message) => ( {(message) => (

View File

@ -1,9 +1,14 @@
.popUpWarning { /* stylelint-disable */ .popUpWarning { /* stylelint-disable */
width: 37.5rem!important; width: 37.5rem!important;
-webkit-font-smoothing: antialiased !important;
} }
.header { .header {
border: none!important; margin-left: 30px;
margin-right: 30px;
padding-bottom: 11px !important;
border-bottom: 1px solid #F6F6F6;
> h4 { > h4 {
width: 100%; width: 100%;
text-align: center; text-align: center;
@ -11,104 +16,136 @@
font-weight: bold!important; font-weight: bold!important;
font-size: 1.8rem!important; font-size: 1.8rem!important;
} }
> button { > button {
margin-right: 0!important; color: #C3C5C8;
opacity: 1;
font-size: 1.8rem;
font-weight: 100;
z-index: 999;
cursor: pointer;
> span {
display: none;
}
&:hover, &:focus {
color: #C3C5C8;
opacity: 1;
outline: 0!important;
}
&:before {
content: '\F00d';
position: absolute;
top: 14px;
right: 14px;
font-family: 'FontAwesome';
font-weight: 400;
font-size: 1.2rem;
}
} }
} }
.modalPosition {
top: 16.8rem;
left: 18.2rem;
margin-top: 0 !important;
.modalPosition {
> div { > div {
width: 37.5rem;
padding: 0 !important;
border:none; border:none;
border-radius: 2px; border-radius: 2px;
width: 37.5rem;
padding: 0;
} }
} }
.modalDangerBodyContainer {
padding-top: .1rem; .modalBodyContainer {
> img { padding: .1rem;
width: 2.5rem;
margin-bottom: 1.5rem;
}
> p {
line-height: 1.8rem;
}
color: #F64D0A; color: #F64D0A;
text-align: center; text-align: center;
font-family: Lato; font-family: Lato;
font-size: 1.3rem; font-size: 1.3rem;
> img {
width: 2.5rem;
margin-bottom: 1.5rem;
}
> p {
line-height: 1.8rem;
}
} }
.modalBody {
padding: 16px 30px 15px 30px !important;
}
.buttonContainer { .buttonContainer {
width: 100%;
padding: 0 .5rem;
display: flex; display: flex;
margin-top: 3.5rem; width: 100%;
margin-top: 37px;
justify-content: space-between; justify-content: space-between;
> button { > button {
position: relative;
height: 3rem; height: 3rem;
width: 15rem; width: 15rem;
position: relative;
border-radius: 0.3rem; border-radius: 0.3rem;
text-transform: capitalize;
background-color: transparent; background-color: transparent;
cursor: pointer; text-transform: capitalize;
font-family: Lato; font-family: Lato;
&:focus { cursor: pointer;
outline: 0;
}
> i { > i {
margin-right: 1.3rem; margin-right: 1.3rem;
} }
&:focus {
outline: 0;
}
&:hover { &:hover {
&::after { &::after {
position: absolute; content: '';
width: 100%; position: absolute;
height: 100%; top: 0;
top: 0; left: 0;
left: 0; width: 100%;
border-radius: 0.3rem; height: 100%;
content: ''; border-radius: 0.3rem;
opacity: 0.1; background: #FFFFFF;
background: #FFFFFF; opacity: 0.1;
} }
} }
} }
} }
.primary { .primary {
font-weight: 500;
background: linear-gradient(315deg, #0097F6 0%, #005EEA 100%);
-webkit-font-smoothing: antialiased;
color: white !important;
border: none !important; border: none !important;
background: linear-gradient(315deg, #0097F6 0%, #005EEA 100%);
color: white !important;
font-weight: 500;
&:active, &:focus, &:hover { &:active, &:focus, &:hover {
box-shadow: inset 1px 1px 3px rgba(0,0,0,.15);
background: linear-gradient(315deg, #0097F6 0%, #005EEA 100%);
background-color: transparent;
border: none; border: none;
} background-color: transparent;
background: linear-gradient(315deg, #0097F6 0%, #005EEA 100%);
box-shadow: inset 1px 1px 3px rgba(0,0,0,.15);
}
-webkit-font-smoothing: antialiased;
} }
.secondary { .secondary {
// height: 32px !important;
color: #F64D0A !important;
border: 0.1rem solid #F64D0A !important;
position: relative; position: relative;
border: 0.1rem solid #F64D0A !important;
border-radius: 3px; border-radius: 3px;
color: #F64D0A !important;
overflow: hidden; overflow: hidden;
&:active { &:active {
border: 0.15rem solid #F64D0A; border: 0.15rem solid #F64D0A;
} }
&:focus, &:hover {
background-color: transparent !important; &:focus, &:hover {
color: #F64D0A; border: 0.1rem solid #F64D0A;
border: 0.1rem solid #F64D0A; background-color: transparent !important;
} color: #F64D0A;
} }
.bordered {
margin-top: -.4rem;
margin-left: 3rem;
margin-right: 3rem;
border: 1px solid #F6F6F6;
} }

View File

@ -1,6 +1,6 @@
{ {
"name": "strapi-helper-plugin", "name": "strapi-helper-plugin",
"version": "3.0.0-alpha.7.3", "version": "3.0.0-alpha.8",
"description": "Helper for Strapi plugins development", "description": "Helper for Strapi plugins development",
"engines": { "engines": {
"node": ">= 8.0.0", "node": ">= 8.0.0",

View File

@ -1,6 +1,6 @@
{ {
"name": "strapi-knex", "name": "strapi-knex",
"version": "3.0.0-alpha.7.3", "version": "3.0.0-alpha.8",
"description": "Knex hook for the Strapi framework", "description": "Knex hook for the Strapi framework",
"homepage": "http://strapi.io", "homepage": "http://strapi.io",
"keywords": [ "keywords": [

View File

@ -1,6 +1,6 @@
{ {
"name": "strapi-middleware-views", "name": "strapi-middleware-views",
"version": "3.0.0-alpha.7.3", "version": "3.0.0-alpha.8",
"description": "Views hook to enable server-side rendering for the Strapi framework", "description": "Views hook to enable server-side rendering for the Strapi framework",
"homepage": "http://strapi.io", "homepage": "http://strapi.io",
"keywords": [ "keywords": [

View File

@ -1,6 +1,6 @@
{ {
"name": "strapi-mongoose", "name": "strapi-mongoose",
"version": "3.0.0-alpha.7.3", "version": "3.0.0-alpha.8",
"description": "Mongoose hook for the Strapi framework", "description": "Mongoose hook for the Strapi framework",
"homepage": "http://strapi.io", "homepage": "http://strapi.io",
"keywords": [ "keywords": [
@ -19,7 +19,7 @@
"mongoose": "^5.0.0-rc1", "mongoose": "^5.0.0-rc1",
"mongoose-float": "^1.0.2", "mongoose-float": "^1.0.2",
"pluralize": "^6.0.0", "pluralize": "^6.0.0",
"strapi-utils": "3.0.0-alpha.7.3" "strapi-utils": "3.0.0-alpha.8"
}, },
"strapi": { "strapi": {
"isHook": true "isHook": true

View File

@ -1,6 +1,6 @@
{ {
"name": "strapi-plugin-content-manager", "name": "strapi-plugin-content-manager",
"version": "3.0.0-alpha.7.3", "version": "3.0.0-alpha.8",
"description": "A powerful UI to easily manage your data.", "description": "A powerful UI to easily manage your data.",
"engines": { "engines": {
"node": ">= 8.0.0", "node": ">= 8.0.0",
@ -46,6 +46,6 @@
}, },
"devDependencies": { "devDependencies": {
"react-select": "^1.0.0-rc.5", "react-select": "^1.0.0-rc.5",
"strapi-helper-plugin": "3.0.0-alpha.7.3" "strapi-helper-plugin": "3.0.0-alpha.8"
} }
} }

View File

@ -1,6 +1,6 @@
{ {
"name": "strapi-plugin-content-type-builder", "name": "strapi-plugin-content-type-builder",
"version": "3.0.0-alpha.7.3", "version": "3.0.0-alpha.8",
"description": "Strapi plugin to create content type (API).", "description": "Strapi plugin to create content type (API).",
"strapi": { "strapi": {
"name": "Content Type Builder", "name": "Content Type Builder",
@ -25,11 +25,11 @@
}, },
"dependencies": { "dependencies": {
"pluralize": "^7.0.0", "pluralize": "^7.0.0",
"strapi-generate": "3.0.0-alpha.7.3", "strapi-generate": "3.0.0-alpha.8",
"strapi-generate-api": "3.0.0-alpha.7.3" "strapi-generate-api": "3.0.0-alpha.8"
}, },
"devDependencies": { "devDependencies": {
"strapi-helper-plugin": "3.0.0-alpha.7.3" "strapi-helper-plugin": "3.0.0-alpha.8"
}, },
"author": { "author": {
"name": "Strapi team", "name": "Strapi team",

View File

@ -1,6 +1,6 @@
{ {
"name": "strapi-plugin-email", "name": "strapi-plugin-email",
"version": "3.0.0-alpha.7.3", "version": "3.0.0-alpha.8",
"description": "This is the description of the plugin.", "description": "This is the description of the plugin.",
"strapi": { "strapi": {
"name": "Email", "name": "Email",
@ -27,7 +27,7 @@
"sendmail": "^1.2.0" "sendmail": "^1.2.0"
}, },
"devDependencies": { "devDependencies": {
"strapi-helper-plugin": "3.0.0-alpha.7.3" "strapi-helper-plugin": "3.0.0-alpha.8"
}, },
"author": { "author": {
"name": "A Strapi developer", "name": "A Strapi developer",

View File

@ -1,6 +1,6 @@
{ {
"name": "strapi-plugin-settings-manager", "name": "strapi-plugin-settings-manager",
"version": "3.0.0-alpha.7.3", "version": "3.0.0-alpha.8",
"description": "Strapi plugin to manage settings.", "description": "Strapi plugin to manage settings.",
"strapi": { "strapi": {
"name": "Settings Manager", "name": "Settings Manager",
@ -26,7 +26,7 @@
"devDependencies": { "devDependencies": {
"flag-icon-css": "^2.8.0", "flag-icon-css": "^2.8.0",
"react-select": "^1.0.0-rc.5", "react-select": "^1.0.0-rc.5",
"strapi-helper-plugin": "3.0.0-alpha.7.3" "strapi-helper-plugin": "3.0.0-alpha.8"
}, },
"author": { "author": {
"name": "Strapi team", "name": "Strapi team",

View File

@ -1,6 +1,6 @@
{ {
"name": "strapi-plugin-users-permissions", "name": "strapi-plugin-users-permissions",
"version": "3.0.0-alpha.7.3", "version": "3.0.0-alpha.8",
"description": "This is the description of the plugin.", "description": "This is the description of the plugin.",
"strapi": { "strapi": {
"name": "Auth & Permissions", "name": "Auth & Permissions",
@ -30,7 +30,7 @@
"uuid": "^3.1.0" "uuid": "^3.1.0"
}, },
"devDependencies": { "devDependencies": {
"strapi-helper-plugin": "3.0.0-alpha.7.3" "strapi-helper-plugin": "3.0.0-alpha.8"
}, },
"author": { "author": {
"name": "Strapi team", "name": "Strapi team",

View File

@ -278,14 +278,15 @@ module.exports = {
1 EXECUTE THE FOLLOWING SQL QUERY 1 EXECUTE THE FOLLOWING SQL QUERY
CREATE TABLE "${tableName}" ( CREATE TABLE "${tableName}" (
id integer NOT NULL, id ${Model.client === 'pg' ? 'SERIAL' : 'INT AUTO_INCREMENT'} NOT NULL PRIMARY KEY,
username text, username text,
email text, email text,
provider text,
role text, role text,
"resetPasswordToken" text, ${Model.client === 'pg' ? '"resetPasswordToken"' : 'resetPasswordToken'} text,
password text, password text,
updated_at timestamp with time zone, updated_at ${Model.client === 'pg' ? 'timestamp with time zone' : 'timestamp'},
created_at timestamp with time zone created_at ${Model.client === 'pg' ? 'timestamp with time zone' : 'timestamp'}
); );
2 RESTART YOUR SERVER 2 RESTART YOUR SERVER
@ -300,10 +301,10 @@ CREATE TABLE "${tableName}" (
.then(() => { .then(() => {
const attributes = _.cloneDeep(Model.attributes); const attributes = _.cloneDeep(Model.attributes);
attributes.id = { attributes.id = {
type: 'integer' type: Model.client === 'pg' ? 'integer' : 'int'
}; };
attributes.updated_at = attributes.created_at = { attributes.updated_at = attributes.created_at = {
type: 'timestamp with time zone' type: Model.client === 'pg' ? 'timestamp with time zone' : 'timestamp'
}; };
let commands = ''; let commands = '';
@ -317,7 +318,7 @@ CREATE TABLE "${tableName}" (
description.type = 'text'; description.type = 'text';
} }
commands += `\r\nALTER TABLE "${tableName}" ADD "${attribute}" ${description.type};`; commands += `\r\nALTER TABLE "${tableName}" ADD ${Model.client === 'pg' ? `"${attribute}"` : `${attribute}`} ${description.type};`;
} }
resolve(); resolve();

View File

@ -1,6 +1,6 @@
{ {
"name": "strapi-redis", "name": "strapi-redis",
"version": "3.0.0-alpha.7.3", "version": "3.0.0-alpha.8",
"description": "Redis hook for the Strapi framework", "description": "Redis hook for the Strapi framework",
"homepage": "http://strapi.io", "homepage": "http://strapi.io",
"keywords": [ "keywords": [
@ -18,7 +18,7 @@
"ioredis": "^3.1.2", "ioredis": "^3.1.2",
"lodash": "^4.17.4", "lodash": "^4.17.4",
"stack-trace": "0.0.10", "stack-trace": "0.0.10",
"strapi-utils": "3.0.0-alpha.7.3" "strapi-utils": "3.0.0-alpha.8"
}, },
"strapi": { "strapi": {
"isHook": true "isHook": true

View File

@ -1,6 +1,6 @@
{ {
"name": "strapi-utils", "name": "strapi-utils",
"version": "3.0.0-alpha.7.3", "version": "3.0.0-alpha.8",
"description": "Shared utilities for the Strapi packages", "description": "Shared utilities for the Strapi packages",
"homepage": "http://strapi.io", "homepage": "http://strapi.io",
"keywords": [ "keywords": [

View File

@ -1,6 +1,6 @@
{ {
"name": "strapi", "name": "strapi",
"version": "3.0.0-alpha.7.3", "version": "3.0.0-alpha.8",
"description": "An open source solution to create and manage your own API. It provides a powerful dashboard and features to make your life easier.", "description": "An open source solution to create and manage your own API. It provides a powerful dashboard and features to make your life easier.",
"homepage": "http://strapi.io", "homepage": "http://strapi.io",
"keywords": [ "keywords": [
@ -55,14 +55,14 @@
"rimraf": "^2.6.2", "rimraf": "^2.6.2",
"semver": "^5.4.1", "semver": "^5.4.1",
"stack-trace": "0.0.10", "stack-trace": "0.0.10",
"strapi-generate": "3.0.0-alpha.7.3", "strapi-generate": "3.0.0-alpha.8",
"strapi-generate-admin": "3.0.0-alpha.7.3", "strapi-generate-admin": "3.0.0-alpha.8",
"strapi-generate-api": "3.0.0-alpha.7.3", "strapi-generate-api": "3.0.0-alpha.8",
"strapi-generate-new": "3.0.0-alpha.7.3", "strapi-generate-new": "3.0.0-alpha.8",
"strapi-generate-plugin": "3.0.0-alpha.7.3", "strapi-generate-plugin": "3.0.0-alpha.8",
"strapi-generate-policy": "3.0.0-alpha.7.3", "strapi-generate-policy": "3.0.0-alpha.8",
"strapi-generate-service": "3.0.0-alpha.7.3", "strapi-generate-service": "3.0.0-alpha.8",
"strapi-utils": "3.0.0-alpha.7.3" "strapi-utils": "3.0.0-alpha.8"
}, },
"author": { "author": {
"email": "hi@strapi.io", "email": "hi@strapi.io",