async fetchTenants()

in src/lib/store/modules/tenant.store.js [23:62]


    async fetchTenants({commit, rootGetters}, {limit, offset, status, requesterEmail, parentTenantId, parentClientId}) {
        const params = {limit, offset, status, requesterEmail, parentTenantId, parentClientId};
        const queryString = JSON.stringify(params);

        let {tenant, total_num_of_tenants} = await custosService.tenants.fetchTenants(params);
        const tenantIds = tenant.map(({tenant_id, tenant_status, client_name, domain, client_id, parent_tenant_id, admin_username, requester_email}) => {
            let type = "CHILD_TENANT";
            let hasAdminPrivileges = false;
            let currentUsername = rootGetters["auth/currentUsername"];

            // TODO fix
            if (client_id === config.value('superClientId')) {
                type = "SUPER_TENANT";
            } else if (parent_tenant_id === "0") {
                type = "ADMIN_TENANT";
            }

            if (currentUsername === admin_username) {
                hasAdminPrivileges = true;
            }

            commit('SET_TENANT', {
                tenantId: tenant_id,
                status: tenant_status,
                name: client_name,
                domain,
                clientId: client_id,
                type,
                hasAdminPrivileges,
                adminUsername: admin_username,
                requesterEmail: requester_email
            });

            return tenant_id;
        });
        commit('SET_TENANT_LIST', {queryString, tenantIds});

        const pagination = {totalRows: total_num_of_tenants, perPage: limit, activePage: offset + 1};
        commit('SET_TENANT_LIST_PAGINATION', {queryString, pagination});
    },