变更记录
什么是新的。
平台的每一个改进,随着它的出货。
· VOIPService
多功能提供者重构 + 完全 FreePBX + Flowroute 短消息
核心模型变化:一个Org → 许多VoipProviderInstances(是:每个Org一个). 每个提供者API的呼叫现在都进行实例扫描. 电话提供接口 : - 新的扩展/用户/设备CRUD+语音信箱音频/图像描述方法。 - 新能力旗(扩展管理、用户管理、设备管理; 语音邮件Transcription). 默认抛出QQ (HTTP 501)所以斯图布供应商不会被打破. 前端检查获得能力( ) 用于隐藏/损坏每个提供者的动作。 - 外部依赖性故障的供应商例外(HTTP 502)。 电话提供事实 : - 获得Instance(UUID)/ QQ 替换遗留 获取 Provider( Long orgId); 获取 PrimaryForOrg( 长) 保存到遗留呼叫站点 (呼叫主计长、能力主计长、Sip主计长、Webhook入境)。 - Ring Central OAuth sorms now expected by (orgId, professor, excretId) so one 由 (orgId, professor, excretId) 所标注的环中OAuth 代号,现在由 (orgId, professor, excretId) 所标注的代号如此之一 org可以认证多个独立的环中部署. - FreePBX 构造读取了config json {baseUrl,客户端ID,客户端Secret, 忽略 SslErrors } 并切换一个专用的 FreePBXGraphQLClient。 环中线( Ring Central Provider) : - 构造器为日志上下文提供实例。 - 新方法:列表扩展 / 创建扩展 / 更新扩展 / 删除扩展; 列表用户 / 创建用户 / 更新用户 / 删除用户( RC 模型) 既作为类型 = 用户扩展; 列表 Devices / create Device / 更新 Device / 删除Device; 获取 Voicemail Audio( 流附件内容) 和 获取 Voicemail 描述 。 FreePBX( FreePBX 提供器) — 完全执行替换占位符 : - 通过 FreePBXTokenCache (~1h TTL, ~1h TTL) 客户端证书 OAuth2 符号缓存 自动更新401,每层。 - FreePBX GraphQLClient: GraphQL + REST 可选运输 跳过- SSL- 验证, 用于 PBXs 上的自我签名 。 - 扩展、用户管理器用户、端点管理器设备、语音邮件 列表/ 标记读取/ 删除 + 音频流、 CDR 调用历史、 SIP 证书 来源于扩展的 pjsip 秘密,健康 通过取AsteriskInfo。 - 短信明确不支持(能力 sms=虚假) - FreePBX不处理 航母短讯. Flowroute 短消息( FlowrouteText Provider) : (英语: - 带有 HTTP Basic (accessKey, secretKey) 的信息 v2.1 API. - 健康探测器的命中数是多少? - 通过新的FLOWRUTE enum值,以BulkTextProviderFactory注册。 主计长: - VoipInstance主计长(改名自提供商财务主计长)——CRUD全文 在/api/voip/sints中进行每一次测试/同步。 编辑中的秘密 响应 ('***'); 合并更新后可以让 UI 绕行编辑的字段不包含 砸碎存储的证书。 - BulkTextInstance主计长(从BulkTextConfig主计长改名)——镜像 CRUD at /api/bulktext/inters 有测试 / test-send / send. - OAuth Captain重写为实例范围 OAuth:开始,回调,状态, 断开所有实例 。 - Sms Captain从成员那里解决实例。 (原始内容存档于2019-03-26) (英语). electricId – Org prior, abs. 到高调的对话。 - 呼叫控制员/ 能力控制员/ Sip控制员返回到Org的 传统的单一调查终点的主要积极实例。 服务: - 实例同步服务:取出缓存同步——扩展/用户/设备/ 从提供方复制到本地表格的语音邮件, 缺少软标记行 不晓得。 每个子步骤都包起来 这样一个不支持的能力就不会失败 整个同步(如FreePBX no-SMS + has-extensions). - VoipMessage Service:所有对话/信息路径传播实例。 测试:取消先前存在的VoipProviderConfig特定测试(涵盖 重命名类型; 每个设计 spec §10 - 无 TDD 重写范围外 在此重构中增加了基础设施。 以更新的 kamo- share- library 构建绿色 .
· InitializerService
多问电话/短信供应商迁移
运行于 Hibernate ddl-auto: update 创建新表格之后(VOIP PROVIDER INSTANCE, BULK TEXT PROVIDER INSTENCE,电话 EXTENSION,电话 END USER,电话 DEVICE, 电话: 电话: 电话: 电话: 电话: 电话: 电话: 电话: 电话: 电话: 电话: 电话: 电话: 电话: 电话: 电话: 电话: 电话: 电话: 电话: 电话: 电话: 电话: 电话: 电话: 电话: 电话: 电话: 电话: 电话: 电话: 电话: 电话: 电话: 电话: 电话: 电话: 电话: 电话: 电话: 电话: 电话: 电话: 电话: 电话: 电话: 电话: 电话: 电话: 电话: 电话: 电话: 电话: 电话: 电话: 电话: 电话: 电话: 电话: 电话: 电话: 电话: 电话: 电话: 电话: 电话: 电话: 电话: 电话: 电话: 电话: 电话: 电话: 电话: 电话: 电话: 电话: 电话: 电话: 电话: 电话: 电话: 电话: 卡莫共享图书馆承诺232d731. 处理Hibernate不能处理的事情: - 从 voip professor config / b散 text professor config 复制行到 从提供者类型合成实例 名称。 - Drop NOT CONFIGURED(正则 0)行——缺席现在是"不提供"状态. - 放下现在空荡荡的遗物 - 配置表 - 在成员 voip config、voip conferences 上的回填实例 id,以及 Kamotokens.org oauth token 使用每个兽类最古老的活性实例. - 重建 org oauth token 独有索引从(org id,提供者)到 (org id, supposers, excle id)如此多 Ring Central 例 / org 工作. - 从voip conversation+提供者实例表丢弃孤儿独有索引。 - 种子系统配置单通行(避免同步间隔10min默认值, 启用 true) —— 平台操作员通过新平台配置配置此功能 VOIP & SMS 标签. 所有语句同位素; 重运行在已迁移的 DB 上是安全的 。 第20号命令——在SchemaCleanupRunner(1)之后,组织TypeRemovalRunner(2), KamoCRMAGE ReqUpdate Runner (10) (英语).
· kamo-shared-library
多层电话/短信供应商计划基金会
- 重命名 VoipProviderConfig → VoipProviderInstance; 放下 UNIQUE(org id), 添加实例 name, config json, last sync at, last sync error. - 重命名 BulkText Provider Config → BulkText Provider Instance; 相同的多层处理. - 新实体:电话扩展、电话终端用户、电话设备、电话语音邮件、系统配置。 - 在成员VoipConfig、VoipConversation、OrgOAuthToken(每个Org的多环中央实例)中添加实例 id。 - 新的enums:电话扩展状态、电话终端用户状态、电话设备、电话设备注册状态。 - 在 (按正数 0 来保留 EnumType.ORDINAL 下已存在的行). - 为新的Flowroute短信提供商在 BulkText ProviderType 中添加 Flowroute。 - 提供者-摘要DTO(扩展Dto、电话用户Dto、设备Dto、语音信箱EntryDto、实例HealthDto、创建/更新请求)。 多功能电话/SMS重构的第一阶段——参见QQ (以kamo-login repo). Kamo Initializer 迁移 + 服务重构要遵循.
· KlusterServices
在 k1m1 和 k2m1 上部署 FreePBX 17 + Jigasi SIP桥
FreePBX(已退休/freepbx:17-latest)使用主机Network运行,所以SIP/RTP 保存真实的客户端IP,通过节点Selector被绑定为一号节点. SIP 打开 5060 UDP/TCP (5061 TLS), RTP 范围 18000-18999 为避开Janus所选 (20000年-2099年),科图尔克(52000年-65535年),和线卫(51820年-51821年). 满足 Jigasi 添加为内部 ClusterIP SIP 桥, 这样 FreePBX 可以 干线呼叫会议; Prosody现在提供 jigasi 用户 来自JIGASI XMPP PASWORD. 可通过 Traefik 到达 pbx.k1.kluster.kamocrm.com / pbx.k2.kluster.kamocrm.com 有证书 种子通过自动证书STATIC DOMAINS.
· kamo-internal
平台-admin视图、页码、活搜索、过滤器、 org 标志
平台管理员(顶级的 org 拥有者)现在通过 新的/api/security/org/all-networks端点,而不仅仅是自己的成员。 标题和字幕更新以反映管理员的背景。 其他改进: - 铺设:客户端,默认25页/页,可配置(10/25/50/100) - 实时搜索:按标题、短标题或域名进行过滤 - 过滤芯片: "All", "Orgs I ownn", "DNS Not Yet 配置" - 页面大小选择器旁边显示的结果计数 - 页码按钮,大页计数时有椭圆倒数 - OrgLogo组件合并了标识渲染(通过 getOrgLogoUrl的短标识) 用于当前- org卡和列表中的所有 Org 卡 - 由org.memberId(共享用户+成员记录)正确保护的 ENTER 按钮 - ENTER作为系统成员,在可以进入系统时,所有角都可以使用
· SecurityService
为平台管理员添加 GET/api/security/org/all-networks
顶级的Org 拥有者现在可以通过 与打电话者相关的会员信息。 呼叫者有成员的地方的鸟类 记录获取是Owner/memberId人口;其他人得到成员ID:无效,是Owner:假. endpoint强制要求调用者既位于顶层的Org,也是所有者.
· kamo-internal
安全模型编辑器+清理中的子标签
- 安全模型编辑器现在分了 入四个子目录: 常规(基本信息、可见度、谁能创建、 平台设置、域配置、商业市场、审查(酒精/ 烟草/火器+成员+成员年龄范围),允许的Apps,以及 默认安全角色 。 - 穝 让管理员编辑一个模型 允许 RootSubdomains 旗和父名与其余部分并列 模型的设置 。 之前这个住在Org全域的Subdomain 分行弹出. - 子域分行的弹出被简化到仅Org级位点 - GoDaddy Certain + Master 启用切换. 名模化名搬出 对话框及其道具表面; 现在没有使用道具了。 - 取消所有对团队的引用 成员付费费选择/付费费选择/ TriStateFee option — 选择了“雇员自付卡莫费” 模型编辑器和模型表中的芯片都不见了,还有 类型中的别名。 - /设置/平台/事件和/设置/平台/计划页 已删除( 它们是已贬值的计费表上的占位符) 。 着陆页 设置状态 Window子主题列表 和路由/icon 映射所有匹配条目。 - 管理组子塔布,现在。 将默认组的标题显示为禁用的只读字段( 是) 之前完全隐藏在信息提示后),所以管理员可以看到 组名同时理解它不能被更改.
· kamo-internal
分支类型页面上的异名能见度 UI + Subdomain 分支按钮
子域名 BranchesDialog : - 别名编辑器将芯片列表替换为表格式行列表显示 成员和小组成员的复选框/别名——管理控制 创建者类型在/network/create中看到每个父名称 - 在更新的 ModelSubdomain 签名上更新,以通过完全别名对象 (别名,可见"ToMembers",可见"ToTeam Members")而不是平面字符串 安全车经理: - 完整的安全模型状态+负载安全模型图别名 **************** 旗帜 - 坚持ModelSubdomainConfig将完全别名的物体传递到后端 分支Setup管理器 **************** - 添加Subdomain分支按钮(模拟安全-作用页) 同样的Subdomain BranchesDialog, 挂载时的状态牵引, 模型重装 当对话框打开时
· SecurityService
别名能见度过滤 + 自动验证子域所有权
组织主计长: - Web-alies org 创建现在自动标记所有权 isDnsVerified=real on the created OrgDomain——自此以后不需要TXT记录 我们代表他们为Go Daddy提供了DNS - CUSTOM 父AliasType 路径现在执行 per-alias 创建者类型可见度 (模仿/可创建过滤器,所以后端不能被绕过). 分机控制员/可创建: - 父母的Aliases列表现在被呼叫者的创建者Type过滤: 成员只见可见 Tomembers=real 化名, TeAM MEMBERS只见 可见 ToTeam Members = true 化名, OWNERS 查看所有 - 每个别名DTO现在包括可见的ToMembers +可见的ToTeam Members旗 安全模型管理员: - 进程 SubdomainBranchConfig 现在读取 **************** 从别名映射对象和调用替换 AllFull 使其持续
· kamo-shared-library
添加每个化名创建者类型的能见度标记
添加可见的 ToMembers / 可见的 ToTeam Members 布尔列到 ChildOrg Security ModelAlias 这样管理员可以限制哪些父化名 在创建儿童类时出现在成员与团队成员之间。 - 实体: 二@Builder。 带有 BOOL DEFAULT TRUE 的默认真实列 - Subdomain AliasDTO:从实体中曝光两面旗帜 - ++ 替换 AllFul 持续可见的超载;替换所有(字符串)代表
· kamo-internal
设置对话框、 Web 化名向导路径和 DNS 提供面板
将 Subdomain 分支添加到 : - 新的“子域分支”按钮 打开 Org 级别启用对话框来切换 + GoDaddy 证书, 并带有 允许 RootSubdomains + 父名的每个安全模型编辑器( 重用) 巫师是ValidAlias/toSafeAlias的助手). - /network/创建: BasicsStep 在一个带 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 路径和一个 Kamo 网络化名路径(在父鼠的启用旗上显示, Go Daddy status, 以及所选分支类型的别名). 父母别名 下放列表 ROOT( 当允许时) 外加每个型号的别名;活的帮助 当用户更改任一字段时预览更新 - 设置/日数:新日数 专家小组对Org的供给记录和 每个记录的 GoDaddy 状态, 重试失败动作 由 Next.js BFF 代理线路在QQ下支持
· SecurityService
Org 级别配置、 Go Daddy 客户端和 web-alias org 创建路径
连接新的 Subdomain 分支在后端的端到端 : - Org 级的子域控制器 + GoDaddy creds(活度验证) - Go DaddyDnsClient 执行单能国家妇女委员会升级和证书检查 - 供应 服务 async- queue 标准 KnownAliases 子集和 将每行记录写入 OrgDns ProvisionLog - 安全模型控制器可携带 RootSubdomains + 化名 创建/更新 - 接受网络化的路径 (使用WebAlias + parentAliasType + parentAliasId + WebAlias),计算 并启动 DNS 供给 在交易方创建完成后 - 分机控制器的/可创建的端点 暴露出每个模型的别名 和 parent-org subdomain- branches 状态,使向导可以打开 UI
· kamo-shared-library
添加实体、密码和别名/ DNS 日志脚手架
添加每升 GoDaddy 证书( AES- GCM 加密), 一个允许的RootSubdomains 旗 安全模型上的代名词,DNS提供 审计日志, 以及安全服务公司用于往返的共享的密钥 存储了 API 密钥而从未返回到前端 .
· kamo-internal
前缀/后缀下放,邮箱域门,明确状态
- 名称前缀和后缀现在是从 名称 PrefixType / 名称后缀Type 目录由 org- config 发送 终点 每个选项显示缩略语+全名。 - 除非 组织电子邮件域名匹配经验证的 Org 邮箱之一 域名(从 Get /api/电子邮件/域名中驱动)。 清除内在信件 解释是否因为缺少电子邮件而禁用, 没有验证 域已配置,或域错配——并命名实际 配置域, 使管理员知道要使用什么 。 - 团队成员地位不再低于项目;管理人员必须 明确选择生命周期状态或提交被屏蔽。 内容提要 面板显示“ 在选择状态之前不设定 ” .
· SecurityService
明确团队状态+名称前缀/后缀目录
- Get QQ 现在返回名称前缀和 名称后缀,来源于名称 PrefixType 和名称后缀Type,所以 添加成员/ 添加团队成员表不需要硬编码. - POST/创建-团队成员现在拒绝一个省略的请求 团队成员状况(400)。 前一次静默的PROSPECT倒计时是 ——呼叫者必须明确选择生命周期状态 如此团队 成员从未默认被错误标记.
· kamo-internal
全宽 三平面 添加成员窗体布局
修改创建窗体以使用整个内容区域而不是一个 1100px宽中柱. - 三栏响应布局:粘接左段导航(md+),全宽 窗体(总是),右侧活的简要面板(xl+)。 - 字段行缩放为可用的宽度: 名称部分为 5- up at md+, 联系人+角色行在 xl 断点上可高达 4- up. - 粘性底部动作栏横跨全宽,带有状态提示和一个 梯度主 CTA. - 区域导航使用滚动平面来突出显示用户所在区域 并支持点击到滚动。 - 波兰牌风格——柔和的边框、微妙的悬浮起子、梯度 区域标题图标。 - 新建右侧平面摘要卡,映射实时格式数据(avatar) 首字母、名称、用户名、电子邮件、角色、状态芯片)并显示 一旦验证通过,即可创建指标.
· kamo-register
将别名/电子邮件/姓名/手机合并为单一的“我的配置”步骤
合并先前分开的"我的电子邮件和异名","我的名字",以及 "Phone Number"步入"我的配置"步入13+注册者, 另有别名 + 电子邮件 + 法定名称和电话号码可选 (输入时通过短信核实). 13岁以下登记者现见 单曲更名为"我的用户异名"("My User Alias" step)——没有电子邮件,法定名称,或电话. - RegisterFlow:简化步骤列表,统一处理下一步验证, (原始内容存档于2018-10-21). New commerceStepContent case. 配置步骤为内部 可滚动,所以三节相合于取景口. - 13岁以下完成的注册状况获得“REGISTED”值 在没有电子邮件可查的情况下, 以 ? 注册=1 代替电子邮件核查页面 .
· SecurityService
为13岁以下注册者制作电子邮件+法定名称选项
/api/安保/登记端点先前拒绝了任何请求 缺少电子邮件、姓名或姓。 这让13下的道路 (KIDS ONLY orgs, 或All AGES with a sub-13 注册人)—— 这些账户只有名词+密码+种子短语。 校验现在需要每个路径的别名+密码,并处理 电子邮件 + 姓 + 姓作为全名或无名的 三重: 提供 其中任何一个都要求所有三个。 核查电子邮件发送和 回复邮件字段现在守护邮件是否真的存在 ,且响应状态为"REGISTERED"(vs 现有 "EMAIL VERUTION REQURED"),当没有电子邮件可以验证时.
· kamo-shared-library
输入检查时添加QQ
· kamo-internal
系统用户配置页+网络 ENTER AS System成员
添加平台管理 ~ 配置, 只使用父程序 : 授权或取消假冒平台的页面 系统用户按部门,职称,或个别团队成员. 在所有三个导航地点登记(设置页牌列表, 设置 StatusWindow 路由 + 分专题,以及页面本身). 更新/网络以使用新的 /api/ security/ enter- 结束点 已有 ENTER 按钮, 因此目标域接收会话 从目标对象成员( 修正源头所在的bug) 中构建 org 的成员ID/orgID泄露到新的会话中). 添加一个 ENTER AS EnTER 旁边的系统成员按钮 **************** 证实打电话者符合资格.
· SecurityService
后填充, 输入- 流动, 变换后卫, 配置 API
自愈提供:系统用户Backfill Service运行在每一个 安全服务启动( 从 DataLoader ) 添加is system user 列 如果缺少系统 用户 访问表,请确保单通系统 用户记录存在,并在每个 非顶级的Org 它已经不属于。 也运行在 创建组织时间, 这样新的类群获得系统用户成员 而不是等待下一次重启。 交叉- org 输入流 : 替换旧的 /api/ generate- otk 交接( 它) 将调用者的 source-org 会话泄露到目标域),使用 /api/安全/进入。 新的终点将新建 *** 范围到 目标鼠类的实际成员,所以成员ID/orgID/权利总是匹配 输入的矿石。 向 JSON 会话添加 SUDO MEMBER ID 字段 用户冒充人类操作员的成员 审计归属。 守护者:系统用户守护者拒绝任何 API 驱动的突变到系统 用户记录或任何成员(接通会员国主计长、 成员安保主计长 隐藏 系统用户从 Get Members And Sublicers, 获取团队成员与控制器, 并获得会员By 部端点 所以租户从来没有看到它 在列表。 配置表面:系统用户配置控制器在赠款上显示 CRUD 仅限顶级用户的表格和系统用户能力控制器 返回用于决定是否渲染 作为系统成员按钮.
· kamo-shared-library
添加系统用户旗+访问授权实体
引入全平台系统用户模式:一个用户.isSystemUser旗 (独特的部分索引执行单通),加上一个系统用户访问表 记录哪个高层次部门、职称或团队成员 可能冒充系统用户输入儿童类。 访问行为 平台- 内部( 不是角色RightType 条目) , 因此它们不参与 租户的权利表面.
· kamo-register
添加电话验证+安全问题步骤
在密码和账户恢复之间插入两个新的步骤,用于 13+ 注册人:一个电话号码阶梯(可选,可跳出,带有短消息代码) 和安全问题步骤(要求,3个不同) 回答问题)。 13岁以下登记者继续跳过 并依赖他们的种子短语来恢复。 - FormPhone数字:闲置 - > 输入码 - > 经核实的状态机器, 每步 Capcha 元件正在显示短消息发送、更改编号并跳过路径。 - 形式安全问题:3次降级+回答,执行独有性, 从新的公共后端端获取目录 。 - 注册Flow:新的窗体Data字段,有条件的步骤,手柄Next 校验,电话+安全 将问题接入提交机构. - /api/ 安全代理现在转发了 X- 前置 - Host 这样后端就可以 解析短消息提供者的选择.
· SecurityService
注册时收集电话+安全问题
将电话号码和安全问题收集器移至自助服务 登记流程(原计划)而不是 需要后签名设置页面。 - 新的登记Phone Service:通过 BulkTextSmsClient,10分钟TTL,每小时限用5个数字. - 登记事务处现在接受可选的登记记录 已核实 电话和三进式安全问题清单;安全问题 与现有的答案规范规则相连接。 - /api/安全/登记接受 页:1 声称已核实的电话与代码相对应,然后坚持使用。 - 新的公共终点:POST/登记/电话/启动(Capcha-gated), POST/登记员/电话/核查,并获得QQ
· kamo-shared-library
添加注册PhoneCode实体 + 寄存器
新表格`注册-电话-代码 ' 存储一发短消息核查码 在自我服务登记期间,在存在用户实体之前发放。 与账户验证码分离以避免携带 NULL 用户ID 在那张桌子上.
· kamo-internal
添加成员/ 添加团队成员页面
-/账号:将单一的模棱两可的按钮取而代之 在成员标签上添加 " 成员 " ,在小组成员标签上添加 " 成员 " 。 每个按钮路由到一个专用创建页面,而不是旧的已断开 掉入成员的详细视图。 - 新的/设定/成员/新和/设定/团队成员/新页,均为新页 由共享成员CreateForm与"可变"道具所支持. - 表格是单页、以区为主的布局(名称、身份、联系人、 org邮箱,仅由团队成员担任的角色/地点,审查. 现场用户浏览 电子邮件和用户名警告一个用户已经存在或已经链接 成为这个组织的成员。 - 尊重Org的 AgeReqType:如果要求允许13岁以下的用户, 个人和组织电子邮件字段被隐藏并成为用户名 主要标识符。 - 可选“提供组织电子邮件邮箱”复选框创建 邮箱通过EmailService指定为成员的主要邮箱. - 关于/设置/成员/[id]的简介标签现在包括工作地点、团队 成员状况和正式职称 到现有的PUT/api/security/member/{id}终点.
· SecurityService
添加成员/ 添加团队成员创建流程
- 新会员创造主计长揭露: * 获得——年龄、时区、部门、职称 *通过电子邮件或用户名检查解禁的存在 * POST/API/安全/成员/创建——在召唤者组织中创建成员 * POST —— 创建团队成员 部门/职称/工作地点/成员状况/安全级别 - 当电子邮件或用户名已经匹配时重新使用已有的用户;否则 创建网新用户并发送 EMAIL VERification 模板。 欢迎 模板总是在创建时发送。 - 对于在13个用户下允许使用AgeReqType的Org,电子邮件收藏是 跳过后用户名成为主要标识符 。 - 获得/成员/{id}返回位置+团队成员状况+ 是组织Owner for Team Members, 和PUT 坚持位置, (原始内容存档于2018-03-21) (英语). Team Member Status, and job Title Official when the record is a Team Member. - 默认角色分配+授予成员服务公司的权利落实 因此,每个新成员都拥有他们实际的权利。 - 修补权利服务:布林格特被拼写为"getIs Organization" 拥有者 (Lombok生成是OrganizationOwner用于原始布尔字段).
· kamo-shared-library
添加 AgeReqType.allowsUnder13 () 帮助器
添加成员/ 添加团队成员流程用于跳过电子邮件收藏 年龄要求允许13岁以下使用者的 (原始内容存档于2017-09-29). KIDS ONLY, all COPPA GRADS.
· kamo-internal
围绕计费小组重建会员计划和账单
- 成员页面 计划和帐单标签 现在正与脉冲发光相接 和标签栏上的 StarRate 图标。 当被看到的成员是 的用户。 目录拆分 变成四个子目录:订阅、发票、支付信息、管理组。 计费组选择器下放 + “ 添加计费组” 图标按钮启用 ; 分组选择驱动每个面板。 - 订阅面板显示每个活跃市场一张卡(FREE DEFAULT) 更改计划/取消/重新启动,以及 每座执照分配网。 优先自动停用运行 减少座位的服务器侧. - 支付信息面板通过 Strade Provider + a 包装条纹元素 重构的付款方法,附在计费组(不是 (原始内容存档于2018-09-21). Old Org-level customers. - 管理小组面板编辑标题/计费联系人/成员权限 (Licensee,集团计划管理者,canManage订阅,canManage Billing). 并增加/撤销成员。 默认组只读——其名册 隐含(每个人不是明确群体),没有标题或 允许编辑。 - 设置/账户? 计费经理+ Plan计算器已删除 。 向新成员更新的链接 计划和账单标签。 - 设置状态窗口+/设置着陆导航(三向) 按导航同步规则同步). - BrancesSetupManager)获得了一个新的"商业市场"栏目. 安全模型编辑器,使用新的安全模型 Market 控制器 具有公共/成员/ 团队成员切换。 - **************** 重写以显示每升计费 组合+每组订阅+MRR./设置/平台/活动以及 /设置/平台/计划成为占位页(其旧内容) 与干净的平板切割。 - 新的API代理:/api/安全/权利 **************** 新用途 所有权钩 使用安全服务 UI(英语:UI). 遗产消费者档案(StatsManager, FeaturesManager, BranchSetupManager)携带了@ts-nocheck,直到他们以订阅为基础 标记代码被重制到使用 Entitlements .
· SecurityService
添加权利服务+安全模式商业市场
- 通过工会活动计算每个会员的特色补助金; BillingGroupLicense计划特征 + KamoCRM 自由级基线. 缓冲 Redis的15分钟投影 锁定了成员ID - 资格认证 听者订阅资格认证 Redis 通道(记忆:/GROUP:/ORG:有效载荷) 因此 BillingService 突变 立即宣传。 - /api/安保/产权的应享权利管理员揭露/我, 和缓存验证POST。 - 安全模型 Market 控制器在 QQ 将商务市场装入儿童奥尔格安全模型并翻转 公共/成员/团队-成员范围布林斯.
