Browse Source

Merge branch 'master' of github.com:nocodb/nocodb

pull/251/head
Pranav C Balan 3 years ago
parent
commit
70d025b893
  1. 17
      .github/workflows/dco-check.yml
  2. 89
      README.md
  3. 2
      packages/nc-cli/package-lock.json
  4. 3
      packages/nc-gui/assets/img/lang/en.json
  5. 3
      packages/nc-gui/assets/img/lang/ja.json
  6. 3
      packages/nc-gui/assets/img/lang/zh.json
  7. 2
      packages/nc-gui/components/project/spreadsheet/mixins/cell.js
  8. 1266
      packages/nc-gui/pages/projects/index.vue
  9. 26
      packages/nc-gui/static/lang/en.json
  10. 26
      packages/nc-gui/static/lang/ja.json
  11. 29
      packages/nc-gui/static/lang/zh.json
  12. BIN
      packages/nc-gui/static/plugins/scaleway.png
  13. 27
      packages/nocodb/src/lib/noco/plugins/NcPluginMgr.ts
  14. 118
      packages/nocodb/src/plugins/scaleway/ScalewayObjectStorage.ts
  15. 43
      packages/nocodb/src/plugins/scaleway/ScalewayObjectStoragePlugin.ts
  16. 80
      packages/nocodb/src/plugins/scaleway/index.ts

17
.github/workflows/dco-check.yml

@ -0,0 +1,17 @@
name: DCO Check
on: [pull_request]
jobs:
commits_check_job:
runs-on: ubuntu-latest
name: Commits Check
steps:
- name: Get PR Commits
id: 'get-pr-commits'
uses: tim-actions/get-pr-commits@master
with:
token: ${{ secrets.GITHUB_TOKEN }}
- name: DCO Check
uses: tim-actions/dco@master
with:
commits: ${{ steps.get-pr-commits.outputs.commits }}

89
README.md

@ -42,7 +42,7 @@ Turns any MySQL, PostgreSQL, SQL Server, SQLite & MariaDB into a smart-spreadshe
### Using Docker
```bash
docker run --name nocodb -p 8080:8080 nocodb/nocodb
docker run -d --name nocodb -p 8080:8080 nocodb/nocodb
```
### Using Npm
@ -130,20 +130,34 @@ And connection params for this database can be specified in `NC_DB` environment
#### Example MySQL
```
docker run -p 8080:8080 -e NC_DB="mysql2://host:port?u=user&p=password&d=database" nocodb/nocodb
docker run -d -p 8080:8080 \
-e NC_DB="mysql2://host.docker.internal:3306?u=root&p=password&d=d1" \
-e NC_AUTH_JWT_SECRET="569a1821-0a93-45e8-87ab-eb857f20a010" \
nocodb/nocodb
```
#### Example Postgres
```
docker run -p 8080:8080 -e NC_DB="pg://host:port?u=user&p=password&d=database" nocodb/nocodb
docker run -d -p 8080:8080 \
-e NC_DB="pg://host:port?u=user&p=password&d=database" \
-e NC_AUTH_JWT_SECRET="569a1821-0a93-45e8-87ab-eb857f20a010" \
nocodb/nocodb
```
#### Example SQL Server
```
docker run -p 8080:8080 -e NC_DB="mssql://host:port?u=user&p=password&d=database" nocodb/nocodb
docker run -d -p 8080:8080 \
-e NC_DB="mssql://host:port?u=user&p=password&d=database" \
-e NC_AUTH_JWT_SECRET="569a1821-0a93-45e8-87ab-eb857f20a010" \
nocodb/nocodb
```
## Docker Compose
```
cd docker-compose
cd mysql or pg or mssql
docker-compose up
```
## Environment variables
@ -157,6 +171,32 @@ docker run -p 8080:8080 -e NC_DB="mssql://host:port?u=user&p=password&d=database
| NC_CONNECT_TO_EXTERNAL_DB_DISABLED | No | Disable Project creation with external database | |
| NC_DISABLE_TELE | No | Disable telemetry | |
# Running locally
```
git clone https://github.com/nocodb/nocodb
cd nocodb
# run backend
cd packages/nocodb
npm install
npm run watch:run
# open localhost:8080/dashboard in browser
# run frontend
cd packages/nc-gui
npm install
npm run dev
# open localhost:3000/dashboard in browser
```
Changes made to code automatically restart.
# Contributing
- Please take a look at ./contribute/HowToApplyLicense.md
- Ignore adding headers for .json or .md or .yml
# 🎯 Why are we building this ?
Most internet businesses equip themselves with either spreadsheet or a database to solve their business needs. Spreadsheets are used by a Billion+ humans collaboratively every single day. However, we are way off working at similar speeds on databases which are way more powerful tools when it comes to computing. Attempts to solve this with SaaS offerings has meant horrible access controls, vendor lockin, data lockin, abrupt price changes & most importantly a glass ceiling on what's possible in future.
@ -167,23 +207,28 @@ Our mission is to provide the most powerful no-code interface for databases whic
[//]: contributor-faces
<a href="https://github.com/o1lab"><img src="https://avatars.githubusercontent.com/u/5435402?v=4" title="Naveen MR" width="50" height="50"></a>
<a href="https://github.com/pranavxc"><img src="https://avatars.githubusercontent.com/u/61551451?v=4" title="Pranav C Balan" width="50" height="50"></a>
<a hrer="https://github.com/bvkatwijk"><img src="https://avatars.githubusercontent.com/u/18490578?s=60&v=4" title="bvkatwijk" width="50" height="50"></a>
<a hrer="https://github.com/markuman"><img src="https://avatars.githubusercontent.com/u/3920157?s=60&v=4" title="markuman" width="50" height="50"></a>
<a hrer="https://github.com/DanielRuf"><img src="https://avatars.githubusercontent.com/u/827205?s=60&v=4" title="DanielRuf" width="50" height="50"></a>
<a hrer="https://github.com/bertyhell"><img src="https://avatars.githubusercontent.com/u/1710840?s=60&v=4" title="bertyhell" width="50" height="50"></a>
<a hrer="https://github.com/chocholand"><img src="https://avatars.githubusercontent.com/u/6572227?s=60&v=4" title="chocholand" width="50" height="50"></a>
<a hrer="https://github.com/0xflotus"><img src="https://avatars.githubusercontent.com/u/26602940?s=60&v=4" title="0xflotus" width="50" height="50"></a>
<a hrer="https://github.com/sguionni"><img src="https://avatars.githubusercontent.com/u/3633017?s=60&v=4" title="sguionni" width="50" height="50"></a>
<a hrer="https://github.com/extremeshok"><img src="https://avatars.githubusercontent.com/u/5957328?s=60&v=4" title="extremeshok" width="50" height="50"></a>
<a hrer="https://github.com/v2io"><img src="https://avatars.githubusercontent.com/u/48987429?s=60&v=4" title="v2io" width="50" height="50"></a>
<a hrer="https://github.com/soaserele"><img src="https://avatars.githubusercontent.com/u/1093368?s=60&v=4" title="soaserele" width="50" height="50"></a>
<a hrer="https://github.com/ans-4175"><img src="https://avatars.githubusercontent.com/u/3961872?s=60&v=4" title="ans-4175" width="50" height="50"></a>
<a hrer="https://github.com/lotas"><img src="https://avatars.githubusercontent.com/u/83861?s=60&v=4" title="lotas" width="50" height="50"></a>
<a hrer="https://github.com/ferrybig"><img src="https://avatars.githubusercontent.com/u/1576684?s=60&v=4" title="ferrybig" width="50" height="50"></a>
<a hrer=""><img src="https://avatars.githubusercontent.com/u/1001585?v=4" title="" width="50" height="50"></a>
<a hrer=""><img src="https://avatars.githubusercontent.com/u/508624?v=4" title="" width="50" height="50"></a>
<a hrer=""><img src="https://avatars.githubusercontent.com/u/8931?v=4" title="" width="50" height="50"></a>
<a hrer=""><img src="https://avatars.githubusercontent.com/u/26602940?v=4" title="" width="50" height="50"></a>
<a href="https://github.com/bvkatwijk"><img src="https://avatars.githubusercontent.com/u/18490578?s=60&v=4" title="bvkatwijk" width="50" height="50"></a>
<a href="https://github.com/markuman"><img src="https://avatars.githubusercontent.com/u/3920157?s=60&v=4" title="markuman" width="50" height="50"></a>
<a href="https://github.com/DanielRuf"><img src="https://avatars.githubusercontent.com/u/827205?s=60&v=4" title="DanielRuf" width="50" height="50"></a>
<a href="https://github.com/bertyhell"><img src="https://avatars.githubusercontent.com/u/1710840?s=60&v=4" title="bertyhell" width="50" height="50"></a>
<a href="https://github.com/chocholand"><img src="https://avatars.githubusercontent.com/u/6572227?s=60&v=4" title="chocholand" width="50" height="50"></a>
<a href="https://github.com/0xflotus"><img src="https://avatars.githubusercontent.com/u/26602940?s=60&v=4" title="0xflotus" width="50" height="50"></a>
<a href="https://github.com/sguionni"><img src="https://avatars.githubusercontent.com/u/3633017?s=60&v=4" title="sguionni" width="50" height="50"></a>
<a href="https://github.com/extremeshok"><img src="https://avatars.githubusercontent.com/u/5957328?s=60&v=4" title="extremeshok" width="50" height="50"></a>
<a href="https://github.com/v2io"><img src="https://avatars.githubusercontent.com/u/48987429?s=60&v=4" title="v2io" width="50" height="50"></a>
<a href="https://github.com/soaserele"><img src="https://avatars.githubusercontent.com/u/1093368?s=60&v=4" title="soaserele" width="50" height="50"></a>
<a href="https://github.com/ans-4175"><img src="https://avatars.githubusercontent.com/u/3961872?s=60&v=4" title="ans-4175" width="50" height="50"></a>
<a href="https://github.com/lotas"><img src="https://avatars.githubusercontent.com/u/83861?s=60&v=4" title="lotas" width="50" height="50"></a>
<a href="https://github.com/ferrybig"><img src="https://avatars.githubusercontent.com/u/1576684?s=60&v=4" title="ferrybig" width="50" height="50"></a>
<a href="https://github.com/jrevault"><img src="https://avatars.githubusercontent.com/u/1001585?v=4" title="" width="50" height="50"></a>
<a href="https://github.com/atilacamurca"><img src="https://avatars.githubusercontent.com/u/508624?v=4" title="" width="50" height="50"></a>
<a href="https://github.com/simonbowen"><img src="https://avatars.githubusercontent.com/u/8931?v=4" title="" width="50" height="50"></a>
<a href="https://github.com/0xflotus"><img src="https://avatars.githubusercontent.com/u/26602940?v=4" title="" width="50" height="50"></a>
<a href="https://github.com/wingkwong"><img src="https://avatars.githubusercontent.com/u/35857179?v=4" title="" width="50" height="50"></a>
<a href="https://github.com/ferdiga"><img src="https://avatars.githubusercontent.com/u/6248560?v=4" title="" width="50" height="50"></a>
<a href="https://github.com/Flatroy"><img src="https://avatars.githubusercontent.com/u/4980165?v=4" title="" width="50" height="50"></a>
<a href="https://github.com/jwillmer"><img src="https://avatars.githubusercontent.com/u/1503577?v=4" title="" width="50" height="50"></a>
- - - - - - -

2
packages/nc-cli/package-lock.json generated

@ -1,6 +1,6 @@
{
"name": "create-nocodb-app",
"version": "0.1.17",
"version": "0.1.21",
"lockfileVersion": 1,
"requires": true,
"dependencies": {

3
packages/nc-gui/assets/img/lang/en.json

@ -1,3 +0,0 @@
{
"create-new-project": "Create New Project"
}

3
packages/nc-gui/assets/img/lang/ja.json

@ -1,3 +0,0 @@
{
"create-new-project": "新しいプロジェクトを作成する"
}

3
packages/nc-gui/assets/img/lang/zh.json

@ -1,3 +0,0 @@
{
"create-new-project": "创建新项目"
}

2
packages/nc-gui/components/project/spreadsheet/mixins/cell.js

@ -32,7 +32,7 @@ export default {
}, isFloat() {
return this.abstractType === 'float';
}, isDate() {
return this.abstractType === 'date';
return this.abstractType === 'date' || this.column.uidt === 'Date';
}, isTime() {
return this.abstractType === 'time';
}, isDateTime() {

1266
packages/nc-gui/pages/projects/index.vue

File diff suppressed because it is too large Load Diff

26
packages/nc-gui/static/lang/en.json

@ -1,3 +1,27 @@
{
"create-new-project": "New Project"
"home.my_projects": "My Projects",
"home.reload_projects_tooltip": "Refresh projects",
"home.create_new_project_button.text": "New Project",
"home.create_new_project_button.subtext_1": "Create",
"home.create_new_project_button.subtext_1_tooltip": "Create a new project",
"home.create_new_project_button.subtext_2": "Create By Connecting <br>To An External Database",
"home.create_new_project_button.subtext_2_tooltip": "Supports MySQL, PostgreSQL, SQL Server & SQLite",
"home.search_project": "Search Project",
"home.project_verticial_option_1": "Import Metadata",
"home.project_verticial_option_2": "Export Metadata",
"home.project_verticial_option_3": "Clear Metadata",
"home.project_horizontal_option_1": "Stop Project",
"home.project_horizontal_option_2": "Start Project",
"home.project_horizontal_option_3": "Restart Project",
"home.project_horizontal_option_4": "Delete Project",
"home.project_api_type_tooltip_graphql": "Accessible via GraphQL APIs",
"home.project_api_type_tooltip_rest": "Accessible via REST APIs",
"home.project_empty_message": "Get started by creating a new project",
"home.import_button.text": "Import NocoDB Project by uploading metadata zip file",
"home.show_community_message_1_1": "Star",
"home.show_community_message_1_2": "us on Github",
"home.show_community_message_2": "Book a Free DEMO",
"home.show_community_message_3": "Get your questions answered",
"home.show_community_message_4": "Follow NocoDB",
"home.search.no_result": "Your search for {search} found no results"
}

26
packages/nc-gui/static/lang/ja.json

@ -1,3 +1,27 @@
{
"create-new-project": "新しいプロジェクトを作成する"
"home.my_projects": "My Projects",
"home.reload_projects_tooltip": "Refresh projects",
"home.create_new_project_button.text": "新しいプロジェクトを作成する",
"home.create_new_project_button.subtext_1": "Create",
"home.create_new_project_button.subtext_1_tooltip": "Create a new project",
"home.create_new_project_button.subtext_2": "Create By Connecting <br>To An External Database",
"home.create_new_project_button.subtext_2_tooltip": "Supports MySQL, PostgreSQL, SQL Server & SQLite",
"home.search_project": "Search Project",
"home.project_verticial_option_1": "Import Metadata",
"home.project_verticial_option_2": "Export Metadata",
"home.project_verticial_option_3": "Clear Metadata",
"home.project_horizontal_option_1": "Stop Project",
"home.project_horizontal_option_2": "Start Project",
"home.project_horizontal_option_3": "Restart Project",
"home.project_horizontal_option_4": "Delete Project",
"home.project_api_type_tooltip_graphql": "Accessible via GraphQL APIs",
"home.project_api_type_tooltip_rest": "Accessible via REST APIs",
"home.project_empty_message": "Get started by creating a new project",
"home.import_button.text": "Import NocoDB Project by uploading metadata zip file",
"home.show_community_message_1_1": "Star",
"home.show_community_message_1_2": "us on Github",
"home.show_community_message_2": "Book a Free DEMO",
"home.show_community_message_3": "Get your questions answered",
"home.show_community_message_4": "Follow NocoDB",
"home.search.no_result": "Your search for {search} found no results"
}

29
packages/nc-gui/static/lang/zh.json

@ -1,3 +1,28 @@
{
"create-new-project": "创建新项目"
}
"home.my_projects": "My Projects",
"home.reload_projects_tooltip": "Refresh projects",
"home.create_new_project_button.text": "创建新项目",
"home.create_new_project_button.subtext_1": "Create",
"home.create_new_project_button.subtext_1_tooltip": "Create a new project",
"home.create_new_project_button.subtext_2": "Create By Connecting <br>To An External Database",
"home.create_new_project_button.subtext_2_tooltip": "Supports MySQL, PostgreSQL, SQL Server & SQLite",
"home.search_project": "Search Project",
"home.project_verticial_option_1": "Import Metadata",
"home.project_verticial_option_2": "Export Metadata",
"home.project_verticial_option_3": "Clear Metadata",
"home.project_horizontal_option_1": "Stop Project",
"home.project_horizontal_option_2": "Start Project",
"home.project_horizontal_option_3": "Restart Project",
"home.project_horizontal_option_4": "Delete Project",
"home.project_api_type_tooltip_graphql": "Accessible via GraphQL APIs",
"home.project_api_type_tooltip_rest": "Accessible via REST APIs",
"home.project_empty_message": "Get started by creating a new project",
"home.import_button.text": "Import NocoDB Project by uploading metadata zip file",
"home.show_community_message_1_1": "Star",
"home.show_community_message_1_2": "us on Github",
"home.show_community_message_2": "Book a Free DEMO",
"home.show_community_message_3": "Get your questions answered",
"home.show_community_message_4": "Follow NocoDB",
"home.search.no_result": "Your search for {search} found no results"
}

BIN
packages/nc-gui/static/plugins/scaleway.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

27
packages/nocodb/src/lib/noco/plugins/NcPluginMgr.ts

@ -24,6 +24,7 @@ import MattermostPluginConfig from "../../../plugins/mattermost";
import DiscordPluginConfig from "../../../plugins/discord";
import TwilioWhatsappPluginConfig from "../../../plugins/twilioWhatsapp";
import TwilioPluginConfig from "../../../plugins/twilio";
import ScalewayPluginConfig from "../../../plugins/scaleway";
import Noco from "../Noco";
import Local from "./adapters/storage/Local";
@ -45,6 +46,7 @@ const defaultPlugins = [
LinodePluginConfig,
UpcloudPluginConfig,
SMTPPluginConfig,
ScalewayPluginConfig,
]
class NcPluginMgr {
@ -132,4 +134,27 @@ class NcPluginMgr {
}
export default NcPluginMgr;
export default NcPluginMgr;
/**
* @copyright Copyright (c) 2021, Xgene Cloud Ltd
*
* @author Pranav C Balan <pranavxc@gmail.com>
* @author Bhanu P Chaudhary <bhanu423@gmail.com>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/

118
packages/nocodb/src/plugins/scaleway/ScalewayObjectStorage.ts

@ -0,0 +1,118 @@
import AWS from "aws-sdk";
import fs from "fs";
import path from "path";
import {IStorageAdapter, XcFile} from "nc-plugin";
export default class ScalewayObjectStorage implements IStorageAdapter {
private s3Client: AWS.S3;
private input: any;
constructor(input: any) {
this.input = input;
}
async fileCreate(key: string, file: XcFile): Promise<any> {
const uploadParams: any = {
ACL: 'public-read'
};
return new Promise((resolve, reject) => {
// Configure the file stream and obtain the upload parameters
const fileStream = fs.createReadStream(file.path);
fileStream.on('error', (err) => {
console.log('File Error', err);
reject(err);
});
uploadParams.Body = fileStream;
uploadParams.Key = key;
// call S3 to retrieve upload file to specified bucket
this.s3Client.upload(uploadParams, (err, data) => {
if (err) {
console.log("Error", err);
reject(err);
}
if (data) {
resolve(data.Location);
}
});
});
}
public async fileDelete(_path: string): Promise<any> {
return Promise.resolve(undefined);
}
public async fileRead(key: string): Promise<any> {
return new Promise((resolve, reject) => {
this.s3Client.getObject({Key: key} as any, (err, data) => {
if (err) {
return reject(err);
}
if (!data?.Body) {
return reject(data);
}
return resolve(data.Body);
});
});
}
public async init(): Promise<any> {
const s3Options: any = {
params: {Bucket: this.input.bucket},
region: this.input.region
};
s3Options.accessKeyId = this.input.access_key
s3Options.secretAccessKey = this.input.access_secret;
s3Options.endpoint = new AWS.Endpoint(`s3.${this.input.region}.scw.cloud`);
this.s3Client = new AWS.S3(s3Options);
}
public async test(): Promise<boolean> {
try {
const tempFile = path.join(process.cwd(), 'temp.txt');
const createStream = fs.createWriteStream(tempFile);
createStream.end();
await this.fileCreate('/test.txt', {
path: tempFile,
mimetype: '',
originalname: 'temp.txt',
size: ''
});
fs.unlinkSync(tempFile);
return true;
} catch (e) {
throw e;
}
}
}
/**
* @copyright Copyright (c) 2021, Bhanu P Chaudhary <bhanu423@gmail.com>
*
* @author Bhanu P Chaudhary <bhanu423@gmail.com>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/

43
packages/nocodb/src/plugins/scaleway/ScalewayObjectStoragePlugin.ts

@ -0,0 +1,43 @@
import {IStorageAdapter, XcStoragePlugin} from "nc-plugin";
import ScalewayObjectStorage from "./ScalewayObjectStorage";
class ScalewayObjectStoragePlugin extends XcStoragePlugin {
private static storageAdapter: ScalewayObjectStorage;
public getAdapter(): IStorageAdapter {
return ScalewayObjectStoragePlugin.storageAdapter;
}
public async init(config: any): Promise<any> {
ScalewayObjectStoragePlugin.storageAdapter = new ScalewayObjectStorage(config);
await ScalewayObjectStoragePlugin.storageAdapter.init();
}
}
export default ScalewayObjectStoragePlugin;
/**
* @copyright Copyright (c) 2021, Bhanu P Chaudhary <bhanu423@gmail.com>
*
* @author Bhanu P Chaudhary <bhanu423@gmail.com>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/

80
packages/nocodb/src/plugins/scaleway/index.ts

@ -0,0 +1,80 @@
import {XcPluginConfig} from "nc-plugin";
import ScalewayObjectStoragePlugin from "./ScalewayObjectStoragePlugin";
import {XcActionType, XcType} from "nc-common";
const config: XcPluginConfig = {
builder: ScalewayObjectStoragePlugin,
title: 'Scaleway Object Storage',
version: '0.0.1',
logo: 'plugins/scaleway.png',
tags: 'Storage',
description: 'S3-compatible Scaleway Object Storage makes it easy and more affordable to store and access data on Scaleway Cloud Platform infrastructure. The service also gives a 75GB free storage and external outgoing transfer on Object Storage every month',
inputs: {
title: 'Configure Scaleway Object Storage',
items: [{
key: 'bucket',
label: 'Bucket Name',
placeholder: 'Bucket Name',
type: XcType.SingleLineText,
required: true
}, {
key: 'region',
label: 'Region',
placeholder: 'Region',
type: XcType.SingleLineText,
required: true
}, {
key: 'access_key',
label: 'Access Key',
placeholder: 'Access Key',
type: XcType.SingleLineText,
required: true
}, {
key: 'access_secret',
label: 'Access Secret',
placeholder: 'Access Secret',
type: XcType.Password,
required: true
},],
actions: [{
label: 'Test',
placeholder: 'Test',
key: 'test',
actionType: XcActionType.TEST,
type: XcType.Button
}, {
label: 'Save',
placeholder: 'Save',
key: 'save',
actionType: XcActionType.SUBMIT,
type: XcType.Button
},],
msgOnInstall: 'Successfully installed and attachment will be stored in Scaleway Object Storage',
msgOnUninstall: '',
},
category: 'Storage',
}
export default config;
/**
* @copyright Copyright (c) 2021, Bhanu P Chaudhary <bhanu423@gmail.com>
*
* @author Bhanu P Chaudhary <bhanu423@gmail.com>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
Loading…
Cancel
Save