Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,9 @@ export class FoundUserCompanyInfoDs {

@ApiProperty()
show_test_connections: boolean;

@ApiProperty({ required: false })
custom_domain: string | null;
}

export class FoundUserFullCompanyInfoDs extends FoundUserCompanyInfoDs {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,7 @@ export class GetUserCompanyFullInfoUseCase

let foundUserCompanySaasInfo = null;

let customDomain = null;
if (isSaaS()) {
foundUserCompanySaasInfo = await this.saasCompanyGatewayService.getCompanyInfo(foundFullUserCoreCompanyInfo.id);
if (!foundUserCompanySaasInfo) {
Expand All @@ -77,12 +78,18 @@ export class GetUserCompanyFullInfoUseCase
HttpStatus.NOT_FOUND,
);
}
customDomain = await this.saasCompanyGatewayService.getCompanyCustomDomainById(foundCompanyInfoByUserId.id);
}

if (foundUser.role === UserRoleEnum.ADMIN) {
return buildFoundCompanyFullInfoDs(foundFullUserCoreCompanyInfo, foundUserCompanySaasInfo, foundUser.role);
return buildFoundCompanyFullInfoDs(
foundFullUserCoreCompanyInfo,
foundUserCompanySaasInfo,
foundUser.role,
customDomain,
);
}

return buildFoundCompanyInfoDs(foundFullUserCoreCompanyInfo, foundUserCompanySaasInfo);
return buildFoundCompanyInfoDs(foundFullUserCoreCompanyInfo, foundUserCompanySaasInfo, customDomain);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ export class GetUserCompanyUseCase extends AbstractUseCase<string, FoundUserComp
}

let foundUserCompanySaasInfo = null;
let customDomain = null;
if (isSaaS()) {
foundUserCompanySaasInfo = await this.saasCompanyGatewayService.getCompanyInfo(foundUserCoreCompanyInfo.id);
if (!foundUserCompanySaasInfo) {
Expand All @@ -42,7 +43,8 @@ export class GetUserCompanyUseCase extends AbstractUseCase<string, FoundUserComp
HttpStatus.NOT_FOUND,
);
}
customDomain = await this.saasCompanyGatewayService.getCompanyCustomDomainById(foundUserCoreCompanyInfo.id);
}
return buildFoundCompanyInfoDs(foundUserCoreCompanyInfo, foundUserCompanySaasInfo);
return buildFoundCompanyInfoDs(foundUserCoreCompanyInfo, foundUserCompanySaasInfo, customDomain);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,19 @@ export function buildFoundCompanyFullInfoDs(
companyInfoFromCore: CompanyInfoEntity,
companyInfoFromSaas: FoundSassCompanyInfoDS | null,
userRole: UserRoleEnum,
companyCustomDomain: string | null,
): FoundUserFullCompanyInfoDs {
if (!companyInfoFromCore.show_test_connections) {
companyInfoFromCore.connections = companyInfoFromCore.connections.filter(
(connection) => !connection.isTestConnection,
);
}
const responseObject = buildFoundCompanyInfoDs(companyInfoFromCore, companyInfoFromSaas, userRole) as any;
const responseObject = buildFoundCompanyInfoDs(
companyInfoFromCore,
companyInfoFromSaas,
companyCustomDomain,
userRole,
) as any;
const connectionsRO: Array<FoundSipleConnectionInfoDS> = companyInfoFromCore.connections.map((connection) => {
return {
id: connection.id,
Expand Down Expand Up @@ -57,6 +63,7 @@ export function buildFoundCompanyFullInfoDs(
export function buildFoundCompanyInfoDs(
companyInfoFromCore: CompanyInfoEntity,
companyInfoFromSaas: FoundSassCompanyInfoDS | null,
companyCustomDomain: string,
userRole?: UserRoleEnum,
): FoundUserCompanyInfoDs {
if (!companyInfoFromSaas) {
Expand All @@ -65,6 +72,7 @@ export function buildFoundCompanyInfoDs(
name: companyInfoFromCore.name,
is2faEnabled: companyInfoFromCore.is2faEnabled,
show_test_connections: companyInfoFromCore.show_test_connections,
custom_domain: companyCustomDomain ? companyCustomDomain : null,
};
}
const isUserAdmin = userRole === UserRoleEnum.ADMIN;
Expand All @@ -77,6 +85,7 @@ export function buildFoundCompanyInfoDs(
is_payment_method_added: isUserAdmin ? companyInfoFromSaas.is_payment_method_added : undefined,
is2faEnabled: isUserAdmin ? companyInfoFromCore.is2faEnabled : undefined,
show_test_connections: companyInfoFromCore.show_test_connections,
custom_domain: companyCustomDomain ? companyCustomDomain : null,
address: {
id: companyInfoFromSaas.address?.id,
city: companyInfoFromSaas.address?.city,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ test.serial(`${currentTest} should return found company info for user`, async (t
const foundCompanyInfoRO = JSON.parse(foundCompanyInfo.text);
t.is(foundCompanyInfoRO.hasOwnProperty('id'), true);
t.is(foundCompanyInfoRO.hasOwnProperty('name'), true);
t.is(Object.keys(foundCompanyInfoRO).length, 4);
t.is(Object.keys(foundCompanyInfoRO).length, 5);
} catch (error) {
console.error(error);
}
Expand Down Expand Up @@ -121,7 +121,7 @@ test.serial(`${currentTest} should return full found company info for company ad
t.is(foundCompanyInfo.status, 200);
t.is(foundCompanyInfoRO.hasOwnProperty('id'), true);
t.is(foundCompanyInfoRO.hasOwnProperty('name'), true);
t.is(Object.keys(foundCompanyInfoRO).length, 6);
t.is(Object.keys(foundCompanyInfoRO).length, 7);
t.is(foundCompanyInfoRO.hasOwnProperty('connections'), true);
t.is(foundCompanyInfoRO.connections.length > 3, true);
t.is(foundCompanyInfoRO.hasOwnProperty('invitations'), true);
Expand Down Expand Up @@ -175,7 +175,7 @@ test.serial(`${currentTest} should return found company info for non-admin user`
t.is(foundCompanyInfo.status, 200);
t.is(foundCompanyInfoRO.hasOwnProperty('id'), true);
t.is(foundCompanyInfoRO.hasOwnProperty('name'), true);
t.is(Object.keys(foundCompanyInfoRO).length, 4);
t.is(Object.keys(foundCompanyInfoRO).length, 5);
} catch (error) {
console.error(error);
throw error;
Expand Down
6 changes: 3 additions & 3 deletions backend/test/ava-tests/saas-tests/company-info-e2e.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ test.serial(`${currentTest} should return found company info for user`, async (t

t.is(foundCompanyInfo.status, 200);
const foundCompanyInfoRO = JSON.parse(foundCompanyInfo.text);
t.is(Object.keys(foundCompanyInfoRO).length, 8);
t.is(Object.keys(foundCompanyInfoRO).length, 9);
t.is(foundCompanyInfoRO.hasOwnProperty('id'), true);
t.is(foundCompanyInfoRO.hasOwnProperty('name'), true);
t.is(foundCompanyInfoRO.hasOwnProperty('additional_info'), true);
Expand Down Expand Up @@ -122,7 +122,7 @@ test.serial(`${currentTest} should return full found company info for company ad
t.is(foundCompanyInfoRO.hasOwnProperty('address'), true);
t.is(foundCompanyInfoRO.hasOwnProperty('createdAt'), true);
t.is(foundCompanyInfoRO.hasOwnProperty('updatedAt'), true);
t.is(Object.keys(foundCompanyInfoRO).length, 13);
t.is(Object.keys(foundCompanyInfoRO).length, 14);
t.is(foundCompanyInfoRO.hasOwnProperty('connections'), true);
t.is(foundCompanyInfoRO.connections.length > 3, true);
t.is(foundCompanyInfoRO.hasOwnProperty('invitations'), true);
Expand Down Expand Up @@ -174,7 +174,7 @@ test.serial(`${currentTest} should return found company info for non-admin user`
const foundCompanyInfoRO = JSON.parse(foundCompanyInfo.text);

t.is(foundCompanyInfo.status, 200);
t.is(Object.keys(foundCompanyInfoRO).length, 8);
t.is(Object.keys(foundCompanyInfoRO).length, 9);
t.is(foundCompanyInfoRO.hasOwnProperty('id'), true);
t.is(foundCompanyInfoRO.hasOwnProperty('name'), true);
t.is(foundCompanyInfoRO.hasOwnProperty('additional_info'), true);
Expand Down
11 changes: 11 additions & 0 deletions backend/test/ava-tests/saas-tests/custom-domains-e2e.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -200,6 +200,17 @@ test.serial(`${currentTest} - should return found custom domain`, async (t) => {
t.is(domainInfo.hasOwnProperty('id'), true);
t.is(domainInfo.hasOwnProperty('createdAt'), true);
t.is(Object.keys(domainInfo).length, 5);

const foundCompanyFullInfoResponse = await request(app.getHttpServer())
.get('/company/my/full')
.set('Content-Type', 'application/json')
.set('Cookie', simpleUserToken)
.set('Accept', 'application/json');

t.is(foundCompanyFullInfoResponse.status, 200);
const foundCompanyFullInfoResponseRO = JSON.parse(foundCompanyFullInfoResponse.text);
t.is(foundCompanyFullInfoResponseRO.hasOwnProperty('custom_domain'), true);
t.is(foundCompanyFullInfoResponseRO.custom_domain, requestDomainData.hostname);
} catch (error) {
t.fail(error.message);
}
Expand Down