chore: remove cloud storage remainings (#1934)
This commit is contained in:
parent
0e6b0da142
commit
703a8e5856
|
@ -0,0 +1,39 @@
|
||||||
|
# pylint: disable=invalid-name
|
||||||
|
|
||||||
|
from django.db import migrations
|
||||||
|
|
||||||
|
from ._migrations import legacy_migration_factory
|
||||||
|
|
||||||
|
UP = """
|
||||||
|
DROP TABLE IF EXISTS "cloud_file" CASCADE;
|
||||||
|
"""
|
||||||
|
|
||||||
|
DOWN = """
|
||||||
|
CREATE TABLE "cloud_file"
|
||||||
|
(
|
||||||
|
"id" serial NOT NULL,
|
||||||
|
"storage_backend" VARCHAR(512) NOT NULL,
|
||||||
|
"resource_id" TEXT NOT NULL,
|
||||||
|
"cc_file_id" INTEGER,
|
||||||
|
PRIMARY KEY ("id")
|
||||||
|
);
|
||||||
|
|
||||||
|
ALTER TABLE "cloud_file" ADD CONSTRAINT "cloud_file_FK_1"
|
||||||
|
FOREIGN KEY ("cc_file_id")
|
||||||
|
REFERENCES "cc_files" ("id")
|
||||||
|
ON DELETE CASCADE;
|
||||||
|
"""
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
dependencies = [
|
||||||
|
("legacy", "0033_3_0_0_alpha_13_7"),
|
||||||
|
]
|
||||||
|
operations = [
|
||||||
|
migrations.RunPython(
|
||||||
|
code=legacy_migration_factory(
|
||||||
|
target="3.0.0-alpha.13.8",
|
||||||
|
sql=UP,
|
||||||
|
)
|
||||||
|
)
|
||||||
|
]
|
|
@ -1 +1 @@
|
||||||
LEGACY_SCHEMA_VERSION = "3.0.0-alpha.13.7"
|
LEGACY_SCHEMA_VERSION = "3.0.0-alpha.13.8"
|
||||||
|
|
|
@ -100,21 +100,6 @@ CREATE TABLE "cc_track_types"
|
||||||
CONSTRAINT "cc_track_types_code_idx" UNIQUE ("code")
|
CONSTRAINT "cc_track_types_code_idx" UNIQUE ("code")
|
||||||
);
|
);
|
||||||
|
|
||||||
-----------------------------------------------------------------------
|
|
||||||
-- cloud_file
|
|
||||||
-----------------------------------------------------------------------
|
|
||||||
|
|
||||||
DROP TABLE IF EXISTS "cloud_file" CASCADE;
|
|
||||||
|
|
||||||
CREATE TABLE "cloud_file"
|
|
||||||
(
|
|
||||||
"id" serial NOT NULL,
|
|
||||||
"storage_backend" VARCHAR(512) NOT NULL,
|
|
||||||
"resource_id" TEXT NOT NULL,
|
|
||||||
"cc_file_id" INTEGER,
|
|
||||||
PRIMARY KEY ("id")
|
|
||||||
);
|
|
||||||
|
|
||||||
-----------------------------------------------------------------------
|
-----------------------------------------------------------------------
|
||||||
-- cc_show
|
-- cc_show
|
||||||
-----------------------------------------------------------------------
|
-----------------------------------------------------------------------
|
||||||
|
@ -735,11 +720,6 @@ ALTER TABLE "cc_files" ADD CONSTRAINT "cc_files_editedby_fkey"
|
||||||
FOREIGN KEY ("editedby")
|
FOREIGN KEY ("editedby")
|
||||||
REFERENCES "cc_subjs" ("id");
|
REFERENCES "cc_subjs" ("id");
|
||||||
|
|
||||||
ALTER TABLE "cloud_file" ADD CONSTRAINT "cloud_file_FK_1"
|
|
||||||
FOREIGN KEY ("cc_file_id")
|
|
||||||
REFERENCES "cc_files" ("id")
|
|
||||||
ON DELETE CASCADE;
|
|
||||||
|
|
||||||
ALTER TABLE "cc_show" ADD CONSTRAINT "cc_playlist_autoplaylist_fkey"
|
ALTER TABLE "cc_show" ADD CONSTRAINT "cc_playlist_autoplaylist_fkey"
|
||||||
FOREIGN KEY ("autoplaylist_id")
|
FOREIGN KEY ("autoplaylist_id")
|
||||||
REFERENCES "cc_playlist" ("id")
|
REFERENCES "cc_playlist" ("id")
|
||||||
|
|
|
@ -1,3 +1,2 @@
|
||||||
from .cloud_file import CloudFile
|
|
||||||
from .file import File
|
from .file import File
|
||||||
from .library import Library
|
from .library import Library
|
||||||
|
|
|
@ -1,17 +0,0 @@
|
||||||
from django.db import models
|
|
||||||
|
|
||||||
|
|
||||||
class CloudFile(models.Model):
|
|
||||||
storage_backend = models.CharField(max_length=512)
|
|
||||||
resource_id = models.TextField()
|
|
||||||
filename = models.ForeignKey(
|
|
||||||
"storage.File",
|
|
||||||
on_delete=models.DO_NOTHING,
|
|
||||||
blank=True,
|
|
||||||
null=True,
|
|
||||||
db_column="cc_file_id",
|
|
||||||
)
|
|
||||||
|
|
||||||
class Meta:
|
|
||||||
managed = False
|
|
||||||
db_table = "cloud_file"
|
|
|
@ -1,8 +1,7 @@
|
||||||
from rest_framework import routers
|
from rest_framework import routers
|
||||||
|
|
||||||
from .views import CloudFileViewSet, FileViewSet, LibraryViewSet
|
from .views import FileViewSet, LibraryViewSet
|
||||||
|
|
||||||
router = routers.DefaultRouter()
|
router = routers.DefaultRouter()
|
||||||
router.register("files", FileViewSet)
|
router.register("files", FileViewSet)
|
||||||
router.register("cloud-files", CloudFileViewSet)
|
|
||||||
router.register("libraries", LibraryViewSet)
|
router.register("libraries", LibraryViewSet)
|
||||||
|
|
|
@ -1,3 +1,2 @@
|
||||||
from .cloud_file import CloudFileSerializer
|
|
||||||
from .file import FileSerializer
|
from .file import FileSerializer
|
||||||
from .library import LibrarySerializer
|
from .library import LibrarySerializer
|
||||||
|
|
|
@ -1,9 +0,0 @@
|
||||||
from rest_framework import serializers
|
|
||||||
|
|
||||||
from ..models import CloudFile
|
|
||||||
|
|
||||||
|
|
||||||
class CloudFileSerializer(serializers.HyperlinkedModelSerializer):
|
|
||||||
class Meta:
|
|
||||||
model = CloudFile
|
|
||||||
fields = "__all__"
|
|
|
@ -1,3 +1,2 @@
|
||||||
from .cloud_file import CloudFileViewSet
|
|
||||||
from .file import FileViewSet
|
from .file import FileViewSet
|
||||||
from .library import LibraryViewSet
|
from .library import LibraryViewSet
|
||||||
|
|
|
@ -1,10 +0,0 @@
|
||||||
from rest_framework import viewsets
|
|
||||||
|
|
||||||
from ..models import CloudFile
|
|
||||||
from ..serializers import CloudFileSerializer
|
|
||||||
|
|
||||||
|
|
||||||
class CloudFileViewSet(viewsets.ModelViewSet):
|
|
||||||
queryset = CloudFile.objects.all()
|
|
||||||
serializer_class = CloudFileSerializer
|
|
||||||
model_permission_name = "cloudfile"
|
|
183
api/schema.yml
183
api/schema.yml
|
@ -151,153 +151,6 @@ paths:
|
||||||
responses:
|
responses:
|
||||||
"204":
|
"204":
|
||||||
description: No response body
|
description: No response body
|
||||||
/api/v2/cloud-files/:
|
|
||||||
get:
|
|
||||||
operationId: cloud_files_list
|
|
||||||
tags:
|
|
||||||
- cloud-files
|
|
||||||
security:
|
|
||||||
- cookieAuth: []
|
|
||||||
- basicAuth: []
|
|
||||||
responses:
|
|
||||||
"200":
|
|
||||||
content:
|
|
||||||
application/json:
|
|
||||||
schema:
|
|
||||||
type: array
|
|
||||||
items:
|
|
||||||
$ref: "#/components/schemas/CloudFile"
|
|
||||||
description: ""
|
|
||||||
post:
|
|
||||||
operationId: cloud_files_create
|
|
||||||
tags:
|
|
||||||
- cloud-files
|
|
||||||
requestBody:
|
|
||||||
content:
|
|
||||||
application/json:
|
|
||||||
schema:
|
|
||||||
$ref: "#/components/schemas/CloudFile"
|
|
||||||
application/x-www-form-urlencoded:
|
|
||||||
schema:
|
|
||||||
$ref: "#/components/schemas/CloudFile"
|
|
||||||
multipart/form-data:
|
|
||||||
schema:
|
|
||||||
$ref: "#/components/schemas/CloudFile"
|
|
||||||
required: true
|
|
||||||
security:
|
|
||||||
- cookieAuth: []
|
|
||||||
- basicAuth: []
|
|
||||||
responses:
|
|
||||||
"201":
|
|
||||||
content:
|
|
||||||
application/json:
|
|
||||||
schema:
|
|
||||||
$ref: "#/components/schemas/CloudFile"
|
|
||||||
description: ""
|
|
||||||
/api/v2/cloud-files/{id}/:
|
|
||||||
get:
|
|
||||||
operationId: cloud_files_retrieve
|
|
||||||
parameters:
|
|
||||||
- in: path
|
|
||||||
name: id
|
|
||||||
schema:
|
|
||||||
type: integer
|
|
||||||
description: A unique integer value identifying this cloud file.
|
|
||||||
required: true
|
|
||||||
tags:
|
|
||||||
- cloud-files
|
|
||||||
security:
|
|
||||||
- cookieAuth: []
|
|
||||||
- basicAuth: []
|
|
||||||
responses:
|
|
||||||
"200":
|
|
||||||
content:
|
|
||||||
application/json:
|
|
||||||
schema:
|
|
||||||
$ref: "#/components/schemas/CloudFile"
|
|
||||||
description: ""
|
|
||||||
put:
|
|
||||||
operationId: cloud_files_update
|
|
||||||
parameters:
|
|
||||||
- in: path
|
|
||||||
name: id
|
|
||||||
schema:
|
|
||||||
type: integer
|
|
||||||
description: A unique integer value identifying this cloud file.
|
|
||||||
required: true
|
|
||||||
tags:
|
|
||||||
- cloud-files
|
|
||||||
requestBody:
|
|
||||||
content:
|
|
||||||
application/json:
|
|
||||||
schema:
|
|
||||||
$ref: "#/components/schemas/CloudFile"
|
|
||||||
application/x-www-form-urlencoded:
|
|
||||||
schema:
|
|
||||||
$ref: "#/components/schemas/CloudFile"
|
|
||||||
multipart/form-data:
|
|
||||||
schema:
|
|
||||||
$ref: "#/components/schemas/CloudFile"
|
|
||||||
required: true
|
|
||||||
security:
|
|
||||||
- cookieAuth: []
|
|
||||||
- basicAuth: []
|
|
||||||
responses:
|
|
||||||
"200":
|
|
||||||
content:
|
|
||||||
application/json:
|
|
||||||
schema:
|
|
||||||
$ref: "#/components/schemas/CloudFile"
|
|
||||||
description: ""
|
|
||||||
patch:
|
|
||||||
operationId: cloud_files_partial_update
|
|
||||||
parameters:
|
|
||||||
- in: path
|
|
||||||
name: id
|
|
||||||
schema:
|
|
||||||
type: integer
|
|
||||||
description: A unique integer value identifying this cloud file.
|
|
||||||
required: true
|
|
||||||
tags:
|
|
||||||
- cloud-files
|
|
||||||
requestBody:
|
|
||||||
content:
|
|
||||||
application/json:
|
|
||||||
schema:
|
|
||||||
$ref: "#/components/schemas/PatchedCloudFile"
|
|
||||||
application/x-www-form-urlencoded:
|
|
||||||
schema:
|
|
||||||
$ref: "#/components/schemas/PatchedCloudFile"
|
|
||||||
multipart/form-data:
|
|
||||||
schema:
|
|
||||||
$ref: "#/components/schemas/PatchedCloudFile"
|
|
||||||
security:
|
|
||||||
- cookieAuth: []
|
|
||||||
- basicAuth: []
|
|
||||||
responses:
|
|
||||||
"200":
|
|
||||||
content:
|
|
||||||
application/json:
|
|
||||||
schema:
|
|
||||||
$ref: "#/components/schemas/CloudFile"
|
|
||||||
description: ""
|
|
||||||
delete:
|
|
||||||
operationId: cloud_files_destroy
|
|
||||||
parameters:
|
|
||||||
- in: path
|
|
||||||
name: id
|
|
||||||
schema:
|
|
||||||
type: integer
|
|
||||||
description: A unique integer value identifying this cloud file.
|
|
||||||
required: true
|
|
||||||
tags:
|
|
||||||
- cloud-files
|
|
||||||
security:
|
|
||||||
- cookieAuth: []
|
|
||||||
- basicAuth: []
|
|
||||||
responses:
|
|
||||||
"204":
|
|
||||||
description: No response body
|
|
||||||
/api/v2/countries/:
|
/api/v2/countries/:
|
||||||
get:
|
get:
|
||||||
operationId: countries_list
|
operationId: countries_list
|
||||||
|
@ -5791,26 +5644,6 @@ components:
|
||||||
- status
|
- status
|
||||||
- task_id
|
- task_id
|
||||||
- track_reference
|
- track_reference
|
||||||
CloudFile:
|
|
||||||
type: object
|
|
||||||
properties:
|
|
||||||
item_url:
|
|
||||||
type: string
|
|
||||||
format: uri
|
|
||||||
readOnly: true
|
|
||||||
storage_backend:
|
|
||||||
type: string
|
|
||||||
maxLength: 512
|
|
||||||
resource_id:
|
|
||||||
type: string
|
|
||||||
filename:
|
|
||||||
type: string
|
|
||||||
format: uri
|
|
||||||
nullable: true
|
|
||||||
required:
|
|
||||||
- item_url
|
|
||||||
- resource_id
|
|
||||||
- storage_backend
|
|
||||||
Country:
|
Country:
|
||||||
type: object
|
type: object
|
||||||
properties:
|
properties:
|
||||||
|
@ -6238,22 +6071,6 @@ components:
|
||||||
track_reference:
|
track_reference:
|
||||||
type: string
|
type: string
|
||||||
format: uri
|
format: uri
|
||||||
PatchedCloudFile:
|
|
||||||
type: object
|
|
||||||
properties:
|
|
||||||
item_url:
|
|
||||||
type: string
|
|
||||||
format: uri
|
|
||||||
readOnly: true
|
|
||||||
storage_backend:
|
|
||||||
type: string
|
|
||||||
maxLength: 512
|
|
||||||
resource_id:
|
|
||||||
type: string
|
|
||||||
filename:
|
|
||||||
type: string
|
|
||||||
format: uri
|
|
||||||
nullable: true
|
|
||||||
PatchedCountry:
|
PatchedCountry:
|
||||||
type: object
|
type: object
|
||||||
properties:
|
properties:
|
||||||
|
|
|
@ -49,9 +49,6 @@ set_include_path(APPLICATION_PATH . '/controllers/plugins' . PATH_SEPARATOR . ge
|
||||||
// Services.
|
// Services.
|
||||||
set_include_path(APPLICATION_PATH . '/services' . PATH_SEPARATOR . get_include_path());
|
set_include_path(APPLICATION_PATH . '/services' . PATH_SEPARATOR . get_include_path());
|
||||||
|
|
||||||
// cloud storage directory
|
|
||||||
set_include_path(APPLICATION_PATH . '/cloud_storage' . PATH_SEPARATOR . get_include_path());
|
|
||||||
|
|
||||||
// Upgrade directory
|
// Upgrade directory
|
||||||
set_include_path(APPLICATION_PATH . '/upgrade' . PATH_SEPARATOR . get_include_path());
|
set_include_path(APPLICATION_PATH . '/upgrade' . PATH_SEPARATOR . get_include_path());
|
||||||
|
|
||||||
|
|
|
@ -1,30 +0,0 @@
|
||||||
<?php
|
|
||||||
|
|
||||||
class FileStorageBackend extends StorageBackend
|
|
||||||
{
|
|
||||||
public function getAbsoluteFilePath($resourceId)
|
|
||||||
{
|
|
||||||
// TODO
|
|
||||||
return $resourceId;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function getDownloadURLs($resourceId, $contentDispositionFilename)
|
|
||||||
{
|
|
||||||
return '';
|
|
||||||
}
|
|
||||||
|
|
||||||
public function deletePhysicalFile($resourceId)
|
|
||||||
{
|
|
||||||
// TODO
|
|
||||||
}
|
|
||||||
|
|
||||||
public function deleteAllCloudFileObjects()
|
|
||||||
{
|
|
||||||
return '';
|
|
||||||
}
|
|
||||||
|
|
||||||
public function getFilePrefix()
|
|
||||||
{
|
|
||||||
return '';
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,54 +0,0 @@
|
||||||
<?php
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Controls access to the storage backend class where a file is stored.
|
|
||||||
*/
|
|
||||||
class ProxyStorageBackend extends StorageBackend
|
|
||||||
{
|
|
||||||
private $storageBackend;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Receives the file's storage backend and instantiates the appropriate
|
|
||||||
* object.
|
|
||||||
*
|
|
||||||
* @param mixed $storageBackend
|
|
||||||
*/
|
|
||||||
public function __construct($storageBackend)
|
|
||||||
{
|
|
||||||
$CC_CONFIG = Config::getConfig();
|
|
||||||
|
|
||||||
// The storage backend in the config file directly corresponds to
|
|
||||||
// the name of the class that implements it, so we can create the
|
|
||||||
// right backend object dynamically:
|
|
||||||
if ($storageBackend == 'file') {
|
|
||||||
$this->storageBackend = new FileStorageBackend();
|
|
||||||
} else {
|
|
||||||
$this->storageBackend = new $storageBackend($CC_CONFIG[$storageBackend]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public function getAbsoluteFilePath($resourceId)
|
|
||||||
{
|
|
||||||
return $this->storageBackend->getAbsoluteFilePath($resourceId);
|
|
||||||
}
|
|
||||||
|
|
||||||
public function getDownloadURLs($resourceId, $contentDispositionFilename)
|
|
||||||
{
|
|
||||||
return $this->storageBackend->getDownloadURLs($resourceId, $contentDispositionFilename);
|
|
||||||
}
|
|
||||||
|
|
||||||
public function deletePhysicalFile($resourceId)
|
|
||||||
{
|
|
||||||
$this->storageBackend->deletePhysicalFile($resourceId);
|
|
||||||
}
|
|
||||||
|
|
||||||
public function deleteAllCloudFileObjects()
|
|
||||||
{
|
|
||||||
$this->storageBackend->deleteAllCloudFileObjects();
|
|
||||||
}
|
|
||||||
|
|
||||||
public function getFilePrefix()
|
|
||||||
{
|
|
||||||
return $this->storageBackend->getFilePrefix();
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,60 +0,0 @@
|
||||||
<?php
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Provides access to file objects stored on a specific storage backend.
|
|
||||||
*/
|
|
||||||
abstract class StorageBackend
|
|
||||||
{
|
|
||||||
private $bucket;
|
|
||||||
private $accessKey;
|
|
||||||
private $secretKey;
|
|
||||||
|
|
||||||
/** Returns the file object's URL to the storage backend it is located on. */
|
|
||||||
abstract public function getAbsoluteFilePath($resourceId);
|
|
||||||
|
|
||||||
/** Returns the file object's signed URL. The URL must be signed since they.
|
|
||||||
* @param mixed $resourceId
|
|
||||||
* @param mixed $contentDispositionFilename
|
|
||||||
* privately stored on the storage backend. */
|
|
||||||
abstract public function getDownloadURLs($resourceId, $contentDispositionFilename);
|
|
||||||
|
|
||||||
/** Deletes the file from the storage backend. */
|
|
||||||
abstract public function deletePhysicalFile($resourceId);
|
|
||||||
|
|
||||||
/** Deletes all objects (files) stored on the cloud service. To be used
|
|
||||||
* for station termination */
|
|
||||||
abstract public function deleteAllCloudFileObjects();
|
|
||||||
|
|
||||||
/** Get a prefix for the file (which is usually treated like a directory in the cloud) */
|
|
||||||
abstract public function getFilePrefix();
|
|
||||||
|
|
||||||
protected function getBucket()
|
|
||||||
{
|
|
||||||
return $this->bucket;
|
|
||||||
}
|
|
||||||
|
|
||||||
protected function setBucket($bucket)
|
|
||||||
{
|
|
||||||
$this->bucket = $bucket;
|
|
||||||
}
|
|
||||||
|
|
||||||
protected function getAccessKey()
|
|
||||||
{
|
|
||||||
return $this->accessKey;
|
|
||||||
}
|
|
||||||
|
|
||||||
protected function setAccessKey($accessKey)
|
|
||||||
{
|
|
||||||
$this->accessKey = $accessKey;
|
|
||||||
}
|
|
||||||
|
|
||||||
protected function getSecretKey()
|
|
||||||
{
|
|
||||||
return $this->secretKey;
|
|
||||||
}
|
|
||||||
|
|
||||||
protected function setSecretKey($secretKey)
|
|
||||||
{
|
|
||||||
$this->secretKey = $secretKey;
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -95,9 +95,6 @@ return [
|
||||||
'BaseCeleryTasks' => 'airtime/om/BaseCeleryTasks.php',
|
'BaseCeleryTasks' => 'airtime/om/BaseCeleryTasks.php',
|
||||||
'BaseCeleryTasksPeer' => 'airtime/om/BaseCeleryTasksPeer.php',
|
'BaseCeleryTasksPeer' => 'airtime/om/BaseCeleryTasksPeer.php',
|
||||||
'BaseCeleryTasksQuery' => 'airtime/om/BaseCeleryTasksQuery.php',
|
'BaseCeleryTasksQuery' => 'airtime/om/BaseCeleryTasksQuery.php',
|
||||||
'BaseCloudFile' => 'airtime/om/BaseCloudFile.php',
|
|
||||||
'BaseCloudFilePeer' => 'airtime/om/BaseCloudFilePeer.php',
|
|
||||||
'BaseCloudFileQuery' => 'airtime/om/BaseCloudFileQuery.php',
|
|
||||||
'BaseImportedPodcast' => 'airtime/om/BaseImportedPodcast.php',
|
'BaseImportedPodcast' => 'airtime/om/BaseImportedPodcast.php',
|
||||||
'BaseImportedPodcastPeer' => 'airtime/om/BaseImportedPodcastPeer.php',
|
'BaseImportedPodcastPeer' => 'airtime/om/BaseImportedPodcastPeer.php',
|
||||||
'BaseImportedPodcastQuery' => 'airtime/om/BaseImportedPodcastQuery.php',
|
'BaseImportedPodcastQuery' => 'airtime/om/BaseImportedPodcastQuery.php',
|
||||||
|
@ -237,10 +234,6 @@ return [
|
||||||
'CeleryTasksPeer' => 'airtime/CeleryTasksPeer.php',
|
'CeleryTasksPeer' => 'airtime/CeleryTasksPeer.php',
|
||||||
'CeleryTasksQuery' => 'airtime/CeleryTasksQuery.php',
|
'CeleryTasksQuery' => 'airtime/CeleryTasksQuery.php',
|
||||||
'CeleryTasksTableMap' => 'airtime/map/CeleryTasksTableMap.php',
|
'CeleryTasksTableMap' => 'airtime/map/CeleryTasksTableMap.php',
|
||||||
'CloudFile' => 'airtime/CloudFile.php',
|
|
||||||
'CloudFilePeer' => 'airtime/CloudFilePeer.php',
|
|
||||||
'CloudFileQuery' => 'airtime/CloudFileQuery.php',
|
|
||||||
'CloudFileTableMap' => 'airtime/map/CloudFileTableMap.php',
|
|
||||||
'ImportedPodcast' => 'airtime/ImportedPodcast.php',
|
'ImportedPodcast' => 'airtime/ImportedPodcast.php',
|
||||||
'ImportedPodcastPeer' => 'airtime/ImportedPodcastPeer.php',
|
'ImportedPodcastPeer' => 'airtime/ImportedPodcastPeer.php',
|
||||||
'ImportedPodcastQuery' => 'airtime/ImportedPodcastQuery.php',
|
'ImportedPodcastQuery' => 'airtime/ImportedPodcastQuery.php',
|
||||||
|
|
|
@ -122,10 +122,6 @@ class LibraryController extends Zend_Controller_Action
|
||||||
// $menu["publish"] = array("name"=> _("Publish..."), "url" => $baseUrl."library/publish/id/{$id}");
|
// $menu["publish"] = array("name"=> _("Publish..."), "url" => $baseUrl."library/publish/id/{$id}");
|
||||||
}
|
}
|
||||||
|
|
||||||
// It's important that we always return the parent id (cc_files id)
|
|
||||||
// and not the cloud_file id (if applicable) for track download.
|
|
||||||
// Our application logic (StoredFile.php) will determine if the track
|
|
||||||
// is a cloud_file and handle it appropriately.
|
|
||||||
$url = $baseUrl . "api/get-media/file/{$id}/download/true";
|
$url = $baseUrl . "api/get-media/file/{$id}/download/true";
|
||||||
$menu['download'] = ['name' => _('Download'), 'icon' => 'download', 'url' => $url];
|
$menu['download'] = ['name' => _('Download'), 'icon' => 'download', 'url' => $url];
|
||||||
} elseif ($type === 'playlist' || $type === 'block') {
|
} elseif ($type === 'playlist' || $type === 'block') {
|
||||||
|
|
|
@ -465,7 +465,6 @@ class PreferenceController extends Zend_Controller_Action
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->deleteFutureScheduleItems();
|
$this->deleteFutureScheduleItems();
|
||||||
$this->deleteCloudFiles();
|
|
||||||
$this->deleteStoredFiles();
|
$this->deleteStoredFiles();
|
||||||
|
|
||||||
$this->getResponse()
|
$this->getResponse()
|
||||||
|
@ -499,20 +498,6 @@ class PreferenceController extends Zend_Controller_Action
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private function deleteCloudFiles()
|
|
||||||
{
|
|
||||||
try {
|
|
||||||
$CC_CONFIG = Config::getConfig();
|
|
||||||
|
|
||||||
foreach ($CC_CONFIG['supportedStorageBackends'] as $storageBackend) {
|
|
||||||
$proxyStorageBackend = new ProxyStorageBackend($storageBackend);
|
|
||||||
$proxyStorageBackend->deleteAllCloudFileObjects();
|
|
||||||
}
|
|
||||||
} catch (Exception $e) {
|
|
||||||
Logging::info($e->getMessage());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private function deleteStoredFiles()
|
private function deleteStoredFiles()
|
||||||
{
|
{
|
||||||
// Delete all files from the database
|
// Delete all files from the database
|
||||||
|
|
|
@ -385,7 +385,7 @@ SQL;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Deletes the physical file from the local file system or from the cloud.
|
* Deletes the physical file from the local file system.
|
||||||
*
|
*
|
||||||
* @param mixed $quiet
|
* @param mixed $quiet
|
||||||
*/
|
*/
|
||||||
|
@ -412,7 +412,6 @@ SQL;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Delete the physical file from either the local stor directory
|
// Delete the physical file from either the local stor directory
|
||||||
// or from the cloud
|
|
||||||
if ($this->_file->getDbImportStatus() == CcFiles::IMPORT_STATUS_SUCCESS) {
|
if ($this->_file->getDbImportStatus() == CcFiles::IMPORT_STATUS_SUCCESS) {
|
||||||
try {
|
try {
|
||||||
$this->_file->deletePhysicalFile();
|
$this->_file->deletePhysicalFile();
|
||||||
|
@ -433,7 +432,7 @@ SQL;
|
||||||
// the file getting deleted
|
// the file getting deleted
|
||||||
self::updateBlockAndPlaylistLength($this->_file->getDbId());
|
self::updateBlockAndPlaylistLength($this->_file->getDbId());
|
||||||
|
|
||||||
// delete the file record from cc_files (and cloud_file, if applicable)
|
// delete the file record from cc_files
|
||||||
$this->_file->delete();
|
$this->_file->delete();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -616,16 +615,7 @@ SQL;
|
||||||
throw new Exception('Could not recall file with id: ' . $p_id);
|
throw new Exception('Could not recall file with id: ' . $p_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Attempt to get the cloud file object and return it. If no cloud
|
return self::createWithFile($storedFile, $con);
|
||||||
// file object is found then we are dealing with a regular stored
|
|
||||||
// object so return that
|
|
||||||
$cloudFile = CloudFileQuery::create()->findOneByCcFileId($p_id);
|
|
||||||
|
|
||||||
if (is_null($cloudFile)) {
|
|
||||||
return self::createWithFile($storedFile, $con);
|
|
||||||
}
|
|
||||||
|
|
||||||
return self::createWithFile($cloudFile, $con);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
throw new Exception('No arguments passed to RecallById');
|
throw new Exception('No arguments passed to RecallById');
|
||||||
|
@ -681,13 +671,15 @@ SQL;
|
||||||
|
|
||||||
public static function getLibraryColumns()
|
public static function getLibraryColumns()
|
||||||
{
|
{
|
||||||
return ['id', 'track_title', 'artist_name', 'album_title',
|
return [
|
||||||
|
'id', 'track_title', 'artist_name', 'album_title',
|
||||||
'genre', 'length', 'year', 'utime', 'mtime', 'ftype',
|
'genre', 'length', 'year', 'utime', 'mtime', 'ftype',
|
||||||
'track_number', 'mood', 'bpm', 'composer', 'info_url',
|
'track_number', 'mood', 'bpm', 'composer', 'info_url',
|
||||||
'bit_rate', 'sample_rate', 'isrc_number', 'encoded_by', 'label',
|
'bit_rate', 'sample_rate', 'isrc_number', 'encoded_by', 'label',
|
||||||
'copyright', 'mime', 'language', 'filepath', 'owner_id',
|
'copyright', 'mime', 'language', 'filepath', 'owner_id',
|
||||||
'conductor', 'replay_gain', 'lptime', 'is_playlist', 'is_scheduled',
|
'conductor', 'replay_gain', 'lptime', 'is_playlist', 'is_scheduled',
|
||||||
'cuein', 'cueout', 'description', 'artwork', 'track_type', ];
|
'cuein', 'cueout', 'description', 'artwork', 'track_type',
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function searchLibraryFiles($datatables)
|
public static function searchLibraryFiles($datatables)
|
||||||
|
|
|
@ -205,25 +205,7 @@ class CcFiles extends BaseCcFiles
|
||||||
|
|
||||||
try {
|
try {
|
||||||
self::validateFileArray($fileArray);
|
self::validateFileArray($fileArray);
|
||||||
if ($file && isset($fileArray['resource_id'])) {
|
if ($file) {
|
||||||
$file->fromArray($fileArray, BasePeer::TYPE_FIELDNAME);
|
|
||||||
|
|
||||||
// store the original filename
|
|
||||||
$file->setDbFilepath($fileArray['filename']);
|
|
||||||
|
|
||||||
$fileSizeBytes = $fileArray['filesize'];
|
|
||||||
if (!isset($fileSizeBytes) || $fileSizeBytes === false) {
|
|
||||||
throw new LibreTimeFileNotFoundException("Invalid filesize for {$fileId}");
|
|
||||||
}
|
|
||||||
|
|
||||||
$cloudFile = new CloudFile();
|
|
||||||
$cloudFile->setStorageBackend($fileArray['storage_backend']);
|
|
||||||
$cloudFile->setResourceId($fileArray['resource_id']);
|
|
||||||
$cloudFile->setCcFiles($file);
|
|
||||||
$cloudFile->save();
|
|
||||||
|
|
||||||
Application_Model_Preference::updateDiskUsage($fileSizeBytes);
|
|
||||||
} elseif ($file) {
|
|
||||||
$file->fromArray($fileArray, BasePeer::TYPE_FIELDNAME);
|
$file->fromArray($fileArray, BasePeer::TYPE_FIELDNAME);
|
||||||
|
|
||||||
// Our RESTful API takes "full_path" as a field, which we then split and translate to match
|
// Our RESTful API takes "full_path" as a field, which we then split and translate to match
|
||||||
|
@ -265,7 +247,7 @@ class CcFiles extends BaseCcFiles
|
||||||
return CcFiles::sanitizeResponse($file);
|
return CcFiles::sanitizeResponse($file);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Delete a file from the database and disk (or cloud).
|
/** Delete a file from the database and disk.
|
||||||
* @param $id The file ID
|
* @param $id The file ID
|
||||||
*
|
*
|
||||||
* @throws DeleteScheduledFileException
|
* @throws DeleteScheduledFileException
|
||||||
|
|
|
@ -1,90 +0,0 @@
|
||||||
<?php
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Skeleton subclass for representing a row from the 'cloud_file' table.
|
|
||||||
*
|
|
||||||
* This class uses Propel's delegation feature to virtually inherit from CcFile!
|
|
||||||
* You can call any CcFile method on this function and it will work! -- Albert
|
|
||||||
*
|
|
||||||
* Each cloud_file has a corresponding cc_file referenced as a foreign key.
|
|
||||||
* The file's metadata is stored in the cc_file table. This, cloud_file,
|
|
||||||
* table represents files that are stored in the cloud.
|
|
||||||
*
|
|
||||||
* You should add additional methods to this class to meet the
|
|
||||||
* application requirements. This class will only be generated as
|
|
||||||
* long as it does not already exist in the output directory.
|
|
||||||
*/
|
|
||||||
class CloudFile extends BaseCloudFile
|
|
||||||
{
|
|
||||||
private $proxyStorageBackend;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns a signed URL to the file's object on Amazon S3. Since we are
|
|
||||||
* requesting the file's object via this URL, it needs to be signed because
|
|
||||||
* all objects stored on Amazon S3 are private.
|
|
||||||
*/
|
|
||||||
public function getURLsForTrackPreviewOrDownload()
|
|
||||||
{
|
|
||||||
if ($this->proxyStorageBackend == null) {
|
|
||||||
$this->proxyStorageBackend = new ProxyStorageBackend($this->getStorageBackend());
|
|
||||||
}
|
|
||||||
|
|
||||||
return $this->proxyStorageBackend->getDownloadURLs($this->getResourceId(), $this->getFilename());
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns a url to the file's object on Amazon S3.
|
|
||||||
*/
|
|
||||||
public function getAbsoluteFilePath()
|
|
||||||
{
|
|
||||||
if ($this->proxyStorageBackend == null) {
|
|
||||||
$this->proxyStorageBackend = new ProxyStorageBackend($this->getStorageBackend());
|
|
||||||
}
|
|
||||||
|
|
||||||
return $this->proxyStorageBackend->getAbsoluteFilePath($this->getResourceId());
|
|
||||||
}
|
|
||||||
|
|
||||||
public function getFilename()
|
|
||||||
{
|
|
||||||
$filename = $this->getDbFilepath();
|
|
||||||
$info = pathinfo($filename);
|
|
||||||
|
|
||||||
// Add the correct file extension based on the MIME type, for files that were uploaded with the wrong extension.
|
|
||||||
$mime = $this->getDbMime();
|
|
||||||
$extension = FileDataHelper::getFileExtensionFromMime($mime);
|
|
||||||
|
|
||||||
return $info['filename'] . $extension;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Checks if the file is a regular file that can be previewed and downloaded.
|
|
||||||
*/
|
|
||||||
public function isValidPhysicalFile()
|
|
||||||
{
|
|
||||||
// We don't need to check if the cloud file is a valid file because
|
|
||||||
// before it is imported the Analyzer runs it through Liquidsoap
|
|
||||||
// to check its playability. If Liquidsoap can't play the file it
|
|
||||||
// does not get imported into the Airtime library.
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Deletes the file from cloud storage.
|
|
||||||
*/
|
|
||||||
public function deletePhysicalFile()
|
|
||||||
{
|
|
||||||
if ($this->proxyStorageBackend == null) {
|
|
||||||
$this->proxyStorageBackend = new ProxyStorageBackend($this->getStorageBackend());
|
|
||||||
}
|
|
||||||
$this->proxyStorageBackend->deletePhysicalFile($this->getResourceId());
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Deletes the cc_file and cloud_file entries from the database.
|
|
||||||
*/
|
|
||||||
public function delete(PropelPDO $con = null)
|
|
||||||
{
|
|
||||||
CcFilesQuery::create()->findPk($this->getCcFileId())->delete();
|
|
||||||
parent::delete();
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,12 +0,0 @@
|
||||||
<?php
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Skeleton subclass for performing query and update operations on the 'cloud_file' table.
|
|
||||||
*
|
|
||||||
* You should add additional methods to this class to meet the
|
|
||||||
* application requirements. This class will only be generated as
|
|
||||||
* long as it does not already exist in the output directory.
|
|
||||||
*/
|
|
||||||
class CloudFilePeer extends BaseCloudFilePeer
|
|
||||||
{
|
|
||||||
}
|
|
|
@ -1,12 +0,0 @@
|
||||||
<?php
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Skeleton subclass for performing query and update operations on the 'cloud_file' table.
|
|
||||||
*
|
|
||||||
* You should add additional methods to this class to meet the
|
|
||||||
* application requirements. This class will only be generated as
|
|
||||||
* long as it does not already exist in the output directory.
|
|
||||||
*/
|
|
||||||
class CloudFileQuery extends BaseCloudFileQuery
|
|
||||||
{
|
|
||||||
}
|
|
|
@ -117,7 +117,6 @@ class CcFilesTableMap extends TableMap
|
||||||
{
|
{
|
||||||
$this->addRelation('FkOwner', 'CcSubjs', RelationMap::MANY_TO_ONE, array('owner_id' => 'id', ), null, null);
|
$this->addRelation('FkOwner', 'CcSubjs', RelationMap::MANY_TO_ONE, array('owner_id' => 'id', ), null, null);
|
||||||
$this->addRelation('CcSubjsRelatedByDbEditedby', 'CcSubjs', RelationMap::MANY_TO_ONE, array('editedby' => 'id', ), null, null);
|
$this->addRelation('CcSubjsRelatedByDbEditedby', 'CcSubjs', RelationMap::MANY_TO_ONE, array('editedby' => 'id', ), null, null);
|
||||||
$this->addRelation('CloudFile', 'CloudFile', RelationMap::ONE_TO_MANY, array('id' => 'cc_file_id', ), 'CASCADE', null, 'CloudFiles');
|
|
||||||
$this->addRelation('CcShowInstances', 'CcShowInstances', RelationMap::ONE_TO_MANY, array('id' => 'file_id', ), 'CASCADE', null, 'CcShowInstancess');
|
$this->addRelation('CcShowInstances', 'CcShowInstances', RelationMap::ONE_TO_MANY, array('id' => 'file_id', ), 'CASCADE', null, 'CcShowInstancess');
|
||||||
$this->addRelation('CcPlaylistcontents', 'CcPlaylistcontents', RelationMap::ONE_TO_MANY, array('id' => 'file_id', ), 'CASCADE', null, 'CcPlaylistcontentss');
|
$this->addRelation('CcPlaylistcontents', 'CcPlaylistcontents', RelationMap::ONE_TO_MANY, array('id' => 'file_id', ), 'CASCADE', null, 'CcPlaylistcontentss');
|
||||||
$this->addRelation('CcBlockcontents', 'CcBlockcontents', RelationMap::ONE_TO_MANY, array('id' => 'file_id', ), 'CASCADE', null, 'CcBlockcontentss');
|
$this->addRelation('CcBlockcontents', 'CcBlockcontents', RelationMap::ONE_TO_MANY, array('id' => 'file_id', ), 'CASCADE', null, 'CcBlockcontentss');
|
||||||
|
|
|
@ -1,72 +0,0 @@
|
||||||
<?php
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* This class defines the structure of the 'cloud_file' table.
|
|
||||||
*
|
|
||||||
*
|
|
||||||
*
|
|
||||||
* This map class is used by Propel to do runtime db structure discovery.
|
|
||||||
* For example, the createSelectSql() method checks the type of a given column used in an
|
|
||||||
* ORDER BY clause to know whether it needs to apply SQL to make the ORDER BY case-insensitive
|
|
||||||
* (i.e. if it's a text column type).
|
|
||||||
*
|
|
||||||
* @package propel.generator.airtime.map
|
|
||||||
*/
|
|
||||||
class CloudFileTableMap extends TableMap
|
|
||||||
{
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The (dot-path) name of this class
|
|
||||||
*/
|
|
||||||
const CLASS_NAME = 'airtime.map.CloudFileTableMap';
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Initialize the table attributes, columns and validators
|
|
||||||
* Relations are not initialized by this method since they are lazy loaded
|
|
||||||
*
|
|
||||||
* @return void
|
|
||||||
* @throws PropelException
|
|
||||||
*/
|
|
||||||
public function initialize()
|
|
||||||
{
|
|
||||||
// attributes
|
|
||||||
$this->setName('cloud_file');
|
|
||||||
$this->setPhpName('CloudFile');
|
|
||||||
$this->setClassname('CloudFile');
|
|
||||||
$this->setPackage('airtime');
|
|
||||||
$this->setUseIdGenerator(true);
|
|
||||||
$this->setPrimaryKeyMethodInfo('cloud_file_id_seq');
|
|
||||||
// columns
|
|
||||||
$this->addPrimaryKey('id', 'DbId', 'INTEGER', true, null, null);
|
|
||||||
$this->addColumn('storage_backend', 'StorageBackend', 'VARCHAR', true, 512, null);
|
|
||||||
$this->addColumn('resource_id', 'ResourceId', 'LONGVARCHAR', true, null, null);
|
|
||||||
$this->addForeignKey('cc_file_id', 'CcFileId', 'INTEGER', 'cc_files', 'id', false, null, null);
|
|
||||||
// validators
|
|
||||||
} // initialize()
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Build the RelationMap objects for this table relationships
|
|
||||||
*/
|
|
||||||
public function buildRelations()
|
|
||||||
{
|
|
||||||
$this->addRelation('CcFiles', 'CcFiles', RelationMap::MANY_TO_ONE, array('cc_file_id' => 'id', ), 'CASCADE', null);
|
|
||||||
} // buildRelations()
|
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
* Gets the list of behaviors registered for this table
|
|
||||||
*
|
|
||||||
* @return array Associative array (name => parameters) of behaviors
|
|
||||||
*/
|
|
||||||
public function getBehaviors()
|
|
||||||
{
|
|
||||||
return array(
|
|
||||||
'delegate' => array (
|
|
||||||
'to' => 'cc_files',
|
|
||||||
),
|
|
||||||
);
|
|
||||||
} // getBehaviors()
|
|
||||||
|
|
||||||
} // CloudFileTableMap
|
|
|
@ -462,12 +462,6 @@ abstract class BaseCcFiles extends BaseObject implements Persistent
|
||||||
*/
|
*/
|
||||||
protected $aCcSubjsRelatedByDbEditedby;
|
protected $aCcSubjsRelatedByDbEditedby;
|
||||||
|
|
||||||
/**
|
|
||||||
* @var PropelObjectCollection|CloudFile[] Collection to store aggregation of CloudFile objects.
|
|
||||||
*/
|
|
||||||
protected $collCloudFiles;
|
|
||||||
protected $collCloudFilesPartial;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var PropelObjectCollection|CcShowInstances[] Collection to store aggregation of CcShowInstances objects.
|
* @var PropelObjectCollection|CcShowInstances[] Collection to store aggregation of CcShowInstances objects.
|
||||||
*/
|
*/
|
||||||
|
@ -530,12 +524,6 @@ abstract class BaseCcFiles extends BaseObject implements Persistent
|
||||||
*/
|
*/
|
||||||
protected $alreadyInClearAllReferencesDeep = false;
|
protected $alreadyInClearAllReferencesDeep = false;
|
||||||
|
|
||||||
/**
|
|
||||||
* An array of objects scheduled for deletion.
|
|
||||||
* @var PropelObjectCollection
|
|
||||||
*/
|
|
||||||
protected $cloudFilesScheduledForDeletion = null;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* An array of objects scheduled for deletion.
|
* An array of objects scheduled for deletion.
|
||||||
* @var PropelObjectCollection
|
* @var PropelObjectCollection
|
||||||
|
@ -3154,8 +3142,6 @@ abstract class BaseCcFiles extends BaseObject implements Persistent
|
||||||
|
|
||||||
$this->aFkOwner = null;
|
$this->aFkOwner = null;
|
||||||
$this->aCcSubjsRelatedByDbEditedby = null;
|
$this->aCcSubjsRelatedByDbEditedby = null;
|
||||||
$this->collCloudFiles = null;
|
|
||||||
|
|
||||||
$this->collCcShowInstancess = null;
|
$this->collCcShowInstancess = null;
|
||||||
|
|
||||||
$this->collCcPlaylistcontentss = null;
|
$this->collCcPlaylistcontentss = null;
|
||||||
|
@ -3313,23 +3299,6 @@ abstract class BaseCcFiles extends BaseObject implements Persistent
|
||||||
$this->resetModified();
|
$this->resetModified();
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($this->cloudFilesScheduledForDeletion !== null) {
|
|
||||||
if (!$this->cloudFilesScheduledForDeletion->isEmpty()) {
|
|
||||||
CloudFileQuery::create()
|
|
||||||
->filterByPrimaryKeys($this->cloudFilesScheduledForDeletion->getPrimaryKeys(false))
|
|
||||||
->delete($con);
|
|
||||||
$this->cloudFilesScheduledForDeletion = null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($this->collCloudFiles !== null) {
|
|
||||||
foreach ($this->collCloudFiles as $referrerFK) {
|
|
||||||
if (!$referrerFK->isDeleted() && ($referrerFK->isNew() || $referrerFK->isModified())) {
|
|
||||||
$affectedRows += $referrerFK->save($con);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($this->ccShowInstancessScheduledForDeletion !== null) {
|
if ($this->ccShowInstancessScheduledForDeletion !== null) {
|
||||||
if (!$this->ccShowInstancessScheduledForDeletion->isEmpty()) {
|
if (!$this->ccShowInstancessScheduledForDeletion->isEmpty()) {
|
||||||
CcShowInstancesQuery::create()
|
CcShowInstancesQuery::create()
|
||||||
|
@ -4014,14 +3983,6 @@ abstract class BaseCcFiles extends BaseObject implements Persistent
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if ($this->collCloudFiles !== null) {
|
|
||||||
foreach ($this->collCloudFiles as $referrerFK) {
|
|
||||||
if (!$referrerFK->validate($columns)) {
|
|
||||||
$failureMap = array_merge($failureMap, $referrerFK->getValidationFailures());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($this->collCcShowInstancess !== null) {
|
if ($this->collCcShowInstancess !== null) {
|
||||||
foreach ($this->collCcShowInstancess as $referrerFK) {
|
foreach ($this->collCcShowInstancess as $referrerFK) {
|
||||||
if (!$referrerFK->validate($columns)) {
|
if (!$referrerFK->validate($columns)) {
|
||||||
|
@ -4427,9 +4388,6 @@ abstract class BaseCcFiles extends BaseObject implements Persistent
|
||||||
if (null !== $this->aCcSubjsRelatedByDbEditedby) {
|
if (null !== $this->aCcSubjsRelatedByDbEditedby) {
|
||||||
$result['CcSubjsRelatedByDbEditedby'] = $this->aCcSubjsRelatedByDbEditedby->toArray($keyType, $includeLazyLoadColumns, $alreadyDumpedObjects, true);
|
$result['CcSubjsRelatedByDbEditedby'] = $this->aCcSubjsRelatedByDbEditedby->toArray($keyType, $includeLazyLoadColumns, $alreadyDumpedObjects, true);
|
||||||
}
|
}
|
||||||
if (null !== $this->collCloudFiles) {
|
|
||||||
$result['CloudFiles'] = $this->collCloudFiles->toArray(null, true, $keyType, $includeLazyLoadColumns, $alreadyDumpedObjects);
|
|
||||||
}
|
|
||||||
if (null !== $this->collCcShowInstancess) {
|
if (null !== $this->collCcShowInstancess) {
|
||||||
$result['CcShowInstancess'] = $this->collCcShowInstancess->toArray(null, true, $keyType, $includeLazyLoadColumns, $alreadyDumpedObjects);
|
$result['CcShowInstancess'] = $this->collCcShowInstancess->toArray(null, true, $keyType, $includeLazyLoadColumns, $alreadyDumpedObjects);
|
||||||
}
|
}
|
||||||
|
@ -4998,12 +4956,6 @@ abstract class BaseCcFiles extends BaseObject implements Persistent
|
||||||
// store object hash to prevent cycle
|
// store object hash to prevent cycle
|
||||||
$this->startCopy = true;
|
$this->startCopy = true;
|
||||||
|
|
||||||
foreach ($this->getCloudFiles() as $relObj) {
|
|
||||||
if ($relObj !== $this) { // ensure that we don't try to copy a reference to ourselves
|
|
||||||
$copyObj->addCloudFile($relObj->copy($deepCopy));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
foreach ($this->getCcShowInstancess() as $relObj) {
|
foreach ($this->getCcShowInstancess() as $relObj) {
|
||||||
if ($relObj !== $this) { // ensure that we don't try to copy a reference to ourselves
|
if ($relObj !== $this) { // ensure that we don't try to copy a reference to ourselves
|
||||||
$copyObj->addCcShowInstances($relObj->copy($deepCopy));
|
$copyObj->addCcShowInstances($relObj->copy($deepCopy));
|
||||||
|
@ -5211,9 +5163,6 @@ abstract class BaseCcFiles extends BaseObject implements Persistent
|
||||||
*/
|
*/
|
||||||
public function initRelation($relationName)
|
public function initRelation($relationName)
|
||||||
{
|
{
|
||||||
if ('CloudFile' == $relationName) {
|
|
||||||
$this->initCloudFiles();
|
|
||||||
}
|
|
||||||
if ('CcShowInstances' == $relationName) {
|
if ('CcShowInstances' == $relationName) {
|
||||||
$this->initCcShowInstancess();
|
$this->initCcShowInstancess();
|
||||||
}
|
}
|
||||||
|
@ -5237,231 +5186,6 @@ abstract class BaseCcFiles extends BaseObject implements Persistent
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Clears out the collCloudFiles collection
|
|
||||||
*
|
|
||||||
* This does not modify the database; however, it will remove any associated objects, causing
|
|
||||||
* them to be refetched by subsequent calls to accessor method.
|
|
||||||
*
|
|
||||||
* @return CcFiles The current object (for fluent API support)
|
|
||||||
* @see addCloudFiles()
|
|
||||||
*/
|
|
||||||
public function clearCloudFiles()
|
|
||||||
{
|
|
||||||
$this->collCloudFiles = null; // important to set this to null since that means it is uninitialized
|
|
||||||
$this->collCloudFilesPartial = null;
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* reset is the collCloudFiles collection loaded partially
|
|
||||||
*
|
|
||||||
* @return void
|
|
||||||
*/
|
|
||||||
public function resetPartialCloudFiles($v = true)
|
|
||||||
{
|
|
||||||
$this->collCloudFilesPartial = $v;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Initializes the collCloudFiles collection.
|
|
||||||
*
|
|
||||||
* By default this just sets the collCloudFiles collection to an empty array (like clearcollCloudFiles());
|
|
||||||
* however, you may wish to override this method in your stub class to provide setting appropriate
|
|
||||||
* to your application -- for example, setting the initial array to the values stored in database.
|
|
||||||
*
|
|
||||||
* @param boolean $overrideExisting If set to true, the method call initializes
|
|
||||||
* the collection even if it is not empty
|
|
||||||
*
|
|
||||||
* @return void
|
|
||||||
*/
|
|
||||||
public function initCloudFiles($overrideExisting = true)
|
|
||||||
{
|
|
||||||
if (null !== $this->collCloudFiles && !$overrideExisting) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
$this->collCloudFiles = new PropelObjectCollection();
|
|
||||||
$this->collCloudFiles->setModel('CloudFile');
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets an array of CloudFile objects which contain a foreign key that references this object.
|
|
||||||
*
|
|
||||||
* If the $criteria is not null, it is used to always fetch the results from the database.
|
|
||||||
* Otherwise the results are fetched from the database the first time, then cached.
|
|
||||||
* Next time the same method is called without $criteria, the cached collection is returned.
|
|
||||||
* If this CcFiles is new, it will return
|
|
||||||
* an empty collection or the current collection; the criteria is ignored on a new object.
|
|
||||||
*
|
|
||||||
* @param Criteria $criteria optional Criteria object to narrow the query
|
|
||||||
* @param PropelPDO $con optional connection object
|
|
||||||
* @return PropelObjectCollection|CloudFile[] List of CloudFile objects
|
|
||||||
* @throws PropelException
|
|
||||||
*/
|
|
||||||
public function getCloudFiles($criteria = null, PropelPDO $con = null)
|
|
||||||
{
|
|
||||||
$partial = $this->collCloudFilesPartial && !$this->isNew();
|
|
||||||
if (null === $this->collCloudFiles || null !== $criteria || $partial) {
|
|
||||||
if ($this->isNew() && null === $this->collCloudFiles) {
|
|
||||||
// return empty collection
|
|
||||||
$this->initCloudFiles();
|
|
||||||
} else {
|
|
||||||
$collCloudFiles = CloudFileQuery::create(null, $criteria)
|
|
||||||
->filterByCcFiles($this)
|
|
||||||
->find($con);
|
|
||||||
if (null !== $criteria) {
|
|
||||||
if (false !== $this->collCloudFilesPartial && count($collCloudFiles)) {
|
|
||||||
$this->initCloudFiles(false);
|
|
||||||
|
|
||||||
foreach ($collCloudFiles as $obj) {
|
|
||||||
if (false == $this->collCloudFiles->contains($obj)) {
|
|
||||||
$this->collCloudFiles->append($obj);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$this->collCloudFilesPartial = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
$collCloudFiles->getInternalIterator()->rewind();
|
|
||||||
|
|
||||||
return $collCloudFiles;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($partial && $this->collCloudFiles) {
|
|
||||||
foreach ($this->collCloudFiles as $obj) {
|
|
||||||
if ($obj->isNew()) {
|
|
||||||
$collCloudFiles[] = $obj;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$this->collCloudFiles = $collCloudFiles;
|
|
||||||
$this->collCloudFilesPartial = false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return $this->collCloudFiles;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Sets a collection of CloudFile objects related by a one-to-many relationship
|
|
||||||
* to the current object.
|
|
||||||
* It will also schedule objects for deletion based on a diff between old objects (aka persisted)
|
|
||||||
* and new objects from the given Propel collection.
|
|
||||||
*
|
|
||||||
* @param PropelCollection $cloudFiles A Propel collection.
|
|
||||||
* @param PropelPDO $con Optional connection object
|
|
||||||
* @return CcFiles The current object (for fluent API support)
|
|
||||||
*/
|
|
||||||
public function setCloudFiles(PropelCollection $cloudFiles, PropelPDO $con = null)
|
|
||||||
{
|
|
||||||
$cloudFilesToDelete = $this->getCloudFiles(new Criteria(), $con)->diff($cloudFiles);
|
|
||||||
|
|
||||||
|
|
||||||
$this->cloudFilesScheduledForDeletion = $cloudFilesToDelete;
|
|
||||||
|
|
||||||
foreach ($cloudFilesToDelete as $cloudFileRemoved) {
|
|
||||||
$cloudFileRemoved->setCcFiles(null);
|
|
||||||
}
|
|
||||||
|
|
||||||
$this->collCloudFiles = null;
|
|
||||||
foreach ($cloudFiles as $cloudFile) {
|
|
||||||
$this->addCloudFile($cloudFile);
|
|
||||||
}
|
|
||||||
|
|
||||||
$this->collCloudFiles = $cloudFiles;
|
|
||||||
$this->collCloudFilesPartial = false;
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the number of related CloudFile objects.
|
|
||||||
*
|
|
||||||
* @param Criteria $criteria
|
|
||||||
* @param boolean $distinct
|
|
||||||
* @param PropelPDO $con
|
|
||||||
* @return int Count of related CloudFile objects.
|
|
||||||
* @throws PropelException
|
|
||||||
*/
|
|
||||||
public function countCloudFiles(Criteria $criteria = null, $distinct = false, PropelPDO $con = null)
|
|
||||||
{
|
|
||||||
$partial = $this->collCloudFilesPartial && !$this->isNew();
|
|
||||||
if (null === $this->collCloudFiles || null !== $criteria || $partial) {
|
|
||||||
if ($this->isNew() && null === $this->collCloudFiles) {
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($partial && !$criteria) {
|
|
||||||
return count($this->getCloudFiles());
|
|
||||||
}
|
|
||||||
$query = CloudFileQuery::create(null, $criteria);
|
|
||||||
if ($distinct) {
|
|
||||||
$query->distinct();
|
|
||||||
}
|
|
||||||
|
|
||||||
return $query
|
|
||||||
->filterByCcFiles($this)
|
|
||||||
->count($con);
|
|
||||||
}
|
|
||||||
|
|
||||||
return count($this->collCloudFiles);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Method called to associate a CloudFile object to this object
|
|
||||||
* through the CloudFile foreign key attribute.
|
|
||||||
*
|
|
||||||
* @param CloudFile $l CloudFile
|
|
||||||
* @return CcFiles The current object (for fluent API support)
|
|
||||||
*/
|
|
||||||
public function addCloudFile(CloudFile $l)
|
|
||||||
{
|
|
||||||
if ($this->collCloudFiles === null) {
|
|
||||||
$this->initCloudFiles();
|
|
||||||
$this->collCloudFilesPartial = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!in_array($l, $this->collCloudFiles->getArrayCopy(), true)) { // only add it if the **same** object is not already associated
|
|
||||||
$this->doAddCloudFile($l);
|
|
||||||
|
|
||||||
if ($this->cloudFilesScheduledForDeletion and $this->cloudFilesScheduledForDeletion->contains($l)) {
|
|
||||||
$this->cloudFilesScheduledForDeletion->remove($this->cloudFilesScheduledForDeletion->search($l));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param CloudFile $cloudFile The cloudFile object to add.
|
|
||||||
*/
|
|
||||||
protected function doAddCloudFile($cloudFile)
|
|
||||||
{
|
|
||||||
$this->collCloudFiles[]= $cloudFile;
|
|
||||||
$cloudFile->setCcFiles($this);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param CloudFile $cloudFile The cloudFile object to remove.
|
|
||||||
* @return CcFiles The current object (for fluent API support)
|
|
||||||
*/
|
|
||||||
public function removeCloudFile($cloudFile)
|
|
||||||
{
|
|
||||||
if ($this->getCloudFiles()->contains($cloudFile)) {
|
|
||||||
$this->collCloudFiles->remove($this->collCloudFiles->search($cloudFile));
|
|
||||||
if (null === $this->cloudFilesScheduledForDeletion) {
|
|
||||||
$this->cloudFilesScheduledForDeletion = clone $this->collCloudFiles;
|
|
||||||
$this->cloudFilesScheduledForDeletion->clear();
|
|
||||||
}
|
|
||||||
$this->cloudFilesScheduledForDeletion[]= $cloudFile;
|
|
||||||
$cloudFile->setCcFiles(null);
|
|
||||||
}
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Clears out the collCcShowInstancess collection
|
* Clears out the collCcShowInstancess collection
|
||||||
*
|
*
|
||||||
|
@ -7358,11 +7082,6 @@ abstract class BaseCcFiles extends BaseObject implements Persistent
|
||||||
{
|
{
|
||||||
if ($deep && !$this->alreadyInClearAllReferencesDeep) {
|
if ($deep && !$this->alreadyInClearAllReferencesDeep) {
|
||||||
$this->alreadyInClearAllReferencesDeep = true;
|
$this->alreadyInClearAllReferencesDeep = true;
|
||||||
if ($this->collCloudFiles) {
|
|
||||||
foreach ($this->collCloudFiles as $o) {
|
|
||||||
$o->clearAllReferences($deep);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if ($this->collCcShowInstancess) {
|
if ($this->collCcShowInstancess) {
|
||||||
foreach ($this->collCcShowInstancess as $o) {
|
foreach ($this->collCcShowInstancess as $o) {
|
||||||
$o->clearAllReferences($deep);
|
$o->clearAllReferences($deep);
|
||||||
|
@ -7408,10 +7127,6 @@ abstract class BaseCcFiles extends BaseObject implements Persistent
|
||||||
$this->alreadyInClearAllReferencesDeep = false;
|
$this->alreadyInClearAllReferencesDeep = false;
|
||||||
} // if ($deep)
|
} // if ($deep)
|
||||||
|
|
||||||
if ($this->collCloudFiles instanceof PropelCollection) {
|
|
||||||
$this->collCloudFiles->clearIterator();
|
|
||||||
}
|
|
||||||
$this->collCloudFiles = null;
|
|
||||||
if ($this->collCcShowInstancess instanceof PropelCollection) {
|
if ($this->collCcShowInstancess instanceof PropelCollection) {
|
||||||
$this->collCcShowInstancess->clearIterator();
|
$this->collCcShowInstancess->clearIterator();
|
||||||
}
|
}
|
||||||
|
|
|
@ -690,9 +690,6 @@ abstract class BaseCcFilesPeer
|
||||||
*/
|
*/
|
||||||
public static function clearRelatedInstancePool()
|
public static function clearRelatedInstancePool()
|
||||||
{
|
{
|
||||||
// Invalidate objects in CloudFilePeer instance pool,
|
|
||||||
// since one or more of them may be deleted by ON DELETE CASCADE/SETNULL rule.
|
|
||||||
CloudFilePeer::clearInstancePool();
|
|
||||||
// Invalidate objects in CcShowInstancesPeer instance pool,
|
// Invalidate objects in CcShowInstancesPeer instance pool,
|
||||||
// since one or more of them may be deleted by ON DELETE CASCADE/SETNULL rule.
|
// since one or more of them may be deleted by ON DELETE CASCADE/SETNULL rule.
|
||||||
CcShowInstancesPeer::clearInstancePool();
|
CcShowInstancesPeer::clearInstancePool();
|
||||||
|
|
|
@ -156,10 +156,6 @@
|
||||||
* @method CcFilesQuery rightJoinCcSubjsRelatedByDbEditedby($relationAlias = null) Adds a RIGHT JOIN clause to the query using the CcSubjsRelatedByDbEditedby relation
|
* @method CcFilesQuery rightJoinCcSubjsRelatedByDbEditedby($relationAlias = null) Adds a RIGHT JOIN clause to the query using the CcSubjsRelatedByDbEditedby relation
|
||||||
* @method CcFilesQuery innerJoinCcSubjsRelatedByDbEditedby($relationAlias = null) Adds a INNER JOIN clause to the query using the CcSubjsRelatedByDbEditedby relation
|
* @method CcFilesQuery innerJoinCcSubjsRelatedByDbEditedby($relationAlias = null) Adds a INNER JOIN clause to the query using the CcSubjsRelatedByDbEditedby relation
|
||||||
*
|
*
|
||||||
* @method CcFilesQuery leftJoinCloudFile($relationAlias = null) Adds a LEFT JOIN clause to the query using the CloudFile relation
|
|
||||||
* @method CcFilesQuery rightJoinCloudFile($relationAlias = null) Adds a RIGHT JOIN clause to the query using the CloudFile relation
|
|
||||||
* @method CcFilesQuery innerJoinCloudFile($relationAlias = null) Adds a INNER JOIN clause to the query using the CloudFile relation
|
|
||||||
*
|
|
||||||
* @method CcFilesQuery leftJoinCcShowInstances($relationAlias = null) Adds a LEFT JOIN clause to the query using the CcShowInstances relation
|
* @method CcFilesQuery leftJoinCcShowInstances($relationAlias = null) Adds a LEFT JOIN clause to the query using the CcShowInstances relation
|
||||||
* @method CcFilesQuery rightJoinCcShowInstances($relationAlias = null) Adds a RIGHT JOIN clause to the query using the CcShowInstances relation
|
* @method CcFilesQuery rightJoinCcShowInstances($relationAlias = null) Adds a RIGHT JOIN clause to the query using the CcShowInstances relation
|
||||||
* @method CcFilesQuery innerJoinCcShowInstances($relationAlias = null) Adds a INNER JOIN clause to the query using the CcShowInstances relation
|
* @method CcFilesQuery innerJoinCcShowInstances($relationAlias = null) Adds a INNER JOIN clause to the query using the CcShowInstances relation
|
||||||
|
@ -2839,80 +2835,6 @@ abstract class BaseCcFilesQuery extends ModelCriteria
|
||||||
->useQuery($relationAlias ? $relationAlias : 'CcSubjsRelatedByDbEditedby', 'CcSubjsQuery');
|
->useQuery($relationAlias ? $relationAlias : 'CcSubjsRelatedByDbEditedby', 'CcSubjsQuery');
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Filter the query by a related CloudFile object
|
|
||||||
*
|
|
||||||
* @param CloudFile|PropelObjectCollection $cloudFile the related object to use as filter
|
|
||||||
* @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL
|
|
||||||
*
|
|
||||||
* @return CcFilesQuery The current query, for fluid interface
|
|
||||||
* @throws PropelException - if the provided filter is invalid.
|
|
||||||
*/
|
|
||||||
public function filterByCloudFile($cloudFile, $comparison = null)
|
|
||||||
{
|
|
||||||
if ($cloudFile instanceof CloudFile) {
|
|
||||||
return $this
|
|
||||||
->addUsingAlias(CcFilesPeer::ID, $cloudFile->getCcFileId(), $comparison);
|
|
||||||
} elseif ($cloudFile instanceof PropelObjectCollection) {
|
|
||||||
return $this
|
|
||||||
->useCloudFileQuery()
|
|
||||||
->filterByPrimaryKeys($cloudFile->getPrimaryKeys())
|
|
||||||
->endUse();
|
|
||||||
} else {
|
|
||||||
throw new PropelException('filterByCloudFile() only accepts arguments of type CloudFile or PropelCollection');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Adds a JOIN clause to the query using the CloudFile relation
|
|
||||||
*
|
|
||||||
* @param string $relationAlias optional alias for the relation
|
|
||||||
* @param string $joinType Accepted values are null, 'left join', 'right join', 'inner join'
|
|
||||||
*
|
|
||||||
* @return CcFilesQuery The current query, for fluid interface
|
|
||||||
*/
|
|
||||||
public function joinCloudFile($relationAlias = null, $joinType = Criteria::LEFT_JOIN)
|
|
||||||
{
|
|
||||||
$tableMap = $this->getTableMap();
|
|
||||||
$relationMap = $tableMap->getRelation('CloudFile');
|
|
||||||
|
|
||||||
// create a ModelJoin object for this join
|
|
||||||
$join = new ModelJoin();
|
|
||||||
$join->setJoinType($joinType);
|
|
||||||
$join->setRelationMap($relationMap, $this->useAliasInSQL ? $this->getModelAlias() : null, $relationAlias);
|
|
||||||
if ($previousJoin = $this->getPreviousJoin()) {
|
|
||||||
$join->setPreviousJoin($previousJoin);
|
|
||||||
}
|
|
||||||
|
|
||||||
// add the ModelJoin to the current object
|
|
||||||
if ($relationAlias) {
|
|
||||||
$this->addAlias($relationAlias, $relationMap->getRightTable()->getName());
|
|
||||||
$this->addJoinObject($join, $relationAlias);
|
|
||||||
} else {
|
|
||||||
$this->addJoinObject($join, 'CloudFile');
|
|
||||||
}
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Use the CloudFile relation CloudFile object
|
|
||||||
*
|
|
||||||
* @see useQuery()
|
|
||||||
*
|
|
||||||
* @param string $relationAlias optional alias for the relation,
|
|
||||||
* to be used as main alias in the secondary query
|
|
||||||
* @param string $joinType Accepted values are null, 'left join', 'right join', 'inner join'
|
|
||||||
*
|
|
||||||
* @return CloudFileQuery A secondary query class using the current class as primary query
|
|
||||||
*/
|
|
||||||
public function useCloudFileQuery($relationAlias = null, $joinType = Criteria::LEFT_JOIN)
|
|
||||||
{
|
|
||||||
return $this
|
|
||||||
->joinCloudFile($relationAlias, $joinType)
|
|
||||||
->useQuery($relationAlias ? $relationAlias : 'CloudFile', 'CloudFileQuery');
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Filter the query by a related CcShowInstances object
|
* Filter the query by a related CcShowInstances object
|
||||||
*
|
*
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -1,470 +0,0 @@
|
||||||
<?php
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Base class that represents a query for the 'cloud_file' table.
|
|
||||||
*
|
|
||||||
*
|
|
||||||
*
|
|
||||||
* @method CloudFileQuery orderByDbId($order = Criteria::ASC) Order by the id column
|
|
||||||
* @method CloudFileQuery orderByStorageBackend($order = Criteria::ASC) Order by the storage_backend column
|
|
||||||
* @method CloudFileQuery orderByResourceId($order = Criteria::ASC) Order by the resource_id column
|
|
||||||
* @method CloudFileQuery orderByCcFileId($order = Criteria::ASC) Order by the cc_file_id column
|
|
||||||
*
|
|
||||||
* @method CloudFileQuery groupByDbId() Group by the id column
|
|
||||||
* @method CloudFileQuery groupByStorageBackend() Group by the storage_backend column
|
|
||||||
* @method CloudFileQuery groupByResourceId() Group by the resource_id column
|
|
||||||
* @method CloudFileQuery groupByCcFileId() Group by the cc_file_id column
|
|
||||||
*
|
|
||||||
* @method CloudFileQuery leftJoin($relation) Adds a LEFT JOIN clause to the query
|
|
||||||
* @method CloudFileQuery rightJoin($relation) Adds a RIGHT JOIN clause to the query
|
|
||||||
* @method CloudFileQuery innerJoin($relation) Adds a INNER JOIN clause to the query
|
|
||||||
*
|
|
||||||
* @method CloudFileQuery leftJoinCcFiles($relationAlias = null) Adds a LEFT JOIN clause to the query using the CcFiles relation
|
|
||||||
* @method CloudFileQuery rightJoinCcFiles($relationAlias = null) Adds a RIGHT JOIN clause to the query using the CcFiles relation
|
|
||||||
* @method CloudFileQuery innerJoinCcFiles($relationAlias = null) Adds a INNER JOIN clause to the query using the CcFiles relation
|
|
||||||
*
|
|
||||||
* @method CloudFile findOne(PropelPDO $con = null) Return the first CloudFile matching the query
|
|
||||||
* @method CloudFile findOneOrCreate(PropelPDO $con = null) Return the first CloudFile matching the query, or a new CloudFile object populated from the query conditions when no match is found
|
|
||||||
*
|
|
||||||
* @method CloudFile findOneByStorageBackend(string $storage_backend) Return the first CloudFile filtered by the storage_backend column
|
|
||||||
* @method CloudFile findOneByResourceId(string $resource_id) Return the first CloudFile filtered by the resource_id column
|
|
||||||
* @method CloudFile findOneByCcFileId(int $cc_file_id) Return the first CloudFile filtered by the cc_file_id column
|
|
||||||
*
|
|
||||||
* @method array findByDbId(int $id) Return CloudFile objects filtered by the id column
|
|
||||||
* @method array findByStorageBackend(string $storage_backend) Return CloudFile objects filtered by the storage_backend column
|
|
||||||
* @method array findByResourceId(string $resource_id) Return CloudFile objects filtered by the resource_id column
|
|
||||||
* @method array findByCcFileId(int $cc_file_id) Return CloudFile objects filtered by the cc_file_id column
|
|
||||||
*
|
|
||||||
* @package propel.generator.airtime.om
|
|
||||||
*/
|
|
||||||
abstract class BaseCloudFileQuery extends ModelCriteria
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* Initializes internal state of BaseCloudFileQuery object.
|
|
||||||
*
|
|
||||||
* @param string $dbName The dabase name
|
|
||||||
* @param string $modelName The phpName of a model, e.g. 'Book'
|
|
||||||
* @param string $modelAlias The alias for the model in this query, e.g. 'b'
|
|
||||||
*/
|
|
||||||
public function __construct($dbName = null, $modelName = null, $modelAlias = null)
|
|
||||||
{
|
|
||||||
if (null === $dbName) {
|
|
||||||
$dbName = 'airtime';
|
|
||||||
}
|
|
||||||
if (null === $modelName) {
|
|
||||||
$modelName = 'CloudFile';
|
|
||||||
}
|
|
||||||
parent::__construct($dbName, $modelName, $modelAlias);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns a new CloudFileQuery object.
|
|
||||||
*
|
|
||||||
* @param string $modelAlias The alias of a model in the query
|
|
||||||
* @param CloudFileQuery|Criteria $criteria Optional Criteria to build the query from
|
|
||||||
*
|
|
||||||
* @return CloudFileQuery
|
|
||||||
*/
|
|
||||||
public static function create($modelAlias = null, $criteria = null)
|
|
||||||
{
|
|
||||||
if ($criteria instanceof CloudFileQuery) {
|
|
||||||
return $criteria;
|
|
||||||
}
|
|
||||||
$query = new CloudFileQuery(null, null, $modelAlias);
|
|
||||||
|
|
||||||
if ($criteria instanceof Criteria) {
|
|
||||||
$query->mergeWith($criteria);
|
|
||||||
}
|
|
||||||
|
|
||||||
return $query;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Find object by primary key.
|
|
||||||
* Propel uses the instance pool to skip the database if the object exists.
|
|
||||||
* Go fast if the query is untouched.
|
|
||||||
*
|
|
||||||
* <code>
|
|
||||||
* $obj = $c->findPk(12, $con);
|
|
||||||
* </code>
|
|
||||||
*
|
|
||||||
* @param mixed $key Primary key to use for the query
|
|
||||||
* @param PropelPDO $con an optional connection object
|
|
||||||
*
|
|
||||||
* @return CloudFile|CloudFile[]|mixed the result, formatted by the current formatter
|
|
||||||
*/
|
|
||||||
public function findPk($key, $con = null)
|
|
||||||
{
|
|
||||||
if ($key === null) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
if ((null !== ($obj = CloudFilePeer::getInstanceFromPool((string) $key))) && !$this->formatter) {
|
|
||||||
// the object is already in the instance pool
|
|
||||||
return $obj;
|
|
||||||
}
|
|
||||||
if ($con === null) {
|
|
||||||
$con = Propel::getConnection(CloudFilePeer::DATABASE_NAME, Propel::CONNECTION_READ);
|
|
||||||
}
|
|
||||||
$this->basePreSelect($con);
|
|
||||||
if ($this->formatter || $this->modelAlias || $this->with || $this->select
|
|
||||||
|| $this->selectColumns || $this->asColumns || $this->selectModifiers
|
|
||||||
|| $this->map || $this->having || $this->joins) {
|
|
||||||
return $this->findPkComplex($key, $con);
|
|
||||||
} else {
|
|
||||||
return $this->findPkSimple($key, $con);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Alias of findPk to use instance pooling
|
|
||||||
*
|
|
||||||
* @param mixed $key Primary key to use for the query
|
|
||||||
* @param PropelPDO $con A connection object
|
|
||||||
*
|
|
||||||
* @return CloudFile A model object, or null if the key is not found
|
|
||||||
* @throws PropelException
|
|
||||||
*/
|
|
||||||
public function findOneByDbId($key, $con = null)
|
|
||||||
{
|
|
||||||
return $this->findPk($key, $con);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Find object by primary key using raw SQL to go fast.
|
|
||||||
* Bypass doSelect() and the object formatter by using generated code.
|
|
||||||
*
|
|
||||||
* @param mixed $key Primary key to use for the query
|
|
||||||
* @param PropelPDO $con A connection object
|
|
||||||
*
|
|
||||||
* @return CloudFile A model object, or null if the key is not found
|
|
||||||
* @throws PropelException
|
|
||||||
*/
|
|
||||||
protected function findPkSimple($key, $con)
|
|
||||||
{
|
|
||||||
$sql = 'SELECT "id", "storage_backend", "resource_id", "cc_file_id" FROM "cloud_file" WHERE "id" = :p0';
|
|
||||||
try {
|
|
||||||
$stmt = $con->prepare($sql);
|
|
||||||
$stmt->bindValue(':p0', $key, PDO::PARAM_INT);
|
|
||||||
$stmt->execute();
|
|
||||||
} catch (Exception $e) {
|
|
||||||
Propel::log($e->getMessage(), Propel::LOG_ERR);
|
|
||||||
throw new PropelException(sprintf('Unable to execute SELECT statement [%s]', $sql), $e);
|
|
||||||
}
|
|
||||||
$obj = null;
|
|
||||||
if ($row = $stmt->fetch(PDO::FETCH_NUM)) {
|
|
||||||
$obj = new CloudFile();
|
|
||||||
$obj->hydrate($row);
|
|
||||||
CloudFilePeer::addInstanceToPool($obj, (string) $key);
|
|
||||||
}
|
|
||||||
$stmt->closeCursor();
|
|
||||||
|
|
||||||
return $obj;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Find object by primary key.
|
|
||||||
*
|
|
||||||
* @param mixed $key Primary key to use for the query
|
|
||||||
* @param PropelPDO $con A connection object
|
|
||||||
*
|
|
||||||
* @return CloudFile|CloudFile[]|mixed the result, formatted by the current formatter
|
|
||||||
*/
|
|
||||||
protected function findPkComplex($key, $con)
|
|
||||||
{
|
|
||||||
// As the query uses a PK condition, no limit(1) is necessary.
|
|
||||||
$criteria = $this->isKeepQuery() ? clone $this : $this;
|
|
||||||
$stmt = $criteria
|
|
||||||
->filterByPrimaryKey($key)
|
|
||||||
->doSelect($con);
|
|
||||||
|
|
||||||
return $criteria->getFormatter()->init($criteria)->formatOne($stmt);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Find objects by primary key
|
|
||||||
* <code>
|
|
||||||
* $objs = $c->findPks(array(12, 56, 832), $con);
|
|
||||||
* </code>
|
|
||||||
* @param array $keys Primary keys to use for the query
|
|
||||||
* @param PropelPDO $con an optional connection object
|
|
||||||
*
|
|
||||||
* @return PropelObjectCollection|CloudFile[]|mixed the list of results, formatted by the current formatter
|
|
||||||
*/
|
|
||||||
public function findPks($keys, $con = null)
|
|
||||||
{
|
|
||||||
if ($con === null) {
|
|
||||||
$con = Propel::getConnection($this->getDbName(), Propel::CONNECTION_READ);
|
|
||||||
}
|
|
||||||
$this->basePreSelect($con);
|
|
||||||
$criteria = $this->isKeepQuery() ? clone $this : $this;
|
|
||||||
$stmt = $criteria
|
|
||||||
->filterByPrimaryKeys($keys)
|
|
||||||
->doSelect($con);
|
|
||||||
|
|
||||||
return $criteria->getFormatter()->init($criteria)->format($stmt);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Filter the query by primary key
|
|
||||||
*
|
|
||||||
* @param mixed $key Primary key to use for the query
|
|
||||||
*
|
|
||||||
* @return CloudFileQuery The current query, for fluid interface
|
|
||||||
*/
|
|
||||||
public function filterByPrimaryKey($key)
|
|
||||||
{
|
|
||||||
|
|
||||||
return $this->addUsingAlias(CloudFilePeer::ID, $key, Criteria::EQUAL);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Filter the query by a list of primary keys
|
|
||||||
*
|
|
||||||
* @param array $keys The list of primary key to use for the query
|
|
||||||
*
|
|
||||||
* @return CloudFileQuery The current query, for fluid interface
|
|
||||||
*/
|
|
||||||
public function filterByPrimaryKeys($keys)
|
|
||||||
{
|
|
||||||
|
|
||||||
return $this->addUsingAlias(CloudFilePeer::ID, $keys, Criteria::IN);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Filter the query on the id column
|
|
||||||
*
|
|
||||||
* Example usage:
|
|
||||||
* <code>
|
|
||||||
* $query->filterByDbId(1234); // WHERE id = 1234
|
|
||||||
* $query->filterByDbId(array(12, 34)); // WHERE id IN (12, 34)
|
|
||||||
* $query->filterByDbId(array('min' => 12)); // WHERE id >= 12
|
|
||||||
* $query->filterByDbId(array('max' => 12)); // WHERE id <= 12
|
|
||||||
* </code>
|
|
||||||
*
|
|
||||||
* @param mixed $dbId The value to use as filter.
|
|
||||||
* Use scalar values for equality.
|
|
||||||
* Use array values for in_array() equivalent.
|
|
||||||
* Use associative array('min' => $minValue, 'max' => $maxValue) for intervals.
|
|
||||||
* @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL
|
|
||||||
*
|
|
||||||
* @return CloudFileQuery The current query, for fluid interface
|
|
||||||
*/
|
|
||||||
public function filterByDbId($dbId = null, $comparison = null)
|
|
||||||
{
|
|
||||||
if (is_array($dbId)) {
|
|
||||||
$useMinMax = false;
|
|
||||||
if (isset($dbId['min'])) {
|
|
||||||
$this->addUsingAlias(CloudFilePeer::ID, $dbId['min'], Criteria::GREATER_EQUAL);
|
|
||||||
$useMinMax = true;
|
|
||||||
}
|
|
||||||
if (isset($dbId['max'])) {
|
|
||||||
$this->addUsingAlias(CloudFilePeer::ID, $dbId['max'], Criteria::LESS_EQUAL);
|
|
||||||
$useMinMax = true;
|
|
||||||
}
|
|
||||||
if ($useMinMax) {
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
if (null === $comparison) {
|
|
||||||
$comparison = Criteria::IN;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return $this->addUsingAlias(CloudFilePeer::ID, $dbId, $comparison);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Filter the query on the storage_backend column
|
|
||||||
*
|
|
||||||
* Example usage:
|
|
||||||
* <code>
|
|
||||||
* $query->filterByStorageBackend('fooValue'); // WHERE storage_backend = 'fooValue'
|
|
||||||
* $query->filterByStorageBackend('%fooValue%'); // WHERE storage_backend LIKE '%fooValue%'
|
|
||||||
* </code>
|
|
||||||
*
|
|
||||||
* @param string $storageBackend The value to use as filter.
|
|
||||||
* Accepts wildcards (* and % trigger a LIKE)
|
|
||||||
* @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL
|
|
||||||
*
|
|
||||||
* @return CloudFileQuery The current query, for fluid interface
|
|
||||||
*/
|
|
||||||
public function filterByStorageBackend($storageBackend = null, $comparison = null)
|
|
||||||
{
|
|
||||||
if (null === $comparison) {
|
|
||||||
if (is_array($storageBackend)) {
|
|
||||||
$comparison = Criteria::IN;
|
|
||||||
} elseif (preg_match('/[\%\*]/', $storageBackend)) {
|
|
||||||
$storageBackend = str_replace('*', '%', $storageBackend);
|
|
||||||
$comparison = Criteria::LIKE;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return $this->addUsingAlias(CloudFilePeer::STORAGE_BACKEND, $storageBackend, $comparison);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Filter the query on the resource_id column
|
|
||||||
*
|
|
||||||
* Example usage:
|
|
||||||
* <code>
|
|
||||||
* $query->filterByResourceId('fooValue'); // WHERE resource_id = 'fooValue'
|
|
||||||
* $query->filterByResourceId('%fooValue%'); // WHERE resource_id LIKE '%fooValue%'
|
|
||||||
* </code>
|
|
||||||
*
|
|
||||||
* @param string $resourceId The value to use as filter.
|
|
||||||
* Accepts wildcards (* and % trigger a LIKE)
|
|
||||||
* @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL
|
|
||||||
*
|
|
||||||
* @return CloudFileQuery The current query, for fluid interface
|
|
||||||
*/
|
|
||||||
public function filterByResourceId($resourceId = null, $comparison = null)
|
|
||||||
{
|
|
||||||
if (null === $comparison) {
|
|
||||||
if (is_array($resourceId)) {
|
|
||||||
$comparison = Criteria::IN;
|
|
||||||
} elseif (preg_match('/[\%\*]/', $resourceId)) {
|
|
||||||
$resourceId = str_replace('*', '%', $resourceId);
|
|
||||||
$comparison = Criteria::LIKE;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return $this->addUsingAlias(CloudFilePeer::RESOURCE_ID, $resourceId, $comparison);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Filter the query on the cc_file_id column
|
|
||||||
*
|
|
||||||
* Example usage:
|
|
||||||
* <code>
|
|
||||||
* $query->filterByCcFileId(1234); // WHERE cc_file_id = 1234
|
|
||||||
* $query->filterByCcFileId(array(12, 34)); // WHERE cc_file_id IN (12, 34)
|
|
||||||
* $query->filterByCcFileId(array('min' => 12)); // WHERE cc_file_id >= 12
|
|
||||||
* $query->filterByCcFileId(array('max' => 12)); // WHERE cc_file_id <= 12
|
|
||||||
* </code>
|
|
||||||
*
|
|
||||||
* @see filterByCcFiles()
|
|
||||||
*
|
|
||||||
* @param mixed $ccFileId The value to use as filter.
|
|
||||||
* Use scalar values for equality.
|
|
||||||
* Use array values for in_array() equivalent.
|
|
||||||
* Use associative array('min' => $minValue, 'max' => $maxValue) for intervals.
|
|
||||||
* @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL
|
|
||||||
*
|
|
||||||
* @return CloudFileQuery The current query, for fluid interface
|
|
||||||
*/
|
|
||||||
public function filterByCcFileId($ccFileId = null, $comparison = null)
|
|
||||||
{
|
|
||||||
if (is_array($ccFileId)) {
|
|
||||||
$useMinMax = false;
|
|
||||||
if (isset($ccFileId['min'])) {
|
|
||||||
$this->addUsingAlias(CloudFilePeer::CC_FILE_ID, $ccFileId['min'], Criteria::GREATER_EQUAL);
|
|
||||||
$useMinMax = true;
|
|
||||||
}
|
|
||||||
if (isset($ccFileId['max'])) {
|
|
||||||
$this->addUsingAlias(CloudFilePeer::CC_FILE_ID, $ccFileId['max'], Criteria::LESS_EQUAL);
|
|
||||||
$useMinMax = true;
|
|
||||||
}
|
|
||||||
if ($useMinMax) {
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
if (null === $comparison) {
|
|
||||||
$comparison = Criteria::IN;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return $this->addUsingAlias(CloudFilePeer::CC_FILE_ID, $ccFileId, $comparison);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Filter the query by a related CcFiles object
|
|
||||||
*
|
|
||||||
* @param CcFiles|PropelObjectCollection $ccFiles The related object(s) to use as filter
|
|
||||||
* @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL
|
|
||||||
*
|
|
||||||
* @return CloudFileQuery The current query, for fluid interface
|
|
||||||
* @throws PropelException - if the provided filter is invalid.
|
|
||||||
*/
|
|
||||||
public function filterByCcFiles($ccFiles, $comparison = null)
|
|
||||||
{
|
|
||||||
if ($ccFiles instanceof CcFiles) {
|
|
||||||
return $this
|
|
||||||
->addUsingAlias(CloudFilePeer::CC_FILE_ID, $ccFiles->getDbId(), $comparison);
|
|
||||||
} elseif ($ccFiles instanceof PropelObjectCollection) {
|
|
||||||
if (null === $comparison) {
|
|
||||||
$comparison = Criteria::IN;
|
|
||||||
}
|
|
||||||
|
|
||||||
return $this
|
|
||||||
->addUsingAlias(CloudFilePeer::CC_FILE_ID, $ccFiles->toKeyValue('PrimaryKey', 'DbId'), $comparison);
|
|
||||||
} else {
|
|
||||||
throw new PropelException('filterByCcFiles() only accepts arguments of type CcFiles or PropelCollection');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Adds a JOIN clause to the query using the CcFiles relation
|
|
||||||
*
|
|
||||||
* @param string $relationAlias optional alias for the relation
|
|
||||||
* @param string $joinType Accepted values are null, 'left join', 'right join', 'inner join'
|
|
||||||
*
|
|
||||||
* @return CloudFileQuery The current query, for fluid interface
|
|
||||||
*/
|
|
||||||
public function joinCcFiles($relationAlias = null, $joinType = Criteria::LEFT_JOIN)
|
|
||||||
{
|
|
||||||
$tableMap = $this->getTableMap();
|
|
||||||
$relationMap = $tableMap->getRelation('CcFiles');
|
|
||||||
|
|
||||||
// create a ModelJoin object for this join
|
|
||||||
$join = new ModelJoin();
|
|
||||||
$join->setJoinType($joinType);
|
|
||||||
$join->setRelationMap($relationMap, $this->useAliasInSQL ? $this->getModelAlias() : null, $relationAlias);
|
|
||||||
if ($previousJoin = $this->getPreviousJoin()) {
|
|
||||||
$join->setPreviousJoin($previousJoin);
|
|
||||||
}
|
|
||||||
|
|
||||||
// add the ModelJoin to the current object
|
|
||||||
if ($relationAlias) {
|
|
||||||
$this->addAlias($relationAlias, $relationMap->getRightTable()->getName());
|
|
||||||
$this->addJoinObject($join, $relationAlias);
|
|
||||||
} else {
|
|
||||||
$this->addJoinObject($join, 'CcFiles');
|
|
||||||
}
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Use the CcFiles relation CcFiles object
|
|
||||||
*
|
|
||||||
* @see useQuery()
|
|
||||||
*
|
|
||||||
* @param string $relationAlias optional alias for the relation,
|
|
||||||
* to be used as main alias in the secondary query
|
|
||||||
* @param string $joinType Accepted values are null, 'left join', 'right join', 'inner join'
|
|
||||||
*
|
|
||||||
* @return CcFilesQuery A secondary query class using the current class as primary query
|
|
||||||
*/
|
|
||||||
public function useCcFilesQuery($relationAlias = null, $joinType = Criteria::LEFT_JOIN)
|
|
||||||
{
|
|
||||||
return $this
|
|
||||||
->joinCcFiles($relationAlias, $joinType)
|
|
||||||
->useQuery($relationAlias ? $relationAlias : 'CcFiles', 'CcFilesQuery');
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Exclude object from result
|
|
||||||
*
|
|
||||||
* @param CloudFile $cloudFile Object to remove from the list of results
|
|
||||||
*
|
|
||||||
* @return CloudFileQuery The current query, for fluid interface
|
|
||||||
*/
|
|
||||||
public function prune($cloudFile = null)
|
|
||||||
{
|
|
||||||
if ($cloudFile) {
|
|
||||||
$this->addUsingAlias(CloudFilePeer::ID, $cloudFile->getDbId(), Criteria::NOT_EQUAL);
|
|
||||||
}
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -96,19 +96,6 @@
|
||||||
<unique-column name="code" />
|
<unique-column name="code" />
|
||||||
</unique>
|
</unique>
|
||||||
</table>
|
</table>
|
||||||
<!-- Class Table Inheritance -->
|
|
||||||
<table name="cloud_file" phpName="CloudFile">
|
|
||||||
<column name="id" phpName="DbId" required="true" primaryKey="true" autoIncrement="true" type="INTEGER" />
|
|
||||||
<column name="storage_backend" phpName="StorageBackend" type="VARCHAR" size="512" required="true" />
|
|
||||||
<column name="resource_id" phpName="ResourceId" type="LONGVARCHAR" required="true" />
|
|
||||||
<column name="cc_file_id" type="INTEGER" />
|
|
||||||
<foreign-key foreignTable="cc_files" onDelete="CASCADE">
|
|
||||||
<reference local="cc_file_id" foreign="id" />
|
|
||||||
</foreign-key>
|
|
||||||
<behavior name="delegate">
|
|
||||||
<parameter name="to" value="cc_files" />
|
|
||||||
</behavior>
|
|
||||||
</table>
|
|
||||||
<table name="cc_show" phpName="CcShow">
|
<table name="cc_show" phpName="CcShow">
|
||||||
<column name="id" phpName="DbId" type="INTEGER" primaryKey="true" autoIncrement="true" required="true" />
|
<column name="id" phpName="DbId" type="INTEGER" primaryKey="true" autoIncrement="true" required="true" />
|
||||||
<column name="name" phpName="DbName" type="VARCHAR" size="255" required="true" defaultValue="" />
|
<column name="name" phpName="DbName" type="VARCHAR" size="255" required="true" defaultValue="" />
|
||||||
|
|
|
@ -59,9 +59,6 @@ set_include_path(APPLICATION_PATH . '/../tests/application/testdata' . PATH_SEPA
|
||||||
// helper functions
|
// helper functions
|
||||||
set_include_path(APPLICATION_PATH . '/../tests/application/helpers' . PATH_SEPARATOR . get_include_path());
|
set_include_path(APPLICATION_PATH . '/../tests/application/helpers' . PATH_SEPARATOR . get_include_path());
|
||||||
|
|
||||||
// cloud storage files
|
|
||||||
set_include_path(APPLICATION_PATH . '/cloud_storage' . PATH_SEPARATOR . get_include_path());
|
|
||||||
|
|
||||||
require_once 'jooola/propel1/runtime/lib/Propel.php';
|
require_once 'jooola/propel1/runtime/lib/Propel.php';
|
||||||
Propel::init('../application/configs/airtime-conf-production.php');
|
Propel::init('../application/configs/airtime-conf-production.php');
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue