MCPcopy
hub / github.com/daptin/daptin / CreateFtpServers

Function CreateFtpServers

server/endpoint_ftp.go:15–57  ·  view source on GitHub ↗
(resources map[string]*resource.DbResource, resourcesInterfaces map[string]dbresourceinterface.DbResourceInterface, certManager *resource.CertificateManager, ftp_interface string, transaction *sqlx.Tx)

Source from the content-addressed store, hash-verified

13)
14
15func CreateFtpServers(resources map[string]*resource.DbResource, resourcesInterfaces map[string]dbresourceinterface.DbResourceInterface, certManager *resource.CertificateManager, ftp_interface string, transaction *sqlx.Tx) (*server.FtpServer, error) {
16
17 subsites, err := subsite.GetAllSites(resourcesInterfaces["site"], transaction)
18 if err != nil {
19 return nil, err
20 }
21 cloudStores, err := cloud_store.GetAllCloudStores(resourcesInterfaces["cloud_store"], transaction)
22
23 if err != nil {
24 return nil, err
25 }
26 cloudStoreMap := make(map[uuid.UUID]rootpojo.CloudStore)
27 for _, cloudStore := range cloudStores {
28 re, _ := uuid.FromBytes(cloudStore.ReferenceId[:])
29 cloudStoreMap[re] = cloudStore
30 }
31 var driver *DaptinFtpDriver
32
33 sites := make([]SubSiteAssetCache, 0)
34 for _, ftpServer := range subsites {
35
36 if !ftpServer.FtpEnabled {
37 continue
38 }
39
40 assetCacheFolder, ok := resourcesInterfaces["site"].SubsiteFolderCache(ftpServer.ReferenceId)
41 if !ok {
42 continue
43 }
44 site := SubSiteAssetCache{
45 SubSite: ftpServer,
46 AssetFolderCache: assetCacheFolder,
47 }
48 sites = append(sites, site)
49
50 }
51
52 driver, err = NewDaptinFtpDriver(resources, certManager, ftp_interface, sites)
53 ftpS := server.NewFtpServer(driver)
54 resource.CheckErr(err, "Failed to create daptin ftp driver [%v]", driver)
55 return ftpS, err
56
57}
58
59type SubSiteAssetCache struct {
60 subsite.SubSite

Callers 1

InitializeFtpResourcesFunction · 0.85

Calls 6

GetAllSitesFunction · 0.92
GetAllCloudStoresFunction · 0.92
CheckErrFunction · 0.92
makeFunction · 0.85
NewDaptinFtpDriverFunction · 0.85
SubsiteFolderCacheMethod · 0.65

Tested by

no test coverage detected