|
4 | 4 | import objectbox.c as c |
5 | 5 | from objectbox import Store |
6 | 6 |
|
7 | | - |
8 | 7 | class SyncCredentials: |
9 | 8 |
|
10 | 9 | def __init__(self, credential_type: c.SyncCredentialsType): |
@@ -171,6 +170,32 @@ def set_credentials(self, credentials: SyncCredentials): |
171 | 170 | credentials.secret, |
172 | 171 | len(credentials.secret)) |
173 | 172 |
|
| 173 | + def set_multiple_credentials(self, credentials_list: list[SyncCredentials]): |
| 174 | + if len(credentials_list) == 0: |
| 175 | + raise ValueError("Provide at least one credential") |
| 176 | + |
| 177 | + for i in range(len(credentials_list)): |
| 178 | + is_last = (i == len(credentials_list) - 1) |
| 179 | + credentials = credentials_list[i] |
| 180 | + |
| 181 | + if isinstance(credentials, SyncCredentialsNone): |
| 182 | + raise ValueError("SyncCredentials.none() is not supported, use set_credentials() instead") |
| 183 | + |
| 184 | + if isinstance(credentials, SyncCredentialsUserPassword): |
| 185 | + c.obx_sync_credentials_add_user_password(self.__c_sync_client_ptr, |
| 186 | + credentials.type, |
| 187 | + credentials.username.encode('utf-8'), |
| 188 | + credentials.password.encode('utf-8'), |
| 189 | + is_last |
| 190 | + ) |
| 191 | + elif isinstance(credentials, SyncCredentialsSecret): |
| 192 | + c.obx_sync_credentials_add(self.__c_sync_client_ptr, |
| 193 | + credentials.type, |
| 194 | + credentials.secret, |
| 195 | + len(credentials.secret), |
| 196 | + is_last) |
| 197 | + |
| 198 | + |
174 | 199 | def set_request_updates_mode(self, mode: SyncRequestUpdatesMode): |
175 | 200 | if mode == SyncRequestUpdatesMode.MANUAL: |
176 | 201 | c_mode = c.RequestUpdatesMode.MANUAL |
|
0 commit comments