Skip to content

Commit b415d1e

Browse files
author
FalkWolsky
committed
Subscription-Check Saga
1 parent 3e0450c commit b415d1e

20 files changed

+244
-160
lines changed

client/packages/lowcoder/src/api/applicationApi.ts

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -77,25 +77,25 @@ interface GrantAppPermissionReq {
7777

7878
class ApplicationApi extends Api {
7979
static newURLPrefix = "/applications";
80-
static fetchHomeDataURL = "/v1/applications/home";
81-
static createApplicationURL = "/v1/applications";
82-
static fetchAllMarketplaceAppsURL = "/v1/applications/marketplace-apps";
83-
static deleteApplicationURL = (applicationId: string) => `/v1/applications/${applicationId}`;
84-
static getAppPublishInfoURL = (applicationId: string) => `/v1/applications/${applicationId}/view`;
85-
static getAppEditingInfoURL = (applicationId: string) => `/v1/applications/${applicationId}`;
86-
static updateApplicationURL = (applicationId: string) => `/v1/applications/${applicationId}`;
80+
static fetchHomeDataURL = "/applications/home";
81+
static createApplicationURL = "/applications";
82+
static fetchAllMarketplaceAppsURL = "/applications/marketplace-apps";
83+
static deleteApplicationURL = (applicationId: string) => `/applications/${applicationId}`;
84+
static getAppPublishInfoURL = (applicationId: string) => `/applications/${applicationId}/view`;
85+
static getAppEditingInfoURL = (applicationId: string) => `/applications/${applicationId}`;
86+
static updateApplicationURL = (applicationId: string) => `/applications/${applicationId}`;
8787
static getApplicationPermissionURL = (applicationId: string) =>
88-
`/v1/applications/${applicationId}/permissions`;
88+
`/applications/${applicationId}/permissions`;
8989
static grantAppPermissionURL = (applicationId: string) =>
90-
`/v1/applications/${applicationId}/permissions`;
90+
`/applications/${applicationId}/permissions`;
9191
static publishApplicationURL = (applicationId: string) =>
92-
`/v1/applications/${applicationId}/publish`;
92+
`/applications/${applicationId}/publish`;
9393
static updateAppPermissionURL = (applicationId: string, permissionId: string) =>
94-
`/v1/applications/${applicationId}/permissions/${permissionId}`;
95-
static createFromTemplateURL = `/v1/applications/createFromTemplate`;
94+
`/applications/${applicationId}/permissions/${permissionId}`;
95+
static createFromTemplateURL = `/applications/createFromTemplate`;
9696
static publicToAllURL = (applicationId: string) => `/applications/${applicationId}/public-to-all`;
97-
static publicToMarketplaceURL = (applicationId: string) => `/v1/applications/${applicationId}/public-to-marketplace`;
98-
static getMarketplaceAppURL = (applicationId: string) => `/v1/applications/${applicationId}/view_marketplace`;
97+
static publicToMarketplaceURL = (applicationId: string) => `/applications/${applicationId}/public-to-marketplace`;
98+
static getMarketplaceAppURL = (applicationId: string) => `/applications/${applicationId}/view_marketplace`;
9999

100100

101101
static fetchHomeData(request: HomeDataPayload): AxiosPromise<HomeDataResponse> {

client/packages/lowcoder/src/api/datasourceApi.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ export interface DataSourceTypeInfo {
155155
}
156156

157157
export class DatasourceApi extends Api {
158-
static url = "v1/datasources";
158+
static url = "datasources";
159159

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

213213
static fetchDynamicPluginConfig<T = any>(

client/packages/lowcoder/src/api/inviteApi.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ export type InviteInfo = {
1919

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

2424
// generate invitation
2525
static getInvite(request: GetInviteRequest): AxiosPromise<GenericApiResponse<InviteInfo>> {

client/packages/lowcoder/src/api/orgApi.ts

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -34,24 +34,24 @@ export interface OrgAPIUsageResponse extends ApiResponse {
3434
}
3535

3636
export class OrgApi extends Api {
37-
static createGroupURL = "/v1/groups";
38-
static updateGroupURL = (groupId: string) => `/v1/groups/${groupId}/update`;
39-
static fetchGroupURL = "/v1/groups/list";
40-
static fetchGroupUsersURL = (groupId: string) => `/v1/groups/${groupId}/members`;
41-
static deleteGroupURL = (groupId: string) => `/v1/groups/${groupId}`;
42-
static fetchOrgUsersURL = (orgId: string) => `/v1/organizations/${orgId}/members`;
43-
static deleteOrgUsersURL = (orgId: string) => `/v1/organizations/${orgId}/remove`;
44-
static deleteGroupUserURL = (groupId: string) => `/v1/groups/${groupId}/remove`;
45-
static addGroupUserURL = (groupId: string) => `/v1/groups/${groupId}/addMember`;
46-
static updateUserOrgRoleURL = (orgId: string) => `/v1/organizations/${orgId}/role`;
47-
static updateUserGroupRoleURL = (groupId: string) => `/v1/groups/${groupId}/role`;
48-
static quitOrgURL = (orgId: string) => `/v1/organizations/${orgId}/leave`;
49-
static quitGroupURL = (groupId: string) => `/v1/groups/${groupId}/leave`;
50-
static switchOrgURL = (orgId: string) => `/v1/organizations/switchOrganization/${orgId}`;
51-
static createOrgURL = "/v1/organizations";
52-
static deleteOrgURL = (orgId: string) => `/v1/organizations/${orgId}`;
53-
static updateOrgURL = (orgId: string) => `/v1/organizations/${orgId}/update`;
54-
static fetchUsage = (orgId: string) => `/v1/organizations/${orgId}/api-usage`;
37+
static createGroupURL = "/groups";
38+
static updateGroupURL = (groupId: string) => `/groups/${groupId}/update`;
39+
static fetchGroupURL = "/groups/list";
40+
static fetchGroupUsersURL = (groupId: string) => `/groups/${groupId}/members`;
41+
static deleteGroupURL = (groupId: string) => `/groups/${groupId}`;
42+
static fetchOrgUsersURL = (orgId: string) => `/organizations/${orgId}/members`;
43+
static deleteOrgUsersURL = (orgId: string) => `/organizations/${orgId}/remove`;
44+
static deleteGroupUserURL = (groupId: string) => `/groups/${groupId}/remove`;
45+
static addGroupUserURL = (groupId: string) => `/groups/${groupId}/addMember`;
46+
static updateUserOrgRoleURL = (orgId: string) => `/organizations/${orgId}/role`;
47+
static updateUserGroupRoleURL = (groupId: string) => `/groups/${groupId}/role`;
48+
static quitOrgURL = (orgId: string) => `/organizations/${orgId}/leave`;
49+
static quitGroupURL = (groupId: string) => `/groups/${groupId}/leave`;
50+
static switchOrgURL = (orgId: string) => `/organizations/switchOrganization/${orgId}`;
51+
static createOrgURL = "/organizations";
52+
static deleteOrgURL = (orgId: string) => `/organizations/${orgId}`;
53+
static updateOrgURL = (orgId: string) => `/organizations/${orgId}/update`;
54+
static fetchUsage = (orgId: string) => `/organizations/${orgId}/api-usage`;
5555

5656
static createGroup(request: { name: string }): AxiosPromise<GenericApiResponse<OrgGroup>> {
5757
return Api.post(OrgApi.createGroupURL, request);

client/packages/lowcoder/src/api/platformApi.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { AxiosPromise } from "axios";
22
import Api from "./api";
33

44
export class PlatformApi extends Api {
5-
static url = "v1/query";
5+
static url = "query";
66

77
static version(): AxiosPromise<string> {
88
return Api.get("/VERSION", { _t: Date.now() }, { baseURL: "/" });

client/packages/lowcoder/src/api/queryApi.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ export type QueryExecuteResponse = {
4646
};
4747

4848
export class QueryApi extends Api {
49-
static url = "v1/query";
49+
static url = "query";
5050

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

client/packages/lowcoder/src/api/userApi.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -63,14 +63,14 @@ export type GetCurrentUserResponse = GenericApiResponse<CurrentUser>;
6363
class UserApi extends Api {
6464
static thirdPartyLoginURL = "/auth/tp/login";
6565
static thirdPartyBindURL = "/auth/tp/bind";
66-
static usersURL = "/v1/users";
66+
static usersURL = "/users";
6767
static sendVerifyCodeURL = "/auth/otp/send";
6868
static logoutURL = "/auth/logout";
69-
static userURL = "/v1/users/me";
69+
static userURL = "/users/me";
7070
static currentUserURL = "/users/currentUser";
7171
static rawCurrentUserURL = "/users/rawCurrentUser";
7272
static emailBindURL = "/auth/email/bind";
73-
static passwordURL = "/v1/users/password";
73+
static passwordURL = "/users/password";
7474
static formLoginURL = "/auth/form/login";
7575
static markUserStatusURL = "/users/mark-status";
7676
static userDetailURL = (id: string) => `/users/userDetail/${id}`;

client/packages/lowcoder/src/app.tsx

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ import { Redirect, Router, Switch } from "react-router-dom";
3636
import type { AppState } from "redux/reducers";
3737
import { fetchConfigAction } from "redux/reduxActions/configActions";
3838
import { fetchUserAction } from "redux/reduxActions/userActions";
39+
import { fetchSubscriptionsAction } from "redux/reduxActions/subscriptionActions";
3940
import { reduxStore } from "redux/store/store";
4041
import { developEnv } from "util/envUtils";
4142
import history from "util/history";
@@ -89,6 +90,7 @@ type AppIndexProps = {
8990
fetchHomeDataFinished: boolean;
9091
fetchConfig: (orgId?: string) => void;
9192
fetchHomeData: (currentUserAnonymous?: boolean | undefined) => void;
93+
fetchSubscriptions: () => void;
9294
getCurrentUser: () => void;
9395
favicon: string;
9496
brandName: string;
@@ -111,6 +113,7 @@ class AppIndex extends React.Component<AppIndexProps, any> {
111113
this.props.fetchConfig(this.props.currentOrgId);
112114
if (!this.props.currentUserAnonymous) {
113115
this.props.fetchHomeData(this.props.currentUserAnonymous);
116+
this.props.fetchSubscriptions();
114117
}
115118
}
116119
}
@@ -416,14 +419,20 @@ const mapDispatchToProps = (dispatch: any) => ({
416419
dispatch(fetchUserAction());
417420
},
418421
fetchConfig: (orgId?: string) => dispatch(fetchConfigAction(orgId)),
422+
423+
fetchSubscriptions: () => {
424+
// dispatch(fetchSubscriptionsAction());
425+
},
426+
419427
fetchHomeData: (currentUserAnonymous: boolean | undefined) => {
428+
dispatch(fetchHomeData({}));
420429
// the rule should be that if the user is not logged in and if he want to view an App, we should not fetch the home data
421-
if (window.location.pathname == APP_EDITOR_URL && !currentUserAnonymous && !currentUserAnonymous === undefined) {
430+
/* if (window.location.pathname == APP_EDITOR_URL && !currentUserAnonymous && !currentUserAnonymous === undefined) {
422431
dispatch(fetchHomeData({}));
423432
}
424433
else {
425434
dispatch(fetchHomeData({}));
426-
}
435+
} */
427436
}
428437
});
429438

client/packages/lowcoder/src/appView/AppViewInstance.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ export class AppViewInstance<I = any, O = any> {
8484
if (!appDsl) {
8585
const http = axios.create({ baseURL: baseUrl, withCredentials: true });
8686
const data: ApplicationResp = await http
87-
.get(`/api/v1/applications/${this.appId}/view`)
87+
.get(`/api/applications/${this.appId}/view`)
8888
.then((i) => i.data)
8989
.catch((e) => {
9090
if (e.response?.status === API_STATUS_CODES.REQUEST_NOT_AUTHORISED) {

client/packages/lowcoder/src/constants/apiConstants.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -52,9 +52,9 @@ export const API_REQUEST_HEADERS: RawAxiosRequestHeaders = {
5252
"Content-Type": "application/json",
5353
};
5454
export const SERVER_HOST = `${REACT_APP_API_HOST ?? ""}`;
55-
export const ASSETS_URI = (id: string) => `${SERVER_HOST}/api/v1/assets/${id}`;
56-
export const USER_HEAD_UPLOAD_URL = `${SERVER_HOST}/api/v1/users/photo`;
55+
export const ASSETS_URI = (id: string) => `${SERVER_HOST}/api/assets/${id}`;
56+
export const USER_HEAD_UPLOAD_URL = `${SERVER_HOST}/api/users/photo`;
5757
export const ORG_ICON_UPLOAD_URL = (orgId: string) =>
58-
`${SERVER_HOST}/api/v1/organizations/${orgId}/logo`;
58+
`${SERVER_HOST}/api/organizations/${orgId}/logo`;
5959

6060
export type ApiRequestStatus = "init" | "requesting" | "success" | "error";

client/packages/lowcoder/src/constants/reduxActionConstants.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,11 @@ export const ReduxActionTypes = {
159159
FETCH_AUDIT_LOG: "FETCH_AUDIT_LOG",
160160
FETCH_AUDIT_LOG_SUCCESS: "FETCH_AUDIT_LOG_SUCCESS",
161161

162+
/* subscription */
163+
FETCH_SUBSCRIPTIONS_INIT: "FETCH_SUBSCRIPTIONS_INIT",
164+
FETCH_SUBSCRIPTIONS_SUCCESS: "FETCH_SUBSCRIPTIONS_SUCCESS",
165+
FETCH_SUBSCRIPTIONS_FAILURE: "FETCH_SUBSCRIPTIONS_FAILURE",
166+
162167
/* application snapshot */
163168
FETCH_APP_SNAPSHOTS: "FETCH_APP_SNAPSHOTS",
164169
FETCH_APP_SNAPSHOTS_SUCCESS: "FETCH_APP_SNAPSHOTS_SUCCESS",
@@ -211,6 +216,9 @@ export const ReduxActionErrorTypes = {
211216
/* sytem config */
212217
FETCH_SYS_CONFIG_ERROR: "FETCH_SYS_CONFIG_ERROR",
213218

219+
/* subscription */
220+
FETCH_SUBSCRIPTIONS_ERROR: "FETCH_SUBSCRIPTIONS_ERROR",
221+
214222
/* application snapshot */
215223
CREATE_APP_SNAPSHOT_ERROR: "CREATE_APP_SNAPSHOT_ERROR",
216224
FETCH_APP_SNAPSHOTS_ERROR: "FETCH_APP_SNAPSHOTS_ERROR",

0 commit comments

Comments
 (0)