mirror of
https://github.com/dadosfera/maestro.git
synced 2026-11-09 22:09:08 +00:00
Compare commits
5
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8ac0a8a79f | ||
|
|
285de97375 | ||
|
|
e2a7d2b92b | ||
|
|
da23ad76db | ||
|
|
55b0961b82 |
+67
-7
@@ -5461,6 +5461,66 @@
|
|||||||
]
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"/customers/{id}/organization-info": {
|
||||||
|
"get": {
|
||||||
|
"operationId": "CustomersController_getOrganizationInfo",
|
||||||
|
"parameters": [
|
||||||
|
{
|
||||||
|
"name": "id",
|
||||||
|
"required": true,
|
||||||
|
"in": "path",
|
||||||
|
"schema": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"responses": {
|
||||||
|
"200": {
|
||||||
|
"description": "Organization information"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"tags": [
|
||||||
|
"Customers"
|
||||||
|
],
|
||||||
|
"security": [
|
||||||
|
{
|
||||||
|
"access-token": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"access-token": []
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"put": {
|
||||||
|
"operationId": "CustomersController_updateOrganizationInfo",
|
||||||
|
"parameters": [
|
||||||
|
{
|
||||||
|
"name": "id",
|
||||||
|
"required": true,
|
||||||
|
"in": "path",
|
||||||
|
"schema": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"responses": {
|
||||||
|
"200": {
|
||||||
|
"description": "Organization information updated"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"tags": [
|
||||||
|
"Customers"
|
||||||
|
],
|
||||||
|
"security": [
|
||||||
|
{
|
||||||
|
"access-token": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"access-token": []
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
"/catalog/data-asset/share/{id}": {
|
"/catalog/data-asset/share/{id}": {
|
||||||
"get": {
|
"get": {
|
||||||
"operationId": "ShareController_getShareDataAsset",
|
"operationId": "ShareController_getShareDataAsset",
|
||||||
@@ -8169,7 +8229,7 @@
|
|||||||
"companyName": {
|
"companyName": {
|
||||||
"type": "string"
|
"type": "string"
|
||||||
},
|
},
|
||||||
"companySite": {
|
"personalSite": {
|
||||||
"type": "string"
|
"type": "string"
|
||||||
},
|
},
|
||||||
"mfaStatus": {
|
"mfaStatus": {
|
||||||
@@ -8204,7 +8264,7 @@
|
|||||||
"hierarchy",
|
"hierarchy",
|
||||||
"bio",
|
"bio",
|
||||||
"companyName",
|
"companyName",
|
||||||
"companySite",
|
"personalSite",
|
||||||
"mfaStatus",
|
"mfaStatus",
|
||||||
"createdAt",
|
"createdAt",
|
||||||
"updatedAt",
|
"updatedAt",
|
||||||
@@ -8344,7 +8404,7 @@
|
|||||||
"companyName": {
|
"companyName": {
|
||||||
"type": "string"
|
"type": "string"
|
||||||
},
|
},
|
||||||
"companySite": {
|
"personalSite": {
|
||||||
"type": "string"
|
"type": "string"
|
||||||
},
|
},
|
||||||
"customer": {
|
"customer": {
|
||||||
@@ -8376,7 +8436,7 @@
|
|||||||
"hierarchy",
|
"hierarchy",
|
||||||
"bio",
|
"bio",
|
||||||
"companyName",
|
"companyName",
|
||||||
"companySite",
|
"personalSite",
|
||||||
"mfaStatus",
|
"mfaStatus",
|
||||||
"createdAt",
|
"createdAt",
|
||||||
"updatedAt",
|
"updatedAt",
|
||||||
@@ -8520,7 +8580,7 @@
|
|||||||
"bio": {
|
"bio": {
|
||||||
"type": "string"
|
"type": "string"
|
||||||
},
|
},
|
||||||
"companySite": {
|
"personalSite": {
|
||||||
"type": "string"
|
"type": "string"
|
||||||
},
|
},
|
||||||
"companyName": {
|
"companyName": {
|
||||||
@@ -8572,7 +8632,7 @@
|
|||||||
"companyName": {
|
"companyName": {
|
||||||
"type": "string"
|
"type": "string"
|
||||||
},
|
},
|
||||||
"companySite": {
|
"personalSite": {
|
||||||
"type": "string"
|
"type": "string"
|
||||||
},
|
},
|
||||||
"mfaStatus": {
|
"mfaStatus": {
|
||||||
@@ -8600,7 +8660,7 @@
|
|||||||
"hierarchy",
|
"hierarchy",
|
||||||
"bio",
|
"bio",
|
||||||
"companyName",
|
"companyName",
|
||||||
"companySite",
|
"personalSite",
|
||||||
"mfaStatus",
|
"mfaStatus",
|
||||||
"createdAt",
|
"createdAt",
|
||||||
"updatedAt",
|
"updatedAt",
|
||||||
|
|||||||
Generated
+4
-5
@@ -17,7 +17,7 @@
|
|||||||
"@aws-sdk/signature-v4": "^3.370.0",
|
"@aws-sdk/signature-v4": "^3.370.0",
|
||||||
"@dadosfera/dadosfera-logs": "^1.0.0-beta.4",
|
"@dadosfera/dadosfera-logs": "^1.0.0-beta.4",
|
||||||
"@dadosfera/protospack": "2.5.3",
|
"@dadosfera/protospack": "2.5.3",
|
||||||
"@dadosfera/protospack-v2": "3.38.0-beta.19",
|
"@dadosfera/protospack-v2": "^3.38.0-beta.25",
|
||||||
"@grpc/grpc-js": "^1.9.3",
|
"@grpc/grpc-js": "^1.9.3",
|
||||||
"@grpc/proto-loader": "^0.7.9",
|
"@grpc/proto-loader": "^0.7.9",
|
||||||
"@nestjs/cli": "^9.5.0",
|
"@nestjs/cli": "^9.5.0",
|
||||||
@@ -1744,10 +1744,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@dadosfera/protospack-v2": {
|
"node_modules/@dadosfera/protospack-v2": {
|
||||||
"version": "3.38.0-beta.19",
|
"version": "3.38.0-beta.25",
|
||||||
"resolved": "https://dadosfera-611330257153.d.codeartifact.us-east-1.amazonaws.com/npm/dadosfera-npm/@dadosfera/protospack-v2/-/protospack-v2-3.38.0-beta.19.tgz",
|
"resolved": "https://dadosfera-611330257153.d.codeartifact.us-east-1.amazonaws.com/npm/dadosfera-npm/@dadosfera/protospack-v2/-/protospack-v2-3.38.0-beta.25.tgz",
|
||||||
"integrity": "sha512-qevGunl1IKv4POa2hhXNaDpqlh/bvnq5Hxo6534OHYPZ//S+XcRZgTrxFnylK3+uoROM8epF3Mey5GwynxY7Tw==",
|
"integrity": "sha512-OsOl9hJezmtWlVy+2vl3qbWP5yHmLktJ01r5aL475lcfKJtzFPZieUT9ES87C1Emrqe21E6IM/BkJK2rm/aUiA==",
|
||||||
"license": "ISC",
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@grpc/grpc-js": "^1.9.3",
|
"@grpc/grpc-js": "^1.9.3",
|
||||||
"rxjs": "^7.5.5"
|
"rxjs": "^7.5.5"
|
||||||
|
|||||||
+1
-1
@@ -35,7 +35,7 @@
|
|||||||
"@aws-sdk/signature-v4": "^3.370.0",
|
"@aws-sdk/signature-v4": "^3.370.0",
|
||||||
"@dadosfera/dadosfera-logs": "^1.0.0-beta.4",
|
"@dadosfera/dadosfera-logs": "^1.0.0-beta.4",
|
||||||
"@dadosfera/protospack": "2.5.3",
|
"@dadosfera/protospack": "2.5.3",
|
||||||
"@dadosfera/protospack-v2": "3.38.0-beta.19",
|
"@dadosfera/protospack-v2": "^3.38.0-beta.25",
|
||||||
"@grpc/grpc-js": "^1.9.3",
|
"@grpc/grpc-js": "^1.9.3",
|
||||||
"@grpc/proto-loader": "^0.7.9",
|
"@grpc/proto-loader": "^0.7.9",
|
||||||
"@nestjs/cli": "^9.5.0",
|
"@nestjs/cli": "^9.5.0",
|
||||||
|
|||||||
@@ -136,4 +136,32 @@ export class CustomersController {
|
|||||||
const result = await this.customersService.getAccessDashboardUrl(user.customer_name, metadata);
|
const result = await this.customersService.getAccessDashboardUrl(user.customer_name, metadata);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Get(':id/organization-info')
|
||||||
|
@Authenticated()
|
||||||
|
@RequireAllPermissions(PERMISSIONS_GROUPS.USERS.permissions.ADMIN)
|
||||||
|
@ApiOkResponse({ description: 'Organization information' })
|
||||||
|
async getOrganizationInfo(@Param('id') id: string) {
|
||||||
|
this.logger.info('getOrganizationInfo', { id });
|
||||||
|
return this.customersService.getOrganizationInfo(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Put(':id/organization-info')
|
||||||
|
@Authenticated()
|
||||||
|
@RequireAllPermissions(PERMISSIONS_GROUPS.USERS.permissions.ADMIN)
|
||||||
|
@HttpCode(HttpStatus.OK)
|
||||||
|
@ApiOkResponse({ description: 'Organization information updated' })
|
||||||
|
async updateOrganizationInfo(
|
||||||
|
@Param('id') id: string,
|
||||||
|
@Body() body: {
|
||||||
|
companyName: string;
|
||||||
|
companySite: string;
|
||||||
|
domain: string;
|
||||||
|
cnpj: string;
|
||||||
|
description: string;
|
||||||
|
},
|
||||||
|
) {
|
||||||
|
return this.customersService.updateOrganizationInfo(id, body);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -223,4 +223,57 @@ export class CustomersService implements OnModuleInit {
|
|||||||
})
|
})
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async updateOrganizationInfo(
|
||||||
|
customerId: string,
|
||||||
|
data: {
|
||||||
|
companyName: string;
|
||||||
|
companySite: string;
|
||||||
|
domain: string;
|
||||||
|
cnpj: string;
|
||||||
|
description: string;
|
||||||
|
},
|
||||||
|
) {
|
||||||
|
try {
|
||||||
|
const result = await lastValueFrom(
|
||||||
|
this.customerService.OrganizationUpdate({
|
||||||
|
customerId,
|
||||||
|
companyName: data.companyName || '',
|
||||||
|
companySite: data.companySite || '',
|
||||||
|
domain: data.domain || '',
|
||||||
|
cnpj: data.cnpj || '',
|
||||||
|
description: data.description || '',
|
||||||
|
}),
|
||||||
|
);
|
||||||
|
|
||||||
|
return result;
|
||||||
|
} catch (err) {
|
||||||
|
if (err.details === ErrorCodes.CUSTOMER.NOT_FOUND)
|
||||||
|
throw new HttpException(err.details, HttpStatus.NOT_FOUND);
|
||||||
|
else throw err;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
async getOrganizationInfo(customerId: string) {
|
||||||
|
try {
|
||||||
|
const customerResponse = await lastValueFrom(
|
||||||
|
this.customerService.CustomerFindOneById({ id: customerId })
|
||||||
|
);
|
||||||
|
|
||||||
|
const customer = customerResponse.customer;
|
||||||
|
|
||||||
|
return {
|
||||||
|
companyName: customer.companyName || '',
|
||||||
|
companySite: customer.companySite || '',
|
||||||
|
domain: customer.domain || '',
|
||||||
|
cnpj: customer.cnpj || '',
|
||||||
|
description: customer.description || ''
|
||||||
|
};
|
||||||
|
} catch (err) {
|
||||||
|
if (err.details === ErrorCodes.CUSTOMER.NOT_FOUND)
|
||||||
|
throw new HttpException(err.details, HttpStatus.NOT_FOUND);
|
||||||
|
else throw err;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';
|
||||||
|
|
||||||
|
export class OrganizationUpdateRequest {
|
||||||
|
@ApiProperty()
|
||||||
|
name: string;
|
||||||
|
@ApiPropertyOptional()
|
||||||
|
companySite: string;
|
||||||
|
@ApiProperty()
|
||||||
|
domain: string;
|
||||||
|
@ApiPropertyOptional()
|
||||||
|
info: string;
|
||||||
|
@ApiPropertyOptional()
|
||||||
|
cnpj: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export class OrganizationResponse {
|
||||||
|
@ApiProperty()
|
||||||
|
name: string;
|
||||||
|
@ApiPropertyOptional()
|
||||||
|
companySite: string;
|
||||||
|
@ApiProperty()
|
||||||
|
domain: string;
|
||||||
|
@ApiPropertyOptional()
|
||||||
|
info: string;
|
||||||
|
@ApiPropertyOptional()
|
||||||
|
cnpj: string;
|
||||||
|
}
|
||||||
@@ -43,7 +43,7 @@ export class User {
|
|||||||
@ApiProperty()
|
@ApiProperty()
|
||||||
companyName?: string;
|
companyName?: string;
|
||||||
@ApiProperty()
|
@ApiProperty()
|
||||||
companySite?: string;
|
personalSite?: string;
|
||||||
@ApiPropertyOptional()
|
@ApiPropertyOptional()
|
||||||
customer?: Customer;
|
customer?: Customer;
|
||||||
@ApiProperty()
|
@ApiProperty()
|
||||||
@@ -117,7 +117,7 @@ export class UpdateUserReq {
|
|||||||
@ApiPropertyOptional()
|
@ApiPropertyOptional()
|
||||||
bio?: string;
|
bio?: string;
|
||||||
@ApiPropertyOptional()
|
@ApiPropertyOptional()
|
||||||
companySite?: string;
|
personalSite?: string;
|
||||||
@ApiPropertyOptional()
|
@ApiPropertyOptional()
|
||||||
companyName?: string;
|
companyName?: string;
|
||||||
@ApiPropertyOptional()
|
@ApiPropertyOptional()
|
||||||
|
|||||||
@@ -162,7 +162,7 @@ export class UsersService implements OnModuleInit {
|
|||||||
name: updateUserDTO.name,
|
name: updateUserDTO.name,
|
||||||
bio: updateUserDTO.bio,
|
bio: updateUserDTO.bio,
|
||||||
companyName: updateUserDTO.companyName,
|
companyName: updateUserDTO.companyName,
|
||||||
companySite: updateUserDTO.companySite,
|
personalSite: updateUserDTO.personalSite,
|
||||||
customerId,
|
customerId,
|
||||||
id,
|
id,
|
||||||
metabaseUserId: undefined,
|
metabaseUserId: undefined,
|
||||||
|
|||||||
Reference in New Issue
Block a user