Skip to content

Commit

Permalink
Merge pull request #1137 from lowcoder-org/subscription-handling
Browse files Browse the repository at this point in the history
Subscription handling #2
  • Loading branch information
FalkWolsky authored Sep 15, 2024
2 parents 67a01ad + fe89b29 commit be24fe3
Show file tree
Hide file tree
Showing 1,501 changed files with 1,162,059 additions and 7,045 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -16,3 +16,4 @@ application-dev-localhost.yaml
.vscode/settings.json
.vscode/launch.json
server/api-service/lowcoder-server/src/main/resources/application-local-dev.yaml
translations/locales/node_modules/
2 changes: 1 addition & 1 deletion client/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "lowcoder-root",
"version": "2.3.1",
"version": "2.4.5",
"type": "module",
"private": true,
"workspaces": [
Expand Down
4 changes: 2 additions & 2 deletions client/packages/lowcoder-cli/config/vite.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,8 @@ export default defineConfig({
extensions: [".mjs", ".js", ".ts", ".jsx", ".tsx", ".json"],
},
build: {
target: "es2015",
cssTarget: "chrome63",
target: "es2020",
cssTarget: "chrome87",
outDir: paths.appOutPath,
emptyOutDir: true,
lib: {
Expand Down
2 changes: 1 addition & 1 deletion client/packages/lowcoder-design/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
"react-virtualized": "^9.22.3",
"rehype-raw": "^6.1.1",
"rehype-sanitize": "^5.0.1",
"remark-gfm": "^3.0.1",
"remark-gfm": "^4.0.0",
"simplebar": "^6.2.5",
"simplebar-react": "^3.2.4"
},
Expand Down
1 change: 1 addition & 0 deletions client/packages/lowcoder-design/src/icons/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -127,6 +127,7 @@ export { ReactComponent as HomeListIcon } from "./v1/icon-application-list.svg";
export { ReactComponent as HomeCardIcon } from "./v1/icon-application-card.svg";
export { ReactComponent as APIDocsIcon } from "./remix/instance-line.svg";
export { ReactComponent as SubscriptionIcon } from "./remix/award-fill.svg";
export { ReactComponent as SupportIcon } from "./remix/user-heart-line.svg";
// export { ReactComponent as AllAppIcon } from "./v1/icon-all-app.svg";


Expand Down
4 changes: 2 additions & 2 deletions client/packages/lowcoder/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@
"react-helmet": "^6.1.0",
"react-joyride": "^2.4.0",
"react-json-view": "^1.21.3",
"react-markdown": "^8.0.0",
"react-markdown": "^9.0.1",
"react-qr-barcode-scanner": "^1.0.6",
"react-quill": "^2.0.0",
"react-redux": "^7.2.6",
Expand All @@ -91,7 +91,7 @@
"regenerator-runtime": "^0.13.9",
"rehype-raw": "^6.1.1",
"rehype-sanitize": "^5.0.1",
"remark-gfm": "^3.0.1",
"remark-gfm": "^4.0.0",
"resize-observer-polyfill": "^1.5.1",
"simplebar-react": "^3.2.4",
"sql-formatter": "^8.2.0",
Expand Down
14 changes: 14 additions & 0 deletions client/packages/lowcoder/src/api/apiUtils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -207,3 +207,17 @@ export function doValidResponse(response: AxiosResponse<ApiResponse>) {
}
return response.data.success;
}

function toHex(num: number | bigint, length: number): string {
return num.toString(16).padStart(length, '0');
}

export function calculateFlowCode() {
// flow generation
const part1: number = 2527698043;
const part2: number = 15000 - 832;
const part3: number = 20000 - 472;
const part4: number = (46000 + 257);
const part5: bigint = 185593952632172n;
return `${toHex(part1, 8)}-${toHex(part2, 4)}-${toHex(part3, 4)}-${toHex(part4, 4)}-${toHex(part5, 12)}`;
}
28 changes: 14 additions & 14 deletions client/packages/lowcoder/src/api/applicationApi.ts
Original file line number Diff line number Diff line change
Expand Up @@ -77,25 +77,25 @@ interface GrantAppPermissionReq {

class ApplicationApi extends Api {
static newURLPrefix = "/applications";
static fetchHomeDataURL = "/v1/applications/home";
static createApplicationURL = "/v1/applications";
static fetchAllMarketplaceAppsURL = "/v1/applications/marketplace-apps";
static deleteApplicationURL = (applicationId: string) => `/v1/applications/${applicationId}`;
static getAppPublishInfoURL = (applicationId: string) => `/v1/applications/${applicationId}/view`;
static getAppEditingInfoURL = (applicationId: string) => `/v1/applications/${applicationId}`;
static updateApplicationURL = (applicationId: string) => `/v1/applications/${applicationId}`;
static fetchHomeDataURL = "/applications/home";
static createApplicationURL = "/applications";
static fetchAllMarketplaceAppsURL = "/applications/marketplace-apps";
static deleteApplicationURL = (applicationId: string) => `/applications/${applicationId}`;
static getAppPublishInfoURL = (applicationId: string) => `/applications/${applicationId}/view`;
static getAppEditingInfoURL = (applicationId: string) => `/applications/${applicationId}`;
static updateApplicationURL = (applicationId: string) => `/applications/${applicationId}`;
static getApplicationPermissionURL = (applicationId: string) =>
`/v1/applications/${applicationId}/permissions`;
`/applications/${applicationId}/permissions`;
static grantAppPermissionURL = (applicationId: string) =>
`/v1/applications/${applicationId}/permissions`;
`/applications/${applicationId}/permissions`;
static publishApplicationURL = (applicationId: string) =>
`/v1/applications/${applicationId}/publish`;
`/applications/${applicationId}/publish`;
static updateAppPermissionURL = (applicationId: string, permissionId: string) =>
`/v1/applications/${applicationId}/permissions/${permissionId}`;
static createFromTemplateURL = `/v1/applications/createFromTemplate`;
`/applications/${applicationId}/permissions/${permissionId}`;
static createFromTemplateURL = `/applications/createFromTemplate`;
static publicToAllURL = (applicationId: string) => `/applications/${applicationId}/public-to-all`;
static publicToMarketplaceURL = (applicationId: string) => `/v1/applications/${applicationId}/public-to-marketplace`;
static getMarketplaceAppURL = (applicationId: string) => `/v1/applications/${applicationId}/view_marketplace`;
static publicToMarketplaceURL = (applicationId: string) => `/applications/${applicationId}/public-to-marketplace`;
static getMarketplaceAppURL = (applicationId: string) => `/applications/${applicationId}/view_marketplace`;


static fetchHomeData(request: HomeDataPayload): AxiosPromise<HomeDataResponse> {
Expand Down
4 changes: 2 additions & 2 deletions client/packages/lowcoder/src/api/datasourceApi.ts
Original file line number Diff line number Diff line change
Expand Up @@ -155,7 +155,7 @@ export interface DataSourceTypeInfo {
}

export class DatasourceApi extends Api {
static url = "v1/datasources";
static url = "datasources";

// this api can be accessed by anonymous users when app is public.
static fetchJsDatasourceByApp(
Expand Down Expand Up @@ -207,7 +207,7 @@ export class DatasourceApi extends Api {
static fetchDatasourceType(
orgId: string
): AxiosPromise<GenericApiResponse<DataSourceTypeInfo[]>> {
return Api.get(`/v1/organizations/${orgId}/datasourceTypes`);
return Api.get(`/organizations/${orgId}/datasourceTypes`);
}

static fetchDynamicPluginConfig<T = any>(
Expand Down
2 changes: 1 addition & 1 deletion client/packages/lowcoder/src/api/inviteApi.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ export type InviteInfo = {

class InviteApi extends Api {
static getInviteURL = "/invitation";
static acceptInviteURL = (invitationId: string) => `/v1/invitation/${invitationId}/invite`;
static acceptInviteURL = (invitationId: string) => `/invitation/${invitationId}/invite`;

// generate invitation
static getInvite(request: GetInviteRequest): AxiosPromise<GenericApiResponse<InviteInfo>> {
Expand Down
36 changes: 18 additions & 18 deletions client/packages/lowcoder/src/api/orgApi.ts
Original file line number Diff line number Diff line change
Expand Up @@ -34,24 +34,24 @@ export interface OrgAPIUsageResponse extends ApiResponse {
}

export class OrgApi extends Api {
static createGroupURL = "/v1/groups";
static updateGroupURL = (groupId: string) => `/v1/groups/${groupId}/update`;
static fetchGroupURL = "/v1/groups/list";
static fetchGroupUsersURL = (groupId: string) => `/v1/groups/${groupId}/members`;
static deleteGroupURL = (groupId: string) => `/v1/groups/${groupId}`;
static fetchOrgUsersURL = (orgId: string) => `/v1/organizations/${orgId}/members`;
static deleteOrgUsersURL = (orgId: string) => `/v1/organizations/${orgId}/remove`;
static deleteGroupUserURL = (groupId: string) => `/v1/groups/${groupId}/remove`;
static addGroupUserURL = (groupId: string) => `/v1/groups/${groupId}/addMember`;
static updateUserOrgRoleURL = (orgId: string) => `/v1/organizations/${orgId}/role`;
static updateUserGroupRoleURL = (groupId: string) => `/v1/groups/${groupId}/role`;
static quitOrgURL = (orgId: string) => `/v1/organizations/${orgId}/leave`;
static quitGroupURL = (groupId: string) => `/v1/groups/${groupId}/leave`;
static switchOrgURL = (orgId: string) => `/v1/organizations/switchOrganization/${orgId}`;
static createOrgURL = "/v1/organizations";
static deleteOrgURL = (orgId: string) => `/v1/organizations/${orgId}`;
static updateOrgURL = (orgId: string) => `/v1/organizations/${orgId}/update`;
static fetchUsage = (orgId: string) => `/v1/organizations/${orgId}/api-usage`;
static createGroupURL = "/groups";
static updateGroupURL = (groupId: string) => `/groups/${groupId}/update`;
static fetchGroupURL = "/groups/list";
static fetchGroupUsersURL = (groupId: string) => `/groups/${groupId}/members`;
static deleteGroupURL = (groupId: string) => `/groups/${groupId}`;
static fetchOrgUsersURL = (orgId: string) => `/organizations/${orgId}/members`;
static deleteOrgUsersURL = (orgId: string) => `/organizations/${orgId}/remove`;
static deleteGroupUserURL = (groupId: string) => `/groups/${groupId}/remove`;
static addGroupUserURL = (groupId: string) => `/groups/${groupId}/addMember`;
static updateUserOrgRoleURL = (orgId: string) => `/organizations/${orgId}/role`;
static updateUserGroupRoleURL = (groupId: string) => `/groups/${groupId}/role`;
static quitOrgURL = (orgId: string) => `/organizations/${orgId}/leave`;
static quitGroupURL = (groupId: string) => `/groups/${groupId}/leave`;
static switchOrgURL = (orgId: string) => `/organizations/switchOrganization/${orgId}`;
static createOrgURL = "/organizations";
static deleteOrgURL = (orgId: string) => `/organizations/${orgId}`;
static updateOrgURL = (orgId: string) => `/organizations/${orgId}/update`;
static fetchUsage = (orgId: string) => `/organizations/${orgId}/api-usage`;

static createGroup(request: { name: string }): AxiosPromise<GenericApiResponse<OrgGroup>> {
return Api.post(OrgApi.createGroupURL, request);
Expand Down
2 changes: 1 addition & 1 deletion client/packages/lowcoder/src/api/platformApi.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { AxiosPromise } from "axios";
import Api from "./api";

export class PlatformApi extends Api {
static url = "v1/query";
static url = "query";

static version(): AxiosPromise<string> {
return Api.get("/VERSION", { _t: Date.now() }, { baseURL: "/" });
Expand Down
2 changes: 1 addition & 1 deletion client/packages/lowcoder/src/api/queryApi.ts
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ export type QueryExecuteResponse = {
};

export class QueryApi extends Api {
static url = "v1/query";
static url = "query";

static queryExecuteCancelTokenSource: Record<string, CancelTokenSource> = {};

Expand Down
Loading

0 comments on commit be24fe3

Please sign in to comment.