@stackframe/stack 2.4.26 → 2.4.28

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,22 @@
1
1
  # @stackframe/stack
2
2
 
3
+ ## 2.4.28
4
+
5
+ ### Patch Changes
6
+
7
+ - Bugfixes
8
+ - Updated dependencies
9
+ - @stackframe/stack-shared@2.4.28
10
+ - @stackframe/stack-sc@2.4.28
11
+
12
+ ## 2.4.27
13
+
14
+ ### Patch Changes
15
+
16
+ - Export MagicLinkSignIn component
17
+ - @stackframe/stack-sc@2.4.27
18
+ - @stackframe/stack-shared@2.4.27
19
+
3
20
  ## 2.4.26
4
21
 
5
22
  ### Patch Changes
@@ -12,18 +12,18 @@ import React__default from 'react';
12
12
  declare const Button: React__default.ForwardRefExoticComponent<Omit<Omit<ButtonProps, "ref"> & React__default.RefAttributes<HTMLButtonElement>, "ref"> & React__default.RefAttributes<HTMLButtonElement>>;
13
13
  declare const Input: React__default.ForwardRefExoticComponent<Omit<Omit<React__default.InputHTMLAttributes<HTMLInputElement> & Pick<React__default.HTMLProps<HTMLInputElement>, "ref">, "ref"> & React__default.RefAttributes<HTMLInputElement>, "ref"> & React__default.RefAttributes<HTMLInputElement>>;
14
14
  declare const Container: React__default.ForwardRefExoticComponent<Omit<{
15
- size?: number | "xs" | "sm" | "md" | "lg" | "xl" | undefined;
15
+ size?: number | "sm" | "md" | "lg" | "xs" | "xl" | undefined;
16
16
  } & Omit<React__default.HTMLProps<HTMLDivElement>, "size">, "ref"> & React__default.RefAttributes<HTMLDivElement>>;
17
17
  declare const Separator: React__default.ForwardRefExoticComponent<Omit<Omit<_radix_ui_react_separator.SeparatorProps & React__default.RefAttributes<HTMLDivElement>, "ref"> & React__default.RefAttributes<HTMLDivElement>, "ref"> & React__default.RefAttributes<HTMLDivElement>>;
18
18
  declare const Label: React__default.ForwardRefExoticComponent<Omit<Omit<_radix_ui_react_label.LabelProps & React__default.RefAttributes<HTMLLabelElement>, "ref"> & React__default.RefAttributes<HTMLLabelElement>, "ref"> & React__default.RefAttributes<HTMLLabelElement>>;
19
19
  declare const Link: React__default.ForwardRefExoticComponent<Omit<Omit<{
20
- size?: "xs" | "sm" | "md" | "lg" | "xl" | undefined;
20
+ size?: "sm" | "md" | "lg" | "xs" | "xl" | undefined;
21
21
  href: string | url.Url;
22
22
  } & Omit<React__default.HTMLProps<HTMLLinkElement>, "size" | "href">, "ref"> & React__default.RefAttributes<HTMLAnchorElement>, "ref"> & React__default.RefAttributes<HTMLAnchorElement>>;
23
23
  declare const Text: React__default.ForwardRefExoticComponent<Omit<Omit<{
24
24
  variant?: "primary" | "secondary" | "warning" | "success" | undefined;
25
- as?: "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "p" | undefined;
26
- size?: "xs" | "sm" | "md" | "lg" | "xl" | undefined;
25
+ as?: "h2" | "h3" | "p" | "h1" | "h4" | "h5" | "h6" | undefined;
26
+ size?: "sm" | "md" | "lg" | "xs" | "xl" | undefined;
27
27
  } & Omit<React__default.HTMLProps<HTMLParagraphElement>, "size">, "ref"> & React__default.RefAttributes<HTMLParagraphElement>, "ref"> & React__default.RefAttributes<HTMLParagraphElement>>;
28
28
  declare const Popover: React__default.ForwardRefExoticComponent<_radix_ui_react_popover.PopoverProps & React__default.RefAttributes<never>>;
29
29
  declare const PopoverTrigger: React__default.ForwardRefExoticComponent<Omit<_radix_ui_react_popover.PopoverTriggerProps & React__default.RefAttributes<HTMLButtonElement>, "ref"> & React__default.RefAttributes<HTMLButtonElement>>;
@@ -12,18 +12,18 @@ import React__default from 'react';
12
12
  declare const Button: React__default.ForwardRefExoticComponent<Omit<Omit<ButtonProps, "ref"> & React__default.RefAttributes<HTMLButtonElement>, "ref"> & React__default.RefAttributes<HTMLButtonElement>>;
13
13
  declare const Input: React__default.ForwardRefExoticComponent<Omit<Omit<React__default.InputHTMLAttributes<HTMLInputElement> & Pick<React__default.HTMLProps<HTMLInputElement>, "ref">, "ref"> & React__default.RefAttributes<HTMLInputElement>, "ref"> & React__default.RefAttributes<HTMLInputElement>>;
14
14
  declare const Container: React__default.ForwardRefExoticComponent<Omit<{
15
- size?: number | "xs" | "sm" | "md" | "lg" | "xl" | undefined;
15
+ size?: number | "sm" | "md" | "lg" | "xs" | "xl" | undefined;
16
16
  } & Omit<React__default.HTMLProps<HTMLDivElement>, "size">, "ref"> & React__default.RefAttributes<HTMLDivElement>>;
17
17
  declare const Separator: React__default.ForwardRefExoticComponent<Omit<Omit<_radix_ui_react_separator.SeparatorProps & React__default.RefAttributes<HTMLDivElement>, "ref"> & React__default.RefAttributes<HTMLDivElement>, "ref"> & React__default.RefAttributes<HTMLDivElement>>;
18
18
  declare const Label: React__default.ForwardRefExoticComponent<Omit<Omit<_radix_ui_react_label.LabelProps & React__default.RefAttributes<HTMLLabelElement>, "ref"> & React__default.RefAttributes<HTMLLabelElement>, "ref"> & React__default.RefAttributes<HTMLLabelElement>>;
19
19
  declare const Link: React__default.ForwardRefExoticComponent<Omit<Omit<{
20
- size?: "xs" | "sm" | "md" | "lg" | "xl" | undefined;
20
+ size?: "sm" | "md" | "lg" | "xs" | "xl" | undefined;
21
21
  href: string | url.Url;
22
22
  } & Omit<React__default.HTMLProps<HTMLLinkElement>, "size" | "href">, "ref"> & React__default.RefAttributes<HTMLAnchorElement>, "ref"> & React__default.RefAttributes<HTMLAnchorElement>>;
23
23
  declare const Text: React__default.ForwardRefExoticComponent<Omit<Omit<{
24
24
  variant?: "primary" | "secondary" | "warning" | "success" | undefined;
25
- as?: "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "p" | undefined;
26
- size?: "xs" | "sm" | "md" | "lg" | "xl" | undefined;
25
+ as?: "h2" | "h3" | "p" | "h1" | "h4" | "h5" | "h6" | undefined;
26
+ size?: "sm" | "md" | "lg" | "xs" | "xl" | undefined;
27
27
  } & Omit<React__default.HTMLProps<HTMLParagraphElement>, "size">, "ref"> & React__default.RefAttributes<HTMLParagraphElement>, "ref"> & React__default.RefAttributes<HTMLParagraphElement>>;
28
28
  declare const Popover: React__default.ForwardRefExoticComponent<_radix_ui_react_popover.PopoverProps & React__default.RefAttributes<never>>;
29
29
  declare const PopoverTrigger: React__default.ForwardRefExoticComponent<Omit<_radix_ui_react_popover.PopoverTriggerProps & React__default.RefAttributes<HTMLButtonElement>, "ref"> & React__default.RefAttributes<HTMLButtonElement>>;
package/dist/esm/index.js CHANGED
@@ -21,6 +21,7 @@ import { default as default16 } from "./components/password-field";
21
21
  import { default as default17 } from "./components/user-button";
22
22
  import { default as default18 } from "./components-page/account-settings";
23
23
  import { default as default19 } from "./components-page/auth-page";
24
+ import { default as default20 } from "./components/magic-link-sign-in";
24
25
  import { useDesign } from "./providers/design-provider";
25
26
  import { useComponents } from "./providers/component-provider";
26
27
  import { StackTheme } from "./providers/theme-provider";
@@ -32,6 +33,7 @@ export {
32
33
  default13 as CredentialSignUp,
33
34
  default6 as EmailVerification,
34
35
  default8 as ForgotPassword,
36
+ default20 as MagicLinkSignIn,
35
37
  default9 as MessageCard,
36
38
  default14 as OAuthButton,
37
39
  default15 as OAuthGroup,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.tsx"],"sourcesContent":["export { default as StackProvider } from \"./providers/stack-provider\";\n\nexport { useUser, useStackApp } from \"./lib/hooks\";\nexport { StackClientApp, StackServerApp, StackAdminApp } from \"./lib/stack-app\";\n\nexport { default as StackHandler } from \"./components-page/stack-handler\";\nexport { default as SignIn } from \"./components-page/sign-in\";\nexport { default as SignUp } from \"./components-page/sign-up\";\nexport { default as EmailVerification } from \"./components-page/email-verification\";\nexport { default as PasswordReset } from \"./components-page/password-reset\";\nexport { default as ForgotPassword } from \"./components-page/forgot-password\";\nexport { default as MessageCard } from \"./components/message-cards/message-card\";\nexport {\n default as SelectedTeamSwitcher,\n /**\n * @deprecated This was renamed to `SelectedTeamSwitcher`.\n */\n default as TeamSwitcher\n} from \"./components/selected-team-switcher\";\n\n\nexport { default as CredentialSignIn } from \"./components/credential-sign-in\";\nexport { default as CredentialSignUp } from \"./components/credential-sign-up\";\nexport { default as OAuthButton } from \"./components/oauth-button\";\nexport { default as OAuthGroup } from \"./components/oauth-group\";\nexport { default as PasswordField } from \"./components/password-field\";\nexport { default as UserButton } from \"./components/user-button\";\nexport { default as AccountSettings } from \"./components-page/account-settings\";\nexport { default as AuthPage } from \"./components-page/auth-page\";\n\nexport { useDesign } from './providers/design-provider';\nexport type { ColorPalette } from './providers/design-provider';\nexport { useComponents } from './providers/component-provider';\nexport { StackTheme } from './providers/theme-provider';\nexport type { ThemeConfig } from './providers/theme-provider';\n\nexport type { \n CurrentUser, \n Project, \n ServerUser as ServerUser, \n ApiKeySetFirstView, \n ApiKeySet, \n ServerTeam, \n Team, \n TeamMember,\n ServerTeamMember,\n ServerPermission as Permission,\n ServerPermission,\n} from './lib/stack-app';\n\nexport * from './components-core';\n"],"mappings":";AAAA,SAAoB,WAAXA,gBAAgC;AAEzC,SAAS,SAAS,mBAAmB;AACrC,SAAS,gBAAgB,gBAAgB,qBAAqB;AAE9D,SAAoB,WAAXA,gBAA+B;AACxC,SAAoB,WAAXA,gBAAyB;AAClC,SAAoB,WAAXA,gBAAyB;AAClC,SAAoB,WAAXA,gBAAoC;AAC7C,SAAoB,WAAXA,gBAAgC;AACzC,SAAoB,WAAXA,gBAAiC;AAC1C,SAAoB,WAAXA,gBAA8B;AACvC;AAAA,EACa,WAAXA;AAAA,EAIW,WAAXA;AAAA,OACK;AAGP,SAAoB,WAAXA,iBAAmC;AAC5C,SAAoB,WAAXA,iBAAmC;AAC5C,SAAoB,WAAXA,iBAA8B;AACvC,SAAoB,WAAXA,iBAA6B;AACtC,SAAoB,WAAXA,iBAAgC;AACzC,SAAoB,WAAXA,iBAA6B;AACtC,SAAoB,WAAXA,iBAAkC;AAC3C,SAAoB,WAAXA,iBAA2B;AAEpC,SAAS,iBAAiB;AAE1B,SAAS,qBAAqB;AAC9B,SAAS,kBAAkB;AAiB3B,cAAc;","names":["default"]}
1
+ {"version":3,"sources":["../../src/index.tsx"],"sourcesContent":["export { default as StackProvider } from \"./providers/stack-provider\";\n\nexport { useUser, useStackApp } from \"./lib/hooks\";\nexport { StackClientApp, StackServerApp, StackAdminApp } from \"./lib/stack-app\";\n\nexport { default as StackHandler } from \"./components-page/stack-handler\";\nexport { default as SignIn } from \"./components-page/sign-in\";\nexport { default as SignUp } from \"./components-page/sign-up\";\nexport { default as EmailVerification } from \"./components-page/email-verification\";\nexport { default as PasswordReset } from \"./components-page/password-reset\";\nexport { default as ForgotPassword } from \"./components-page/forgot-password\";\nexport { default as MessageCard } from \"./components/message-cards/message-card\";\nexport {\n default as SelectedTeamSwitcher,\n /**\n * @deprecated This was renamed to `SelectedTeamSwitcher`.\n */\n default as TeamSwitcher\n} from \"./components/selected-team-switcher\";\n\n\nexport { default as CredentialSignIn } from \"./components/credential-sign-in\";\nexport { default as CredentialSignUp } from \"./components/credential-sign-up\";\nexport { default as OAuthButton } from \"./components/oauth-button\";\nexport { default as OAuthGroup } from \"./components/oauth-group\";\nexport { default as PasswordField } from \"./components/password-field\";\nexport { default as UserButton } from \"./components/user-button\";\nexport { default as AccountSettings } from \"./components-page/account-settings\";\nexport { default as AuthPage } from \"./components-page/auth-page\";\nexport { default as MagicLinkSignIn } from \"./components/magic-link-sign-in\";\n\nexport { useDesign } from './providers/design-provider';\nexport type { ColorPalette } from './providers/design-provider';\nexport { useComponents } from './providers/component-provider';\nexport { StackTheme } from './providers/theme-provider';\nexport type { ThemeConfig } from './providers/theme-provider';\n\nexport type { \n CurrentUser, \n Project, \n ServerUser as ServerUser, \n ApiKeySetFirstView, \n ApiKeySet, \n ServerTeam, \n Team, \n TeamMember,\n ServerTeamMember,\n ServerPermission as Permission,\n ServerPermission,\n} from './lib/stack-app';\n\nexport * from './components-core';\n"],"mappings":";AAAA,SAAoB,WAAXA,gBAAgC;AAEzC,SAAS,SAAS,mBAAmB;AACrC,SAAS,gBAAgB,gBAAgB,qBAAqB;AAE9D,SAAoB,WAAXA,gBAA+B;AACxC,SAAoB,WAAXA,gBAAyB;AAClC,SAAoB,WAAXA,gBAAyB;AAClC,SAAoB,WAAXA,gBAAoC;AAC7C,SAAoB,WAAXA,gBAAgC;AACzC,SAAoB,WAAXA,gBAAiC;AAC1C,SAAoB,WAAXA,gBAA8B;AACvC;AAAA,EACa,WAAXA;AAAA,EAIW,WAAXA;AAAA,OACK;AAGP,SAAoB,WAAXA,iBAAmC;AAC5C,SAAoB,WAAXA,iBAAmC;AAC5C,SAAoB,WAAXA,iBAA8B;AACvC,SAAoB,WAAXA,iBAA6B;AACtC,SAAoB,WAAXA,iBAAgC;AACzC,SAAoB,WAAXA,iBAA6B;AACtC,SAAoB,WAAXA,iBAAkC;AAC3C,SAAoB,WAAXA,iBAA2B;AACpC,SAAoB,WAAXA,iBAAkC;AAE3C,SAAS,iBAAiB;AAE1B,SAAS,qBAAqB;AAC9B,SAAS,kBAAkB;AAiB3B,cAAc;","names":["default"]}
@@ -23,7 +23,7 @@ import { InternalSession } from "@stackframe/stack-shared/dist/sessions";
23
23
  import { useTrigger } from "@stackframe/stack-shared/dist/hooks/use-trigger";
24
24
  import { mergeScopeStrings } from "@stackframe/stack-shared/dist/utils/strings";
25
25
  var NextNavigation = scrambleDuringCompileTime(NextNavigationUnscrambled);
26
- var clientVersion = "js @stackframe/stack@2.4.26";
26
+ var clientVersion = "js @stackframe/stack@2.4.28";
27
27
  function permissionDefinitionScopeToType(scope) {
28
28
  return { "any-team": "team", "specific-team": "team", "global": "global" }[scope.type];
29
29
  }
@@ -82,7 +82,6 @@ function createEmptyTokenStore() {
82
82
  accessToken: null
83
83
  });
84
84
  }
85
- var loadingSentinel = Symbol("stackAppCacheLoadingSentinel");
86
85
  var cachePromiseByComponentId = /* @__PURE__ */ new Map();
87
86
  function useAsyncCache(cache, dependencies, caller) {
88
87
  suspendIfSsr(caller);
@@ -597,6 +596,11 @@ var _StackClientAppImpl = class __StackClientAppImpl {
597
596
  const teams = useAsyncCache(app._currentUserTeamsCache, [session], "user.useTeams()");
598
597
  return useMemo(() => teams.map((json2) => app._teamFromJson(json2)), [teams]);
599
598
  },
599
+ async createTeam(data) {
600
+ const teamJson = await app._interface.createTeamForCurrentUser(data, session);
601
+ await app._currentUserTeamsCache.refresh([session]);
602
+ return app._teamFromJson(teamJson);
603
+ },
600
604
  async listPermissions(scope, options) {
601
605
  const permissions = await app._currentUserPermissionsCache.getOrWait([session, scope.id, "team", !!options?.direct], "write-only");
602
606
  return permissions.map((json2) => app._permissionFromJson(json2));
@@ -671,7 +675,9 @@ var _StackClientAppImpl = class __StackClientAppImpl {
671
675
  oauthProviders: data.evaluatedConfig.oauthProviders,
672
676
  emailConfig: data.evaluatedConfig.emailConfig,
673
677
  domains: data.evaluatedConfig.domains,
674
- createTeamOnSignUp: data.evaluatedConfig.createTeamOnSignUp
678
+ createTeamOnSignUp: data.evaluatedConfig.createTeamOnSignUp,
679
+ teamCreatorDefaultPermissions: data.evaluatedConfig.teamCreatorDefaultPermissions,
680
+ teamMemberDefaultPermissions: data.evaluatedConfig.teamMemberDefaultPermissions
675
681
  },
676
682
  async update(update) {
677
683
  await adminInterface.updateProject(update);
@@ -1004,23 +1010,23 @@ var _StackServerAppImpl = class extends _StackClientAppImpl {
1004
1010
  return Result.or(user, null);
1005
1011
  });
1006
1012
  _serverUsersCache = createCache(async () => {
1007
- return await this._interface.listUsers();
1013
+ return await this._interface.listServerUsers();
1008
1014
  });
1009
1015
  _serverUserCache = createCache(async ([userId]) => {
1010
1016
  const user = await this._interface.getServerUserById(userId);
1011
1017
  return Result.or(user, null);
1012
1018
  });
1013
1019
  _serverTeamsCache = createCache(async () => {
1014
- return await this._interface.listTeams();
1020
+ return await this._interface.listServerTeams();
1015
1021
  });
1016
1022
  _serverTeamMembersCache = createCache(async ([teamId]) => {
1017
- return await this._interface.listTeamMembers(teamId);
1023
+ return await this._interface.listServerTeamMembers(teamId);
1018
1024
  });
1019
1025
  _serverTeamPermissionDefinitionsCache = createCache(async () => {
1020
1026
  return await this._interface.listPermissionDefinitions();
1021
1027
  });
1022
1028
  _serverTeamUserPermissionsCache = createCache(async ([teamId, userId, type, direct]) => {
1023
- return await this._interface.listTeamMemberPermissions({ teamId, userId, type, direct });
1029
+ return await this._interface.listServerTeamMemberPermissions({ teamId, userId, type, direct });
1024
1030
  });
1025
1031
  _serverEmailTemplatesCache = createCache(async () => {
1026
1032
  return await this._interface.listEmailTemplates();
@@ -1102,6 +1108,11 @@ var _StackServerAppImpl = class extends _StackClientAppImpl {
1102
1108
  useTeams() {
1103
1109
  return app._useCheckFeatureSupport("useTeams() on ServerUser", {});
1104
1110
  },
1111
+ createTeam: async (data) => {
1112
+ const team = await app._interface.createServerTeamForUser(json.id, data, app._getSession());
1113
+ await app._serverTeamsCache.refresh([]);
1114
+ return app._serverTeamFromJson(team);
1115
+ },
1105
1116
  async listPermissions(scope, options) {
1106
1117
  const permissions = await app._serverTeamUserPermissionsCache.getOrWait([scope.id, json.id, "team", !!options?.direct], "write-only");
1107
1118
  return permissions.map((json2) => app._serverPermissionFromJson(json2));
@@ -1122,19 +1133,19 @@ var _StackServerAppImpl = class extends _StackClientAppImpl {
1122
1133
  return await this.getPermission(scope, permissionId) !== null;
1123
1134
  },
1124
1135
  async grantPermission(scope, permissionId) {
1125
- await app._interface.grantTeamUserPermission(scope.id, json.id, permissionId, "team");
1136
+ await app._interface.grantServerTeamUserPermission(scope.id, json.id, permissionId, "team");
1126
1137
  for (const direct of [true, false]) {
1127
1138
  await app._serverTeamUserPermissionsCache.refresh([scope.id, json.id, "team", direct]);
1128
1139
  }
1129
1140
  },
1130
1141
  async revokePermission(scope, permissionId) {
1131
- await app._interface.revokeTeamUserPermission(scope.id, json.id, permissionId, "team");
1142
+ await app._interface.revokeServerTeamUserPermission(scope.id, json.id, permissionId, "team");
1132
1143
  for (const direct of [true, false]) {
1133
1144
  await app._serverTeamUserPermissionsCache.refresh([scope.id, json.id, "team", direct]);
1134
1145
  }
1135
1146
  },
1136
1147
  async delete() {
1137
- const res = await app._interface.deleteServerUser(json.id);
1148
+ const res = await app._interface.deleteServerServerUser(json.id);
1138
1149
  await app._refreshUsers();
1139
1150
  return res;
1140
1151
  },
@@ -1182,14 +1193,14 @@ var _StackServerAppImpl = class extends _StackClientAppImpl {
1182
1193
  displayName: json.displayName,
1183
1194
  createdAt: new Date(json.createdAtMillis),
1184
1195
  async listMembers() {
1185
- return (await app._interface.listTeamMembers(json.id)).map((u) => app._serverTeamMemberFromJson(u));
1196
+ return (await app._interface.listServerTeamMembers(json.id)).map((u) => app._serverTeamMemberFromJson(u));
1186
1197
  },
1187
1198
  async update(update) {
1188
- await app._interface.updateTeam(json.id, update);
1199
+ await app._interface.updateServerTeam(json.id, update);
1189
1200
  await app._serverTeamsCache.refresh([]);
1190
1201
  },
1191
1202
  async delete() {
1192
- await app._interface.deleteTeam(json.id);
1203
+ await app._interface.deleteServerTeam(json.id);
1193
1204
  await app._serverTeamsCache.refresh([]);
1194
1205
  },
1195
1206
  useMembers() {
@@ -1197,14 +1208,14 @@ var _StackServerAppImpl = class extends _StackClientAppImpl {
1197
1208
  return useMemo(() => result.map((u) => app._serverTeamMemberFromJson(u)), [result]);
1198
1209
  },
1199
1210
  async addUser(userId) {
1200
- await app._interface.addUserToTeam({
1211
+ await app._interface.addServerUserToTeam({
1201
1212
  teamId: json.id,
1202
1213
  userId
1203
1214
  });
1204
1215
  await app._serverTeamMembersCache.refresh([json.id]);
1205
1216
  },
1206
1217
  async removeUser(userId) {
1207
- await app._interface.removeUserFromTeam({
1218
+ await app._interface.removeServerUserFromTeam({
1208
1219
  teamId: json.id,
1209
1220
  userId
1210
1221
  });
@@ -1316,7 +1327,7 @@ var _StackServerAppImpl = class extends _StackClientAppImpl {
1316
1327
  return teams.map((t) => this._serverTeamFromJson(t));
1317
1328
  }
1318
1329
  async createTeam(data) {
1319
- const team = await this._interface.createTeam(data);
1330
+ const team = await this._interface.createServerTeam(data);
1320
1331
  await this._serverTeamsCache.refresh([]);
1321
1332
  return this._serverTeamFromJson(team);
1322
1333
  }