GetDomainById 및 검증된 엔드포인트에 대한 높은 액세스 허용
최고 수준의 org 소유자 및 시스템 구성원은 getDomainBy에 403을 얻고있다 ₢ 킹 and valid-dns because 그 endpoints check isUserMemberOf Org 직접. hasElevatedCrossOrgAccess 헬퍼를 추가하고 회원 확인과 함께...
중복 루트 도메인을 방지하고 기본 도메인 표시를 수정
ONE DOMAIN PER ORG 체크인 잘못된 제외 .kamocrm.com 웹 별 org는 여러 루트 도메인을 축적 할 수 있도록 (그리고 10 aliases 각각) 다른 별명으로 재출시. 이제 모든 것을 계산 최상위 도메인(parent IS NULL) suffix에 관계없이. 네트...
Org 생성 지연 및 수정 번역 캐스케이드 실패 감소
- OrganizationController: makeTeamMembersForAllOrgs (전체 org makeTeamMemberForOrg (single org)로 테이블 검사 ~400ms×N DB 라운드 스트립 /network/create 제출이 붙어있는 - Organizatio...
Orgs에 대한 부트 스트랩 청구 엔드 포인트 추가
****************************************************************************************************************************************************************...
Auto-assign first seat, 바닥으로 무료, 더 넓은 org 무효
BillingSetupService는 이제 제작자를위한 첫 번째 오픈 라이센스 슬롯을 활성화합니다. sub-org 구독을 무시할 때 (그리고 홍보-to-billing-owner와 동일) — 그렇지 않으면 신선한 sub-org 소유자는 무료 기본을 볼 수 있습니다. 묘목 계획에 라이센스....
Top-level org 회원은 플랫폼 소유자 계획을 얻을, 청구 게이트 우회
KamoCRM (최고 수준의) org 회원은 청구 시스템에 적용되지 않습니다 - 그들은 OWNER UNLIMITED 플랜의 기능 매트릭스가 (무료로 소유자 계획이 누락되면 떨어졌다), plus has-active-license and has-Kamo-CRM-access true 그래서 ...
하위 파일 생성에 대한 자동 감독 KamoCRM 좌석; 홍보-비행기 endpoint
EntitlementService는 SubscriptionMember (countMember)를 통해 계산합니다. member entitlements — 활성 licensee subs의 조합, 플러스 무료 기준. Redis 청취자는 SUBSCRIPTION을 얻습니다.<uid> 핸들러. ...
계정 그룹 -> accountTier; 엔드포인트 /그룹 -> /tiers
Account-group endpoints (고객 세그먼트 계층, 청구하지 않음) "tier" terminology를 지속적으로 사용하려면 이름을 바꾸십시오. 공유lib 이름: - /api/security/account/groups -> /api/security/account/tiers...
드롭 사용자 / 마스터AccountHolder, 사용 Account.members + primaryMember
AccountController는 이제 계정-as-group 모델을 반영합니다. - computeDisplayName / extract이메일 / extractPhone 해결 defaultMember (Member) 대신 떨어졌다 masterAccountHolder - getCustome...
Persist 회원 언어 / 시간대 / 통화 가입
/register 엔드포인트는 이제 언어, 시간대 및 기본 통화를 허용합니다. 현재 국가 필드에 따라. 등록서비스 세트 국가 새로운 사용자의 시간대와 모든 네 지역 필드를 적용 신선하게 만든 회원, 국가의 기본 통화를 파생 1개가 공급되지 않을 때의 1 차 환전 매핑 (USD로 돌아가기...
BillingGroup에서 계정 기반 라이선스로 이동
EntitlementService는 AccountLicense에 대한 회원 등록을 해결합니다. 회원의 청구 계정이 소유 한 기록. 회원정보 이제 모양은 accountUid + accountDisplayName 대신 이전 *********** 쌍. EntitlementInvalidati...
지원 배열된 이름/email/phoneNumbers + 주소 관리 엔드포인트
- AccountController는 POST/PUT에 배열된 name/email/phoneNumbers JSON을 허용합니다. - POST의 초기 주소는 배송 (사용시 BILLINGAsBillingToo 세트), 세트 기본 포인터를 만듭니다. - 추가 5 주소 엔드포인트: GET, P...
GET /{id}/history 및 /{id}/history/filters 엔드포인트 추가
Paginated, filterable, 일괄 처리 배우 로딩으로 검색 가능한 리드히스토리 엔드포인트 (N+1 없음). 필터 엔드포인트는 지정된 사용 필드, 모든 레지스트리 필드, 명백한 액추에이터 및 모든 이벤트 유형을 반환합니다. 모든 mutating endpoints 이제 호출 회...
시스템 구성 기록 통계 + 레코딩 처리 tunables
- GET *********** 4 카운터를 반환 kamo-internal Settings → Platform → 구성 → VoIP / SMS에 노출 탭 (vmPending, callPending, vmError, callError). - PUT /api/security/system-c...
By-department 응답에 있는 PhoneWork 연장을 포함하십시오; 회원 PUT에 PhoneWorkExtension를 받아들이십시오
Config.json의 org 설명 포함
BuildConfigJson()에 대한 설명 필드를 추가하고 org.getDescription()를 전달합니다. writeConfigFiles()에서 config.json 은 org 를 나타낸다. HTML 메타 태그에서 사용하려면 frontends에 대한 설명.
Expose includeCompany intake-config 및 시장 구성 응답
다 *********** 그리고 *********** 이제 includeCompany 플래그를 포함하므로 frontend는 표시할지 모른다. 기업 이름 지도 창조에 분야.
/names endpoint에 진단 로깅 추가
Log orgId, 회원 카운트 및 진단에 대한 회원 이름 해상도 할당 된 회원 이름은 올바르게 해결되지 않습니다.
NameAlias에 대한 실제 이름 우선 순위 표시
nameAlias는 기능적으로 로그인 핸들 (사용자 이름과 동일), 표시 이름이 아닙니다. User.name (EmbNameFull)에서 실제 사용 가능한 이름. /names와 /by-department endpoints 모두에 적용하십시오.
상태에 관계없이 모든 구성원의 id→name을 반환 /name 추가
By-department endpoint filter to active TeamMembers만, 하지만 확장 할당은 기본 회원 또는 비활성 회원을 참조할 수 있습니다. 사용 /이름 적용 가능한 ID→name 해결책은 활동 국가 보다는 좀더 사정합니다.
추가 *********** 끝점
SalesType, subType, 그리고 MarketId에 의하여 시장을 위한 customForms를 반환하십시오 Add Lead form은 sub-type 필드와 intake 사용자 지정 양식을 렌더링할 수 있습니다. 첫번째 창조 없이.
By-department endpoint에서 정확한 우선 순위를 가진 전시 이름 해결
우선순위: member.usernameAlias → user.name.formatFull() → user.alias → user.username
UploadBackground endpoint에 로깅 추가
Log org/index, 파일 정보, userId, auth 결정, 그리고 MinIO staging 왜 배경 업로드를 추적하는 열쇠는 노후화 물통에서 나타나지 않습니다.
회원 JsonIdentity 픽업 kamo-shared-library의 정보 수정
kamo-shared-library b57d156 수정 @JsonIdentityInfo (property = "uniqueId") → 회원에 "id", PUT /api/security/org/{id}에 400 오류를 해결합니다.
두 배 접근 통제 Allow Origin 우두머리를 일으키는 원인이 되는 CorsFilter 콩을 제거하십시오
명시된 CorsFilter bean은 두 번째 CORS 필터가 봄에 발생했습니다. Security의 내장 CORS 지원 (CORSConfigurationSource를 사용하는 경우). 두 필터는 기원 패턴을 해결하고 같은 헤더를 썼다, 생성 중복 'https://www.kamocrm.c...
시스템 사용자를 허용 org 브랜딩 및 수정 로고 auth
- canManageOrgBranding에 있는 첫번째 감시로 체계 사용자 우회를 etc로 추가하십시오 체계 사용자는 모든 non-parent orgs에 가득 차있는 브랜딩 통제가 있습니다 - bypassed의 raw org-owner-only check가 있는 uploadLogo en...
시스템 구성 + 플랫폼 오버뷰 엔드포인트
Platform-wide 구성 표면, 기존의 최고 수준의 guard (matches SystemUserConfigController의 requireTopLevelOwner 패턴). 엔드포인트: - GET /api/security/system-config — 싱글턴 행을 반환 - PUT...
GoDaddy 400 오류 뒤에 표면 실제적인 이유
GoDaddy는 이제 코드 = UNIABLE TO AUTHENTICATE와 몸으로 HTTP 400을 반환합니다. "Bad Request : Bad Request" 계정이 현재의 일치하지 않는 경우 생산 영역 API 자격 (10 + 도메인 계정 또는 활성 할인 도메인 클럽 회원). 자격은...
플랫폼 관리자를 위한 GET /api/security/org/all-networks 추가
Top-level org 소유자는 이제 시스템과 함께 모든 조직을 읽을 수 있습니다. Caller와 관련된 회원 정보. Orgs where the caller has a 회원 register get isOwner/memberId populated; 다른 사람은 memberId를 얻습니다...
드롭 teamMemberPayFeesSetting 매개 변수
공유 라이브러리 변경 미러 - SecurityModelController, MasterModelController 및 AppliedModelController 더 이상 읽기 / 쓰기 teamMemberPayFeesSetting. 모든 상품 분기 유형 편집기의 per-model Self-...
FindByIdWithDomains를 통해 Eager-load 도메인, 드롭 @Transactional
@Transactional on the Controller 메소드는 DB 연결이 실행되도록 합니다. 전체 MinIO 업로드, 또한 위험 LazyInitializationException if 내부 getOrganizationById 거래가 해결하기 전에 커밋 org.getDomains(...
별명 가시 필터링 + 자동 검증 subdomain 소유권
OrganizationController: - Web-alias org 생성 이제 자동 마크 소유권Verified=true 및 isDnsVerified=true 에 생성 된 OrgDomain — 아니 TXT 레코드 필요 이후 GoDaddy에 DNS를 제공 - CUSTOM parentAl...
Public/{domain-folder}/img/ 대신 staging Bucket에 직접 업로드
UploadLogo endpoint는 hardcoded 'sumtingwong' placeholder로 작성되었습니다. (unfilled setting) 대신 org의 실제 대중 테마 경로. 지금 로고 ********* 또는 로고 전체로 이동합니다.{ext}. - copyFolder는...
Edge-nodes에서 다운된 k2m1 노드 제거
k2m1 (10.8.2.1)는 영구적으로 아래로 입니다. 실패 목록에서 제거 새로운 OkHttp timeout 불까지 걸기 위하여 올려주기한 올려주기. 기본 정보 이제 k1m1-only; k0m1 콜드 노드는 fallback로 남아 있습니다.
Org-level config, GoDaddy 클라이언트 및 웹 별 org는 경로 생성
새로운 Subdomain Branches 특징은 백엔드에 종료됩니다. - SubdomainBranchesController for org-level enable + GoDaddy creds (라이브 인증) - GoDaddyDnsClient는 idempotent CNAME upserts ...
Signup에 전화 필드에 SMS 검증을 드롭
셀프서비스 등록시 수집된 전화번호는 현재 일반 옵션 텍스트 필드 - 없음 /register/phone/initiate, SMS 코드, /register/phone/verify가 없습니다. 등록 엔드포인트는 숫자를 입력, whitespace/punctuation을 정상화, E.164-is...
Explicit 팀 상태 + 이름 prefix/suffix 카탈로그
- GET *********** 이제 namePrefixes를 반환하고 nameSuffixes, NamePrefixType 및 NameSuffixType에서 소스 회원 추가 / 팀 회원 양식을 작성하지 마십시오. - POST /create-team-member는 이제 omits 요청을 ...
아래-13 signups에 대한 이메일 + 법적 이름 선택
/api/security/register endpoint 이전에 모든 요청을 거부 누락된 이메일, 이름, 또는 마지막 이름. 즉, 13 경로를 만들었습니다. (KIDS ONLY orgs, 또는 ALL AGES와 하위-13 등록) 불가능 — 합법적으로 그 계정은 별칭 + 암호 + 씨앗 구...