PromucFlow_constructor/app/client/src/api/OrgApi.ts
Tejaaswini Narendra d3718bc28e fix:Minor UI changes
- add ellipsis for the application title
- align org name, list of applications
- increase font size of org name
- increase size of create application icon
- add name for create application card
- remove create application button
2020-05-29 13:21:05 +00:00

102 lines
2.5 KiB
TypeScript

import { AxiosPromise } from "axios";
import Api from "./Api";
import { ApiResponse } from "./ApiResponses";
import { OrgRole, Org } from "constants/orgConstants";
export interface FetchOrgRolesResponse extends ApiResponse {
data: OrgRole[];
}
export interface FetchOrgsResponse extends ApiResponse {
data: Org[];
}
export interface FetchOrgResponse extends ApiResponse {
data: Org;
}
export interface FetchAllUsersResponse extends ApiResponse {
data: OrgRole[];
}
export interface FetchAllRolesResponse extends ApiResponse {
data: Org[];
}
export interface FetchOrgRequest {
orgId: string;
}
export interface FetchAllUsersRequest {
orgId: string;
}
export interface ChangeUserRoleRequest {
orgId: string;
role: string;
username: string;
}
export interface DeleteOrgUserRequest {
orgId: string;
username: string;
}
export interface FetchAllRolesRequest {
orgId: string;
}
export interface SaveOrgRequest {
id: string;
name: string;
website: string;
}
export interface CreateOrgRequest {
name: string;
}
class OrgApi extends Api {
static rolesURL = "v1/groups";
static orgsURL = "v1/organizations";
static fetchRoles(): AxiosPromise<FetchOrgRolesResponse> {
return Api.get(OrgApi.rolesURL);
}
static fetchOrgs(): AxiosPromise<FetchOrgsResponse> {
return Api.get(OrgApi.orgsURL);
}
static fetchOrg(request: FetchOrgRequest): AxiosPromise<FetchOrgResponse> {
return Api.get(OrgApi.orgsURL + "/" + request.orgId);
}
static saveOrg(request: SaveOrgRequest): AxiosPromise<ApiResponse> {
return Api.put(OrgApi.orgsURL + "/" + request.id, request);
}
static createOrg(request: CreateOrgRequest): AxiosPromise<ApiResponse> {
return Api.post(OrgApi.orgsURL, request);
}
static fetchAllUsers(
request: FetchAllUsersRequest,
): AxiosPromise<FetchAllUsersResponse> {
return Api.get(OrgApi.orgsURL + "/" + request.orgId + "/members");
}
static fetchAllRoles(): AxiosPromise<FetchAllRolesResponse> {
return Api.get(OrgApi.orgsURL + "/roles");
}
static changeOrgUserRole(
request: ChangeUserRoleRequest,
): AxiosPromise<ApiResponse> {
return Api.put(OrgApi.orgsURL + "/" + request.orgId + "/role", {
username: request.username,
roleName: request.role,
});
}
static deleteOrgUser(
request: DeleteOrgUserRequest,
): AxiosPromise<ApiResponse> {
return Api.put(OrgApi.orgsURL + "/" + request.orgId + "/role", {
username: request.username,
roleName: null,
});
}
}
export default OrgApi;