Ë
    €Ï¶  ã                   ób   — d Z ddlmZ ddlmZ ddlmZ ddlmZ d„ Z	 	 	 dd„Z	 dd	„Z	d
„ Z
d„ Zy)zKUseful commands for interacting with the Cloud Firestore Import/Export API.é    )Úabsolute_import)Údivision)Úunicode_literals)Ú	api_utilsc                  ó>   — t        j                  «       j                  S )zEReturns the service for interacting with the Datastore Admin service.)r   Ú	GetClientÚprojects_databases© ó    ú4lib/googlecloudsdk/api_lib/firestore/importexport.pyÚ_GetDatabaseServicer      s   € ä	×	Ñ	Ó	×	1Ñ	1Ð1r   Nc                 óŽ   — t        j                  «       }|j                  ||r|ng |r|ng |¬«      }|j                  | |¬«      }|S )a¿  Returns a request for a Firestore Admin Export.

  Args:
    database: the database id to export, a string.
    output_uri_prefix: the output GCS path prefix, a string.
    namespace_ids: a string list of namespace ids to export.
    collection_ids: a string list of collection ids to export.
    snapshot_time: the version of the database to export, as string in
      google-datetime format.

  Returns:
    an ExportDocumentsRequest message.
  )ÚoutputUriPrefixÚnamespaceIdsÚcollectionIdsÚsnapshotTime)ÚnameÚ,googleFirestoreAdminV1ExportDocumentsRequest)r   ÚGetMessagesÚ,GoogleFirestoreAdminV1ExportDocumentsRequestÚ0FirestoreProjectsDatabasesExportDocumentsRequest)ÚdatabaseÚoutput_uri_prefixÚnamespace_idsÚcollection_idsÚsnapshot_timeÚmessagesÚexport_requestÚrequests           r   ÚGetExportDocumentsRequestr       s`   € ô( ×"Ñ"Ó$€(Ø×HÑHØ'Ù$1‘=°rÙ&4‘N¸"Ø ð	 Ió €.ð ×EÑEØÀ.ð Fó €'ð 
€.r   c                 óœ   — t        j                  «       }|j                  }d|i}|r||d<   |r||d<    |di |¤Ž}|j                  | |¬«      S )ac  Returns a request for a Firestore Admin Import.

  Args:
    database: the database id to import, a string.
    input_uri_prefix: the location of the GCS export files, a string.
    namespace_ids: a string list of namespace ids to import.
    collection_ids: a string list of collection ids to import.

  Returns:
    an ImportDocumentsRequest message.
  ÚinputUriPrefixr   r   )r   Ú,googleFirestoreAdminV1ImportDocumentsRequestr
   )r   r   Ú,GoogleFirestoreAdminV1ImportDocumentsRequestÚ0FirestoreProjectsDatabasesImportDocumentsRequest)r   Úinput_uri_prefixr   r   r   Úrequest_classÚkwargsÚimport_requests           r   ÚGetImportDocumentsRequestr*   ?   sm   € ô ×"Ñ"Ó$€(Ø×GÑG€-àÐ.Ð/€&ÙØ,€Fˆ?ÑáØ*€Fˆ>Ñá Ñ* 6Ñ*€.à	×	BÑ	BØÀ.ð 
Có 
ð r   c           	      ót   — dj                  | |«      }t        «       j                  t        |||||¬«      «      S )aÊ  Performs a Firestore Admin Export.

  Args:
    project: the project id to export, a string.
    database: the databae id to import, a string.
    output_uri_prefix: the output GCS path prefix, a string.
    namespace_ids: a string list of namespace ids to import.
    collection_ids: a string list of collections to export.
    snapshot_time: the version of the database to export, as string in
      google-datetime format.

  Returns:
    an Operation.
  úprojects/{}/databases/{})r   r   r   r   r   )Úformatr   ÚExportDocumentsr    )Úprojectr   r   r   r   r   Údbnames          r   ÚExportr1   ^   sC   € ð, &×,Ñ,¨W°hÓ?€&Ü	Ó	×	.Ñ	.ÜØØ-Ø%Ø'Ø%ôó
ð r   c                 ór   — dj                  | |«      }t        «       j                  t        ||||¬«      «      S )aw  Performs a Firestore Admin v1 Import.

  Args:
    project: the project id to import, a string.
    database: the databae id to import, a string.
    input_uri_prefix: the input uri prefix of the exported files, a string.
    namespace_ids: a string list of namespace ids to import.
    collection_ids: a string list of collections to import.

  Returns:
    an Operation.
  r,   )r   r&   r   r   )r-   r   ÚImportDocumentsr*   )r/   r   r&   r   r   r0   s         r   ÚImportr4   €   s@   € ð &×,Ñ,¨W°hÓ?€&Ü	Ó	×	.Ñ	.ÜØØ+Ø%Ø'ô	ó
ð r   )NNN)NN)Ú__doc__Ú
__future__r   r   r   Ú googlecloudsdk.api_lib.firestorer   r   r    r*   r1   r4   r
   r   r   Ú<module>r8      sD   ðñ Rå &Ý Ý 'å 6ò2ð ØØóðF DHóò>óDr   