@@ -913,6 +913,94 @@ def __init__(self, *args, entity_name='fields_definition',
913913 def url (self ) -> str :
914914 return self .threescale_client .admin_api_url + '/fields_definitions'
915915
916+
917+ class CmsClient (DefaultClient ):
918+ def __init__ (self , * args , ** kwargs ):
919+ super ().__init__ (* args , ** kwargs )
920+
921+ def _list (self , ** kwargs ):
922+ if "page" in kwargs .get ("params" , {}):
923+ return super ()._list (** kwargs )
924+
925+ pagenum = 1
926+
927+ kwargs = kwargs .copy ()
928+ if "params" not in kwargs :
929+ kwargs ["params" ] = {}
930+
931+ kwargs ["params" ]["page" ] = pagenum
932+ kwargs ["params" ]["per_page" ] = 100
933+
934+ page = super ()._list (** kwargs )
935+
936+ while len (page ):
937+ for i in page :
938+ yield i
939+ pagenum += 1
940+ kwargs ["params" ]["page" ] = pagenum
941+ page = super ()._list (** kwargs )
942+
943+ def __iter__ (self ):
944+ return self ._list ()
945+
946+
947+ class CmsFiles (CmsClient ):
948+ def __init__ (self , * args , entity_name = 'file' , entity_collection = 'files' , ** kwargs ):
949+ super ().__init__ (* args , entity_name = entity_name ,
950+ entity_collection = entity_collection , ** kwargs )
951+
952+ @property
953+ def url (self ) -> str :
954+ return self .threescale_client .admin_api_url + '/cms/files'
955+
956+
957+ class CmsSections (CmsClient ):
958+ def __init__ (self , * args , entity_name = 'section' , entity_collection = 'sections' , ** kwargs ):
959+ super ().__init__ (* args , entity_name = entity_name ,
960+ entity_collection = entity_collection , ** kwargs )
961+
962+ @property
963+ def url (self ) -> str :
964+ return self .threescale_client .admin_api_url + '/cms/sections'
965+
966+ class CmsBuiltinSections (CmsSections ):
967+ def __init__ (self , * args , entity_name = 'builtin_section' , entity_collection = 'sections' , ** kwargs ):
968+ super ().__init__ (* args , entity_name = entity_name ,
969+ entity_collection = entity_collection , ** kwargs )
970+
971+
972+ class CmsTemplates (CmsClient ):
973+ def __init__ (self , * args , entity_collection = 'templates' , ** kwargs ):
974+ super ().__init__ (* args , entity_collection = entity_collection , ** kwargs )
975+
976+ @property
977+ def url (self ) -> str :
978+ return self .threescale_client .admin_api_url + '/cms/templates'
979+
980+
981+ class CmsPages (CmsTemplates ):
982+ def __init__ (self , * args , entity_name = 'page' , ** kwargs ):
983+ super ().__init__ (* args , entity_name = entity_name , ** kwargs )
984+
985+
986+ class CmsBuiltinPages (CmsTemplates ):
987+ def __init__ (self , * args , entity_name = 'builtin_page' , ** kwargs ):
988+ super ().__init__ (* args , entity_name = entity_name , ** kwargs )
989+
990+
991+ class CmsLayouts (CmsTemplates ):
992+ def __init__ (self , * args , entity_name = 'layout' , ** kwargs ):
993+ super ().__init__ (* args , entity_name = entity_name , ** kwargs )
994+
995+
996+ class CmsPartials (CmsTemplates ):
997+ def __init__ (self , * args , entity_name = 'partial' , ** kwargs ):
998+ super ().__init__ (* args , entity_name = entity_name , ** kwargs )
999+
1000+
1001+ class CmsBuiltinPartials (CmsTemplates ):
1002+ def __init__ (self , * args , entity_name = 'builtin_partial' , ** kwargs ):
1003+ super ().__init__ (* args , entity_name = entity_name , ** kwargs )
9161004# Resources
9171005
9181006
@@ -1462,3 +1550,28 @@ def __init__(self, entity_name='name', **kwargs):
14621550class DevPortalAuthProvider (DefaultResource ):
14631551 def __init__ (self , entity_name = 'name' , ** kwargs ):
14641552 super ().__init__ (entity_name = entity_name , ** kwargs )
1553+
1554+
1555+ class CmsFile (DefaultResource ):
1556+ def __init__ (self , entity_name = 'path' , ** kwargs ):
1557+ super ().__init__ (entity_name = entity_name , ** kwargs )
1558+
1559+
1560+ class CmsSection (DefaultResource ):
1561+ def __init__ (self , entity_name = 'id' , ** kwargs ):
1562+ super ().__init__ (entity_name = entity_name , ** kwargs )
1563+
1564+
1565+ class CmsPage (DefaultResource ):
1566+ def __init__ (self , entity_name = 'system_name' , ** kwargs ):
1567+ super ().__init__ (entity_name = entity_name , ** kwargs )
1568+
1569+
1570+ class CmsLayout (DefaultResource ):
1571+ def __init__ (self , entity_name = 'system_name' , ** kwargs ):
1572+ super ().__init__ (entity_name = entity_name , ** kwargs )
1573+
1574+
1575+ class CmsPartial (DefaultResource ):
1576+ def __init__ (self , entity_name = 'system_name' , ** kwargs ):
1577+ super ().__init__ (entity_name = entity_name , ** kwargs )
0 commit comments