Browse Source

Merge branch 'develop' into feat/pnpm

pull/5903/head
Wing-Kam Wong 1 year ago
parent
commit
b6d24e4ba2
  1. 234
      markdown/readme/languages/indonesian.md
  2. 189
      packages/nocodb-sdk/src/lib/Api.ts

234
markdown/readme/languages/indonesian.md

@ -1,17 +1,22 @@
<h1 align="center" style="border-bottom: none"> <h1 align="center" style="border-bottom: none">
<b> <div>
<a href="https://www.nocodb.com">NocoDB </a><br> <a href="https://www.nocodb.com">
</b> <img src="/packages/nc-gui/assets/img/icons/512x512.png" width="80" />
<br>
NocoDB
</a>
</div>
✨ Sebuah Alternatif AirTable Open Source ✨ <br> ✨ Sebuah Alternatif AirTable Open Source ✨ <br>
</h1> </h1>
<p align="center"> <p align="center">
Mengubah MySQL, PostgreSQL, SQL Server, SQLite & MariaDB apapun menjadi spreadsheet pintar. Mengubah MySQL, PostgreSQL, SQL Server, SQLite & MariaDB apapun menjadi spreadsheet pintar.
</p> </p>
<div align="center">
[![Build Status](https://travis-ci.org/dwyl/esta.svg?branch=master)](https://travis-ci.com/github/NocoDB/NocoDB) <div align="center">
[![Node version](https://img.shields.io/badge/node-%3E%3D%2014.18.0-brightgreen)](http://nodejs.org/download/)
[![Node version](https://img.shields.io/badge/node-%3E%3D%2016.14.0-brightgreen)](http://nodejs.org/download/)
[![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-green.svg)](https://conventionalcommits.org) [![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-green.svg)](https://conventionalcommits.org)
</div> </div>
@ -19,12 +24,13 @@ Mengubah MySQL, PostgreSQL, SQL Server, SQLite & MariaDB apapun menjadi spreadsh
<p align="center"> <p align="center">
<a href="http://www.nocodb.com"><b>Website</b></a> <a href="http://www.nocodb.com"><b>Website</b></a>
<a href="https://discord.gg/5RgZmkW"><b>Discord</b></a> <a href="https://discord.gg/5RgZmkW"><b>Discord</b></a>
<a href="https://community.nocodb.com/"><b>Komunitas</b></a>
<a href="https://twitter.com/nocodb"><b>Twitter</b></a> <a href="https://twitter.com/nocodb"><b>Twitter</b></a>
<a href="https://www.reddit.com/r/NocoDB/"><b>Reddit</b></a> <a href="https://www.reddit.com/r/NocoDB/"><b>Reddit</b></a>
<a href="https://docs.nocodb.com/"><b>Documentation</b></a> <a href="https://docs.nocodb.com/"><b>Dokumentasi</b></a>
</p> </p>
![OpenSourceAirtableAlternative](https://user-images.githubusercontent.com/5435402/133762127-e94da292-a1c3-4458-b09a-02cd5b57be53.png) ![All Views](https://user-images.githubusercontent.com/35857179/194825053-3aa3373d-3e0f-4b42-b3f1-42928332054a.gif)
<img src="https://static.scarf.sh/a.png?x-pxid=c12a77cc-855e-4602-8a0f-614b2d0da56a" /> <img src="https://static.scarf.sh/a.png?x-pxid=c12a77cc-855e-4602-8a0f-614b2d0da56a" />
@ -32,49 +38,134 @@ Mengubah MySQL, PostgreSQL, SQL Server, SQLite & MariaDB apapun menjadi spreadsh
<a href="https://www.producthunt.com/posts/nocodb?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-nocodb" target="_blank"><img src="https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=297536&theme=dark" alt="NocoDB - The Open Source Airtable alternative | Product Hunt" style="width: 250px; height: 54px;" width="250" height="54" /></a> <a href="https://www.producthunt.com/posts/nocodb?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-nocodb" target="_blank"><img src="https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=297536&theme=dark" alt="NocoDB - The Open Source Airtable alternative | Product Hunt" style="width: 250px; height: 54px;" width="250" height="54" /></a>
</p> </p>
# Mulai Cepat # Join Tim Kami
<p align=""><a href="http://careers.nocodb.com" target="_blank"><img src="https://user-images.githubusercontent.com/61551451/169663818-45643495-e95b-48e2-be13-01d6a77dc2fd.png" width="250"/></a></p>
# Join Komunitas Kami
<a href="https://discord.gg/5RgZmkW" target="_blank">
<img src="https://discordapp.com/api/guilds/661905455894888490/widget.png?style=banner3" alt="">
</a>
<!-- <a href="https://community.nocodb.com/" target="_blank">
<img src="https://i2.wp.com/www.feverbee.com/wp-content/uploads/2018/07/logo-discourse.png" alt="">
</a>
-->
[![Stargazers repo roster for @nocodb/nocodb](https://reporoster.com/stars/nocodb/nocodb)](https://github.com/nocodb/nocodb/stargazers)
# Coba singkat
## Docker
```bash
# for SQLite
docker run -d --name nocodb \
-v "$(pwd)"/nocodb:/usr/app/data/ \
-p 8080:8080 \
nocodb/nocodb:latest
# for MySQL
docker run -d --name nocodb-mysql \
-v "$(pwd)"/nocodb:/usr/app/data/ \
-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:latest
# for PostgreSQL
docker run -d --name nocodb-postgres \
-v "$(pwd)"/nocodb:/usr/app/data/ \
-p 8080:8080 \
-e NC_DB="pg://host.docker.internal:5432?u=root&p=password&d=d1" \
-e NC_AUTH_JWT_SECRET="569a1821-0a93-45e8-87ab-eb857f20a010" \
nocodb/nocodb:latest
# for MSSQL
docker run -d --name nocodb-mssql \
-v "$(pwd)"/nocodb:/usr/app/data/ \
-p 8080:8080 \
-e NC_DB="mssql://host.docker.internal:1433?u=root&p=password&d=d1" \
-e NC_AUTH_JWT_SECRET="569a1821-0a93-45e8-87ab-eb857f20a010" \
nocodb/nocodb:latest
```
> Untuk menyimpan data di dalam Docker, Anda dapat melakukan mount volume di direktori /usr/app/data/ mulai dari versi 0.10.6. Jika tidak, data Anda akan hilang setelah mengulang pembuatan kontainer.
### Menggunakan Docker > Jika Anda berencana untuk memasukkan beberapa karakter khusus, Anda perlu mengubah set karakter dan kolasi sendiri saat membuat basis data. Silakan lihat contoh-contoh untuk [MySQL Docker](https://github.com/nocodb/nocodb/issues/1340#issuecomment-1049481043).
## Binaries
##### MacOS (x64)
```bash ```bash
docker run -d --name nocodb -p 8080:8080 nocodb/nocodb:latest curl http://get.nocodb.com/macos-x64 -o nocodb -L && chmod +x nocodb && ./nocodb
``` ```
- NocoDB needs a database as input : See [Production Setup](https://github.com/nocodb/nocodb/blob/master/README.md#production-setup). ##### MacOS (arm64)
- If this input is absent, we fallback to SQLite. In order too persist sqlite, you can mount `/usr/app/data/`.
```bash
curl http://get.nocodb.com/macos-arm64 -o nocodb -L && chmod +x nocodb && ./nocodb
```
##### Linux (x64)
```bash
curl http://get.nocodb.com/linux-x64 -o nocodb -L && chmod +x nocodb && ./nocodb
```
Example: ##### Linux (arm64)
``` ```bash
docker run -d -p 8080:8080 --name nocodb -v "$(pwd)"/nocodb:/usr/app/data/ nocodb/nocodb:latest curl http://get.nocodb.com/linux-arm64 -o nocodb -L && chmod +x nocodb && ./nocodb
``` ```
### Menggunakan NPM ##### Windows (x64)
```bash
iwr http://get.nocodb.com/win-x64.exe -o Noco-win-x64.exe
.\Noco-win-x64.exe
``` ```
npx create-nocodb-app
##### Windows (arm64)
```bash
iwr http://get.nocodb.com/win-arm64.exe -o Noco-win-arm64.exe
.\Noco-win-arm64.exe
``` ```
### Menggunakan git ## Docker Compose
Kami menyediakan berbagai file docker-compose.yml di [bawah direktori](https://github.com/nocodb/nocodb/tree/master/docker-compose) ini. Berikut beberapa contohnya:
```bash
git clone https://github.com/nocodb/nocodb
# for MySQL
cd nocodb/docker-compose/mysql
# for PostgreSQL
cd nocodb/docker-compose/pg
# for MSSQL
cd nocodb/docker-compose/mssql
docker-compose up -d
``` ```
> Untuk menyimpan data dalam Docker, Anda dapat melakukan mount volume pada direktori /usr/app/data/ mulai dari versi 0.10.6. Jika tidak, data Anda akan hilang setelah mengulang pembuatan kontainer.
> Jika Anda berencana untuk memasukkan beberapa karakter khusus, Anda perlu mengubah set karakter dan kolasi sendiri saat membuat basis data. Silakan lihat contoh-contoh untuk [MySQL Docker Compose](https://github.com/nocodb/nocodb/issues/1313#issuecomment-1046625974).
```bash
git clone https://github.com/nocodb/nocodb-seed git clone https://github.com/nocodb/nocodb-seed
cd nocodb-seed cd nocodb-seed
npm install npm install
npm start npm start
``` ```
### GUI # GUI
Akses dasbor menggunakan : [http://localhost:8080/dashboard](http://localhost:8080/dashboard) Akses dasbor menggunakan : [http://localhost:8080/dashboard](http://localhost:8080/dashboard)
# Bergabunglah dengan komunitas kami
<a href="https://discord.gg/5RgZmkW">
<img src="https://discordapp.com/api/guilds/661905455894888490/widget.png?style=banner3" alt="">
</a>
<br>
# Tangkapan Layar # Tangkapan Layar
![1](https://user-images.githubusercontent.com/86527202/136074228-f52e181b-e65d-44ce-afca-0447eb506e90.png) ![1](https://user-images.githubusercontent.com/86527202/136074228-f52e181b-e65d-44ce-afca-0447eb506e90.png)
@ -110,6 +201,32 @@ Akses dasbor menggunakan : [http://localhost:8080/dashboard](http://localhost:80
![11](https://user-images.githubusercontent.com/86527202/136074285-b5d1dc5c-fac3-43af-b9fc-1a5d1d41d071.png) ![11](https://user-images.githubusercontent.com/86527202/136074285-b5d1dc5c-fac3-43af-b9fc-1a5d1d41d071.png)
<br> <br>
# Table of Contents
# Daftar Isi
- [Coba Singkat](#coba-singkat)
- [Docker](#docker)
- [Docker Compose](#docker-compose)
- [Antarmuka Grafis Pengguna (GUI)](#gui)
- [Bergabunglah dengan Komunitas Kami](#join-komunitas-kami)
- [Screenshots](#tangkapan-layar)
- [Daftar Isi](#daftar-isi)
- [Fitur-fitur](#fitur)
- [Antarmuka Lembar Kerja yang Kaya](#antarmuka-spreadsheet-yang-kaya)
- [Toko Aplikasi untuk Otomasi Alur Kerja](#app-store-untuk-automasi-alur-kerja)
- [Akses Programatik](#akses-api-programmatik-melalui)
- [Sinkronisasi Skema](#sinkronisasi-skema)
- [Audit](#audit)
- [Pengaturan Produksi](#pengaturan-produksi)
- [Variabel Lingkungan](#environment-variables)
- [Pengaturan Pengembangan](#pengaturan-pengembangan)
- [Berkontribusi](#berkontribusi)
- [Mengapa kami membangun ini?](#kenapa-kita-membangun-ini)
- [Misi Kami](#misi-kami)
- [Lisensi](#lisensi)
# Fitur # Fitur
### Antarmuka spreadsheet yang kaya ### Antarmuka spreadsheet yang kaya
@ -137,65 +254,38 @@ Akses dasbor menggunakan : [http://localhost:8080/dashboard](http://localhost:80
- ⚡ Termasuk Otentikasi JWT & Auth Sosial - ⚡ Termasuk Otentikasi JWT & Auth Sosial
- ⚡ Token API untuk berintegrasi dengan Zapier, Integromat. - ⚡ Token API untuk berintegrasi dengan Zapier, Integromat.
# Pengaturan Produksi ### Sinkronisasi Skema
NOCODB membutuhkan database untuk menyimpan metadata tampilan spreadsheet dan database eksternal. Dan params koneksi untuk basis data ini dapat ditentukan dalam variabel lingkungan NC_DB.
## Docker
#### Contoh MySQL
``` Kami memungkinkan Anda untuk menyinkronkan perubahan skema jika Anda telah melakukan perubahan di luar antarmuka NocoDB GUI. Namun, perlu diperhatikan bahwa Anda harus menyediakan migrasi skema sendiri untuk berpindah dari satu lingkungan ke lingkungan lainnya. Lihat [Sinkronisasi Skema](https://docs.nocodb.com/setup-and-usages/sync-schema/) untuk detail lebih lanjut.
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:latest
```
#### Contoh Postgres ### Audit
``` Kami menyimpan semua log operasi pengguna di satu tempat. Lihat [Audit](https://docs.nocodb.com/setup-and-usages/audit) untuk detail lebih lanjut.
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:latest
```
#### Contoh SQL Server
```
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:latest
```
## Docker Compose # Pengaturan Produksi
``` Secara default, SQLite digunakan untuk menyimpan metadata. Namun, Anda dapat menentukan basis data Anda sendiri. Parameter koneksi untuk basis data ini dapat ditentukan dalam variabel lingkungan `NC_DB`. Selain itu, kami juga menyediakan
git clone https://github.com/nocodb/nocodb
cd nocodb
cd docker-compose
cd mysql or pg or mssql
docker-compose up -d
```
## Environment variables ## Environment variables
Please refer to [Environment variables](https://docs.nocodb.com/getting-started/environment-variables) Silakan lihat [Environment Variables](https://docs.nocodb.com/getting-started/environment-variables) untuk informasi lebih lanjut.
# Pengaturan Pengembangan # Pengaturan Pengembangan
Please refer to [Development Setup](https://docs.nocodb.com/engineering/development-setup) Silakan lihat [Pengaturan Development](https://docs.nocodb.com/engineering/development-setup) untuk informasi lebih lanjut.
# Berkontribusi # Berkontribusi
Silakan lihat [Panduan Kontribusi](https://github.com/nocodb/nocodb/blob/master/.github/CONTRIBUTING.md) untuk informasi lebih lanjut.
Please refer to [Contribution Guide](https://github.com/nocodb/nocodb/blob/master/.github/CONTRIBUTING.md).
# Kenapa kita membangun ini? # Kenapa kita membangun ini?
Sebagian besar bisnis internet melengkapi diri mereka dengan spreadsheet atau database untuk menyelesaikan kebutuhan bisnis mereka. Spreadsheet digunakan oleh satu miliar + manusia secara kolaboratif setiap hari. Namun, kami jauh bekerja dengan kecepatan yang sama pada basis data yang merupakan alat yang lebih kuat ketika datang ke komputasi. Upaya untuk menyelesaikan ini dengan persembahan SaaS berarti kontrol akses yang mengerikan, vendor lockin, data lockin, perubahan harga mendadak & paling penting plafon kaca pada apa yang mungkin di masa depan. Sebagian besar bisnis internet melengkapi diri mereka dengan spreadsheet atau database untuk menyelesaikan kebutuhan bisnis mereka. Spreadsheet digunakan oleh satu miliar+ manusia secara kolaboratif setiap hari. Namun, kami jauh bekerja dengan kecepatan yang sama pada basis data yang merupakan alat yang lebih kuat ketika datang ke komputasi. Upaya untuk menyelesaikan ini dengan persembahan SaaS berarti kontrol akses yang mengerikan, vendor lockin, data lockin, perubahan harga mendadak & paling penting plafon kaca pada apa yang mungkin di masa depan.
# Misi kita # Misi Kami
Misi kami adalah menyediakan antarmuka tanpa kode yang paling kuat untuk basis data yang merupakan sumber terbuka untuk setiap bisnis internet di dunia. Ini tidak hanya akan mendemokratisasi akses ke alat komputasi yang kuat tetapi juga memunculkan satu miliar + orang yang akan memiliki kemampuan mengotori-dan membangun radikal di Internet. Misi kami adalah menyediakan antarmuka no-code yang paling kuat untuk basis data yang merupakan sumber terbuka untuk setiap bisnis internet di dunia. Ini tidak hanya akan mendemokratisasi akses ke alat komputasi yang kuat tetapi juga memunculkan satu miliar+ orang yang akan memiliki kemampuan membangun di Internet.
# Lisensi
<p>
Proyek ini dilisensikan di bawah <a href="./LICENSE">AGPLv3</a>.
</p>

189
packages/nocodb-sdk/src/lib/Api.ts

@ -4468,6 +4468,7 @@ export class Api<
* @response `200` `{ * @response `200` `{
name?: string, name?: string,
id?: string, id?: string,
project_id?: string,
}` OK }` OK
* @response `400` `{ * @response `400` `{
@ -4493,6 +4494,7 @@ export class Api<
{ {
name?: string; name?: string;
id?: string; id?: string;
project_id?: string;
}, },
{ {
/** @example BadRequest [Error]: <ERROR MESSAGE> */ /** @example BadRequest [Error]: <ERROR MESSAGE> */
@ -5026,6 +5028,7 @@ export class Api<
offset?: number; offset?: number;
/** @max 1 */ /** @max 1 */
limit?: number; limit?: number;
baseId?: string;
}, },
params: RequestParams = {} params: RequestParams = {}
) => ) =>
@ -5340,58 +5343,6 @@ export class Api<
}), }),
/** /**
* No description
*
* @tags Base
* @name TableMagic
* @request POST:/api/v1/db/meta/projects/{projectId}/{baseId}/tables/magic
* @response `200` `TableType` OK
*/
tableMagic: (
projectId: string,
baseId: string,
data: {
table_name: string;
title: string;
},
params: RequestParams = {}
) =>
this.request<TableType, any>({
path: `/api/v1/db/meta/projects/${projectId}/${baseId}/tables/magic`,
method: 'POST',
body: data,
type: ContentType.Json,
format: 'json',
...params,
}),
/**
* No description
*
* @tags Base
* @name SchemaMagic
* @request POST:/api/v1/db/meta/projects/{projectId}/{baseId}/schema/magic
* @response `200` `TableType` OK
*/
schemaMagic: (
projectId: string,
baseId: string,
data: {
schema_name: string;
title: string;
},
params: RequestParams = {}
) =>
this.request<TableType, any>({
path: `/api/v1/db/meta/projects/${projectId}/${baseId}/schema/magic`,
method: 'POST',
body: data,
type: ContentType.Json,
format: 'json',
...params,
}),
/**
* @description Synchronise the meta data difference between NC_DB and external data sources in a given Base * @description Synchronise the meta data difference between NC_DB and external data sources in a given Base
* *
* @tags Base * @tags Base
@ -5919,6 +5870,87 @@ export class Api<
format: 'json', format: 'json',
...params, ...params,
}), }),
/**
* @description Get columns hash for table
*
* @tags DB Table Column
* @name Hash
* @summary Get columns hash for table
* @request GET:/api/v1/db/meta/tables/{tableId}/columns/hash
* @response `200` `{
\** Columns hash *\
hash?: string,
}` OK
*/
hash: (tableId: IdType, params: RequestParams = {}) =>
this.request<
{
/** Columns hash */
hash?: string;
},
any
>({
path: `/api/v1/db/meta/tables/${tableId}/columns/hash`,
method: 'GET',
format: 'json',
...params,
}),
/**
* @description Bulk create-update-delete columns
*
* @tags DB Table Column
* @name Bulk
* @summary Bulk create-update-delete columns
* @request POST:/api/v1/db/meta/tables/{tableId}/columns/bulk
* @response `200` `{
failedOps?: ({
op: "add" | "update" | "delete",
\** Model for Column *\
column: ColumnType,
error?: any,
})[],
}` OK
* @response `400` `{
\** @example BadRequest [Error]: <ERROR MESSAGE> *\
msg: string,
}`
*/
bulk: (
tableId: IdType,
data: {
/** Columns hash */
hash?: string;
ops?: any[];
},
params: RequestParams = {}
) =>
this.request<
{
failedOps?: {
op: 'add' | 'update' | 'delete';
/** Model for Column */
column: ColumnType;
error?: any;
}[];
},
{
/** @example BadRequest [Error]: <ERROR MESSAGE> */
msg: string;
}
>({
path: `/api/v1/db/meta/tables/${tableId}/columns/bulk`,
method: 'POST',
body: data,
type: ContentType.Json,
format: 'json',
...params,
}),
}; };
dbView = { dbView = {
/** /**
@ -9280,59 +9312,6 @@ export class Api<
}), }),
/** /**
* @description Get select options using NocoAI
*
* @tags Utils
* @name Magic
* @summary Get generic response using NocoAI
* @request POST:/api/v1/db/meta/magic
* @response `200` `any` OK
*/
magic: (
data: {
operation:
| 'selectOptions'
| 'predictColumnType'
| 'predictFormula'
| 'predictNextColumn'
| 'predictNextFormulas'
| 'generateSinglePrompt'
| 'generateQueryPrompt'
| 'generateSQL'
| 'repairSQL';
data?: object;
},
params: RequestParams = {}
) =>
this.request<any, any>({
path: `/api/v1/db/meta/magic`,
method: 'POST',
body: data,
type: ContentType.Json,
format: 'json',
...params,
}),
/**
* @description Get dynamic command palette suggestions based on scope
*
* @tags Utils
* @name CommandPalette
* @summary Get command palette suggestions
* @request POST:/api/v1/command_palette
* @response `200` `any` OK
*/
commandPalette: (data: any, params: RequestParams = {}) =>
this.request<any, any>({
path: `/api/v1/command_palette`,
method: 'POST',
body: data,
type: ContentType.Json,
format: 'json',
...params,
}),
/**
* @description Extract XC URL From JDBC and parse to connection config * @description Extract XC URL From JDBC and parse to connection config
* *
* @tags Utils * @tags Utils

Loading…
Cancel
Save