Skip to content

Commit 4a84e8e

Browse files
authored
Merge pull request #1355 from internxt/feat/update-members-seats-for-workspace-sub
[PB-3313]: feat/update workspace members
2 parents 9c122f2 + bf22b03 commit 4a84e8e

29 files changed

Lines changed: 665 additions & 60 deletions

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
"@internxt/internxtui": "^0.0.6",
1010
"@internxt/inxt-js": "=1.2.21",
1111
"@internxt/lib": "^1.2.0",
12-
"@internxt/sdk": "^1.5.24",
12+
"@internxt/sdk": "^1.6.3",
1313
"@phosphor-icons/react": "^2.1.7",
1414
"@popperjs/core": "^2.11.6",
1515
"@reduxjs/toolkit": "^1.6.0",
@@ -81,7 +81,7 @@
8181
"string-template": "^1.0.0",
8282
"url": "^0.11.3",
8383
"util": "^0.12.5",
84-
"uuid": "^8.3.2",
84+
"uuid": "^11.0.3",
8585
"web-vitals": "^0.2.4",
8686
"xlsx-preview": "^1.0.4"
8787
},

src/app/auth/components/SignUp/useSignUp.ts

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,16 @@ export function useSignUp(
108108
privateKeyEncrypted: encPrivateKey,
109109
publicKey: publicKeyArmored,
110110
revocationCertificate: revocationCertificate,
111+
keys: {
112+
ecc: {
113+
privateKeyEncrypted: encPrivateKey,
114+
publicKey: publicKeyArmored,
115+
},
116+
kyber: {
117+
privateKeyEncrypted: '',
118+
publicKey: '',
119+
},
120+
},
111121
};
112122
const registerDetails: RegisterDetails = {
113123
name: 'My',
@@ -171,6 +181,16 @@ export function useSignUp(
171181
privateKeyEncrypted: encPrivateKey,
172182
publicKey: publicKeyArmored,
173183
revocationCertificate: revocationCertificate,
184+
keys: {
185+
ecc: {
186+
privateKeyEncrypted: encPrivateKey,
187+
publicKey: publicKeyArmored,
188+
},
189+
kyber: {
190+
privateKeyEncrypted: '',
191+
publicKey: '',
192+
},
193+
},
174194
};
175195
const registerDetails: RegisterDetails = {
176196
name: 'My',

src/app/auth/services/auth.service.test.ts

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,17 @@ const mockUser: UserSettings = {
5353
createdAt: new Date(),
5454
avatar: null,
5555
emailVerified: false,
56+
keys: {
57+
ecc: {
58+
privateKey: '',
59+
revocationKey: '',
60+
publicKey: '',
61+
},
62+
kyber: {
63+
privateKyberKey: '',
64+
publicKyberKey: '',
65+
},
66+
},
5667
};
5768
const mockSignUpFunction = jest.fn();
5869

src/app/auth/services/auth.service.ts

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ export const doLogin = async (
138138
tfaCode: twoFactorCode,
139139
};
140140
const cryptoProvider: CryptoProvider = {
141-
encryptPasswordHash(password: Password, encryptedSalt: string): string {
141+
async encryptPasswordHash(password: Password, encryptedSalt: string): Promise<string> {
142142
const salt = decryptText(encryptedSalt);
143143
const hashObj = passToHash({ password, salt });
144144
return encryptText(hashObj.hash);
@@ -150,6 +150,16 @@ export const doLogin = async (
150150
privateKeyEncrypted: privateKeyArmoredEncrypted,
151151
publicKey: publicKeyArmored,
152152
revocationCertificate: revocationCertificate,
153+
keys: {
154+
ecc: {
155+
privateKeyEncrypted: privateKeyArmoredEncrypted,
156+
publicKey: publicKeyArmored,
157+
},
158+
kyber: {
159+
privateKeyEncrypted: '',
160+
publicKey: '',
161+
},
162+
},
153163
};
154164
return keys;
155165
},

src/app/i18n/locales/de.json

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1241,6 +1241,7 @@
12411241
"linkUpdated": "Link aktualisiert",
12421242
"itemsMovedToTrash": "{{item}} in den Papierkorb verschoben",
12431243
"storageModified": "Speicher erfolgreich geändert",
1244+
"membersUpdatedSuccessfully": "Mitglieder erfolgreich aktualisiert",
12441245
"errorModifyingStorage": "Der neue Speicherplatz ist für dieses Mitglied ungültig.",
12451246
"generalErrorWhileModifyingStorage": "Beim Ändern des Speicherplatzes ist ein Fehler aufgetreten.",
12461247
"restoreItems": "{{itemsToRecover}} verschoben nach {{destination}}",
@@ -1262,7 +1263,10 @@
12621263
"errorWhileLoadingWorkspace": "Fehler beim Laden des Arbeitsbereichs {{error}}",
12631264
"errorFetchingWorkspaceCredentials": "Fehler beim Abrufen der Anmeldeinformationen für den Arbeitsbereich {{error}}",
12641265
"invalidWorkspaceInvitationError": "Arbeitsbereich voll. Kontaktieren Sie den Eigentümer.",
1265-
"errorAcceptingWorkspaceInvitation": "Beim Annehmen der Einladung ist ein Fehler aufgetreten"
1266+
"errorAcceptingWorkspaceInvitation": "Beim Annehmen der Einladung ist ein Fehler aufgetreten",
1267+
"errorWhileUpdatingWorkspaceMembers": "Beim Aktualisieren der Mitglieder ist ein Fehler aufgetreten",
1268+
"errorWhileFetchingCurrentWorkspaceMembers": "Beim Abrufen der Mitglieder des Arbeitsbereichs ist ein Fehler aufgetreten",
1269+
"newMembersCannotBeLessThanTheExistentOnesError": "Die ausgewählten Mitglieder dürfen nicht weniger sein als die aktuellen Mitglieder des Arbeitsbereichs"
12661270
},
12671271
"actions": {
12681272
"undo": "Rückgängig machen",
@@ -1294,6 +1298,7 @@
12941298
"moreInfo": "Mehr Info",
12951299
"dismiss": "Zurückweisen",
12961300
"save": "Sichern",
1301+
"saveChanges": "Änderungen speichern",
12971302
"back": "Zurück",
12981303
"edit": "Bearbeite",
12991304
"submit": "Einreichen",
@@ -1311,7 +1316,9 @@
13111316
"report": "Missbrauch melden",
13121317
"yes": "Ja",
13131318
"no": "Nein",
1314-
"more": "Mehr"
1319+
"more": "Mehr",
1320+
"continue": "Fortsetzen",
1321+
"keepCurrent": "Aktuell behalten"
13151322
},
13161323
"drive": {
13171324
"usage": "Verwendung",
@@ -1644,6 +1651,14 @@
16441651
"nextBillingDate": "Nächstes Abrechnungsdatum",
16451652
"planLimit": "Abgerechnet für {{planLimit}} plan",
16461653
"subscription": "Abonnement",
1654+
"membersLabel": "Mitglieder",
1655+
"perUser": "pro Benutzer",
1656+
"members": {
1657+
"title": "Mitglieder",
1658+
"editMembers": "Mitglieder bearbeiten",
1659+
"numberOfMembers": "Anzahl der Mitglieder",
1660+
"expandNumber": "Die Anzahl der Mitglieder erweitern."
1661+
},
16471662
"lifetimeSubscription": {
16481663
"planType": "Lebenslang",
16491664
"text": "Keine kommenden Rechnungen"

src/app/i18n/locales/en.json

Lines changed: 35 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1295,6 +1295,7 @@
12951295
"restoreItems": "{{itemsToRecover}} restored successfully",
12961296
"moveItems": "{{itemsToMove}} moved successfully",
12971297
"storageModified": "Storage modified successfully",
1298+
"membersUpdatedSuccessfully": "Members updated successfully",
12981299
"errorModifyingStorage": "The new storage is not valid for this member.",
12991300
"generalErrorWhileModifyingStorage": "Something went wrong while modifying storage",
13001301
"itemDeleted": "{{item}} deleted",
@@ -1318,7 +1319,10 @@
13181319
"errorWhileLoadingWorkspace": "Error while loading the workspace {{error}}",
13191320
"errorFetchingWorkspaceCredentials": "Error while fetching workspace credentials {{error}}",
13201321
"invalidWorkspaceInvitationError": "Workspace full. Contact the owner.",
1321-
"errorAcceptingWorkspaceInvitation": "Something went wrong while accepting the invitation"
1322+
"errorAcceptingWorkspaceInvitation": "Something went wrong while accepting the invitation",
1323+
"errorWhileUpdatingWorkspaceMembers": "Something went wrong while updating the members",
1324+
"errorWhileFetchingCurrentWorkspaceMembers": "Something went wrong while fetching workspace members",
1325+
"newMembersCannotBeLessThanTheExistentOnesError": "Selected members cannot be fewer than current workspace members"
13221326
},
13231327
"actions": {
13241328
"undo": "Undo",
@@ -1349,6 +1353,7 @@
13491353
"moreInfo": "More info",
13501354
"dismiss": "Dismiss",
13511355
"save": "Save",
1356+
"saveChanges": "Save changes",
13521357
"saving": "Saving",
13531358
"share": "Share",
13541359
"back": "Back",
@@ -1368,7 +1373,9 @@
13681373
"report": "Report abuse",
13691374
"yes": "Yes",
13701375
"no": "No",
1371-
"more": "More"
1376+
"more": "More",
1377+
"continue": "Continue",
1378+
"keepCurrent": "Keep current"
13721379
},
13731380
"drive": {
13741381
"usage": "Usage",
@@ -1702,7 +1709,9 @@
17021709
"title": "Billing",
17031710
"nextBillingDate": "Next billing date",
17041711
"planLimit": "Billed for {{planLimit}} plan",
1712+
"membersLabel": "members",
17051713
"subscription": "Subscription",
1714+
"perUser": "per user",
17061715
"lifetimeSubscription": {
17071716
"planType": "Lifetime",
17081717
"text": "No upcoming billings"
@@ -1712,6 +1721,30 @@
17121721
"action": "Upgrade",
17131722
"actionDescription": "Increase your storage space and get more features"
17141723
},
1724+
"members": {
1725+
"title": "Members",
1726+
"editMembers": "Edit members",
1727+
"numberOfMembers": "Number of members",
1728+
"expandNumber": "Expand the number of members.",
1729+
"confirmUpdateModal": {
1730+
"title": "Change plan",
1731+
"confirmToProceed": {
1732+
"text1": "You are about to change your Internxt member plan from ",
1733+
"to": "to ",
1734+
"text2": ". Confirm your choice to proceed, please."
1735+
},
1736+
"current": "Current",
1737+
"new": "New",
1738+
"decreaseStorage": {
1739+
"text": "This will also decrease your total business storage from ",
1740+
"to": " to "
1741+
},
1742+
"increaseStorage": {
1743+
"text": "This will also increase your total business storage from ",
1744+
"to": " to "
1745+
}
1746+
}
1747+
},
17151748
"paymentMethod": {
17161749
"title": "Payment Method",
17171750
"editButton": "Edit payment method",

src/app/i18n/locales/es.json

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1258,6 +1258,7 @@
12581258
"itemsMovedToTrash": "{{item}} movid{{s}} a la papelera",
12591259
"restoreItems": "{{itemsToRecover}} restaurad{{s}} con éxito",
12601260
"storageModified": "Almacenamiento modificado con éxito",
1261+
"membersUpdatedSuccessfully": "Miembros actualizados con éxito",
12611262
"errorModifyingStorage": "El nuevo almacenamiento no es válido para este miembro.",
12621263
"generalErrorWhileModifyingStorage": "Algo salió mal al modificar el almacenamiento.",
12631264
"moveItems": "{{itemsToMove}} movid{{s}} con éxito",
@@ -1282,7 +1283,10 @@
12821283
"errorWhileLoadingWorkspace": "Error al cargar el espacio de trabajo {{error}}",
12831284
"errorFetchingWorkspaceCredentials": "Error al obtener las credenciales del espacio de trabajo {{error}}",
12841285
"invalidWorkspaceInvitationError": "Espacio de trabajo lleno. Contacta al propietario.",
1285-
"errorAcceptingWorkspaceInvitation": "Ocurrió un error al aceptar la invitación"
1286+
"errorAcceptingWorkspaceInvitation": "Ocurrió un error al aceptar la invitación",
1287+
"errorWhileUpdatingWorkspaceMembers": "Ocurrió un error al actualizar los miembros",
1288+
"errorWhileFetchingCurrentWorkspaceMembers": "Ocurrió un error al obtener los miembros del espacio de trabajo",
1289+
"newMembersCannotBeLessThanTheExistentOnesError": "Los miembros seleccionados no pueden ser menos que los miembros actuales del espacio de trabajo"
12861290
},
12871291
"success": {
12881292
"passwordChanged": "Contraseña actualizada correctamente",
@@ -1328,6 +1332,7 @@
13281332
"moreInfo": "Más info",
13291333
"dismiss": "Dismiss",
13301334
"save": "Guardar",
1335+
"saveChanges": "Guardar cambios",
13311336
"saving": "Guardando",
13321337
"share": "Compartir",
13331338
"back": "Atrás",
@@ -1347,7 +1352,9 @@
13471352
"report": "Reportar abuso",
13481353
"yes": "Si",
13491354
"no": "No",
1350-
"more": "Más"
1355+
"more": "Más",
1356+
"continue": "Continuar",
1357+
"keepCurrent": "Mantener actual"
13511358
},
13521359
"drive": {
13531360
"usage": "Uso",
@@ -1680,6 +1687,14 @@
16801687
"nextBillingDate": "Próxima fecha de facturación",
16811688
"planLimit": "Facturado por plan de {{planLimit}}",
16821689
"subscription": "Suscripción",
1690+
"membersLabel": "miembros",
1691+
"perUser": "por usuario",
1692+
"members": {
1693+
"title": "Miembros",
1694+
"editMembers": "Editar miembros",
1695+
"numberOfMembers": "Número de miembros",
1696+
"expandNumber": "Ampliar el número de miembros."
1697+
},
16831698
"lifetimeSubscription": {
16841699
"planType": "De por vida",
16851700
"text": "Sin facturas pendientes"

src/app/i18n/locales/fr.json

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1226,6 +1226,7 @@
12261226
"itemsMovedToTrash": "{{item}} déplacé vers la corbeille",
12271227
"restoreItems": "{{itemsToRecover}} restauré avec succès",
12281228
"storageModified": "Stockage modifié avec succès",
1229+
"membersUpdatedSuccessfully": "Membres mis à jour avec succès",
12291230
"errorModifyingStorage": "Le nouvel espace de stockage n'est pas valide pour ce membre.",
12301231
"generalErrorWhileModifyingStorage": "Une erreur s'est produite lors de la modification du stockage.",
12311232
"itemDeleted": "{{itemsToDelete}} supprimé",
@@ -1246,7 +1247,10 @@
12461247
"errorWhileLoadingWorkspace": "Erreur lors du chargement de l'espace de travail {{error}}",
12471248
"errorFetchingWorkspaceCredentials": "Erreur lors de la récupération des identifiants de l'espace de travail {{error}}",
12481249
"invalidWorkspaceInvitationError": "Espace de travail plein. Contactez le propriétaire.",
1249-
"errorAcceptingWorkspaceInvitation": "Une erreur s'est produite lors de l'acceptation de l'invitation"
1250+
"errorAcceptingWorkspaceInvitation": "Une erreur s'est produite lors de l'acceptation de l'invitation",
1251+
"errorWhileUpdatingWorkspaceMembers": "Une erreur s'est produite lors de la mise à jour des membres",
1252+
"errorWhileFetchingCurrentWorkspaceMembers": "Une erreur s'est produite lors de la récupération des membres de l'espace de travail",
1253+
"newMembersCannotBeLessThanTheExistentOnesError": "Les membres sélectionnés ne peuvent pas être inférieurs au nombre de membres actuels de l'espace de travail"
12501254
},
12511255
"actions": {
12521256
"undo": "Annuler",
@@ -1278,6 +1282,7 @@
12781282
"moreInfo": "Plus d'informations",
12791283
"dismiss": "Rejeter",
12801284
"save": "Enregistrer",
1285+
"saveChanges": "Enregistrer les modifications",
12811286
"saving": "Sauvagarde en cours",
12821287
"back": "Retourner",
12831288
"edit": "Éditer",
@@ -1296,7 +1301,9 @@
12961301
"report": "Signaler un abus",
12971302
"yes": "Oui",
12981303
"no": "Non",
1299-
"more": "Plus"
1304+
"more": "Plus",
1305+
"continue": "Continuer",
1306+
"keepCurrent": "Garder actuel"
13001307
},
13011308
"drive": {
13021309
"usage": "Usage",
@@ -1629,6 +1636,14 @@
16291636
"nextBillingDate": "Prochaine date de facturation",
16301637
"planLimit": "Facturé pour un forfait de {{planLimit}}",
16311638
"subscription": "Abonnement",
1639+
"membersLabel": "membres",
1640+
"perUser": "par utilisateur",
1641+
"members": {
1642+
"title": "Membres",
1643+
"editMembers": "Modifier les membres",
1644+
"numberOfMembers": "Nombre de membres",
1645+
"expandNumber": "Augmenter le nombre de membres."
1646+
},
16321647
"lifetimeSubscription": {
16331648
"planType": "Durée de vie",
16341649
"text": "Pas de facturation à venir"

src/app/i18n/locales/it.json

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1286,6 +1286,7 @@
12861286
"itemsMovedToTrash": "{{item}} spostati nel cestino",
12871287
"restoreItems": "{{itemsToRecover}} ripristinato correttamente",
12881288
"storageModified": "Archiviazione modificata con successo",
1289+
"membersUpdatedSuccessfully": "Membri aggiornati con successo",
12891290
"errorModifyingStorage": "Il nuovo spazio di archiviazione non è valido per questo membro.",
12901291
"generalErrorWhileModifyingStorage": "Si è verificato un errore durante la modifica dello spazio di archiviazione.",
12911292
"itemDeleted": "{{item}} eliminate",
@@ -1306,7 +1307,10 @@
13061307
"errorWhileLoadingWorkspace": "Errore durante il caricamento dell'area di lavoro {{error}}",
13071308
"errorFetchingWorkspaceCredentials": "Errore durante il recupero delle credenziali dell'area di lavoro {{error}}",
13081309
"invalidWorkspaceInvitationError": "Spazio di lavoro pieno. Contatta il proprietario.",
1309-
"errorAcceptingWorkspaceInvitation": "Si è verificato un errore durante l'accettazione dell'invito"
1310+
"errorAcceptingWorkspaceInvitation": "Si è verificato un errore durante l'accettazione dell'invito",
1311+
"errorWhileUpdatingWorkspaceMembers": "Si è verificato un errore durante l'aggiornamento dei membri",
1312+
"errorWhileFetchingCurrentWorkspaceMembers": "Si è verificato un errore durante il recupero dei membri dello spazio di lavoro",
1313+
"newMembersCannotBeLessThanTheExistentOnesError": "I membri selezionati non possono essere meno dei membri attuali dello spazio di lavoro"
13101314
},
13111315
"actions": {
13121316
"undo": "Annulla",
@@ -1338,6 +1342,7 @@
13381342
"moreInfo": "Maggiori informazioni",
13391343
"dismiss": "Licenziare",
13401344
"save": "Salva",
1345+
"saveChanges": "Salva modifiche",
13411346
"saving": "Salvare",
13421347
"back": "Indietro",
13431348
"edit": "Modifica",
@@ -1356,7 +1361,9 @@
13561361
"report": "Segnala abuso",
13571362
"yes": "",
13581363
"no": "No",
1359-
"more": "Di più"
1364+
"more": "Di più",
1365+
"continue": "Continua",
1366+
"keepCurrent": "Mantieni attuale"
13601367
},
13611368
"drive": {
13621369
"usage": "Utilizzo",
@@ -1689,6 +1696,14 @@
16891696
"nextBillingDate": "Prossima data di fatturazione",
16901697
"planLimit": "Fatturato per un piano da {{planLimit}}",
16911698
"subscription": "Abbonamento",
1699+
"membersLabel": "membri",
1700+
"perUser": "per utente",
1701+
"members": {
1702+
"title": "Membri",
1703+
"editMembers": "Modifica membri",
1704+
"numberOfMembers": "Numero di membri",
1705+
"expandNumber": "Espandi il numero di membri."
1706+
},
16921707
"lifetimeSubscription": {
16931708
"planType": "Durata della vita",
16941709
"text": "Nessuna fatturazione imminente"

0 commit comments

Comments
 (0)