mirror of
https://gitlab.com/signalytic/client-external/streamline/streamline-emr.git
synced 2026-09-12 11:11:31 +00:00
Build modified streamline images
The official image from streamline does not currently work for the arm64 platform. As a temporary measure, the source code and docker build scripts have been lifted from the official images and are used to build locally. Some additional modifications are made to reduce overall image size, these are documented in docker/README.md
This commit is contained in:
Vendored
+79
@@ -0,0 +1,79 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace League\Flysystem\UnixVisibility;
|
||||
|
||||
use League\Flysystem\PortableVisibilityGuard;
|
||||
use League\Flysystem\Visibility;
|
||||
|
||||
class PortableVisibilityConverter implements VisibilityConverter
|
||||
{
|
||||
public function __construct(
|
||||
private int $filePublic = 0644,
|
||||
private int $filePrivate = 0600,
|
||||
private int $directoryPublic = 0755,
|
||||
private int $directoryPrivate = 0700,
|
||||
private string $defaultForDirectories = Visibility::PRIVATE
|
||||
) {
|
||||
}
|
||||
|
||||
public function forFile(string $visibility): int
|
||||
{
|
||||
PortableVisibilityGuard::guardAgainstInvalidInput($visibility);
|
||||
|
||||
return $visibility === Visibility::PUBLIC
|
||||
? $this->filePublic
|
||||
: $this->filePrivate;
|
||||
}
|
||||
|
||||
public function forDirectory(string $visibility): int
|
||||
{
|
||||
PortableVisibilityGuard::guardAgainstInvalidInput($visibility);
|
||||
|
||||
return $visibility === Visibility::PUBLIC
|
||||
? $this->directoryPublic
|
||||
: $this->directoryPrivate;
|
||||
}
|
||||
|
||||
public function inverseForFile(int $visibility): string
|
||||
{
|
||||
if ($visibility === $this->filePublic) {
|
||||
return Visibility::PUBLIC;
|
||||
} elseif ($visibility === $this->filePrivate) {
|
||||
return Visibility::PRIVATE;
|
||||
}
|
||||
|
||||
return Visibility::PUBLIC; // default
|
||||
}
|
||||
|
||||
public function inverseForDirectory(int $visibility): string
|
||||
{
|
||||
if ($visibility === $this->directoryPublic) {
|
||||
return Visibility::PUBLIC;
|
||||
} elseif ($visibility === $this->directoryPrivate) {
|
||||
return Visibility::PRIVATE;
|
||||
}
|
||||
|
||||
return Visibility::PUBLIC; // default
|
||||
}
|
||||
|
||||
public function defaultForDirectories(): int
|
||||
{
|
||||
return $this->defaultForDirectories === Visibility::PUBLIC ? $this->directoryPublic : $this->directoryPrivate;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param array<mixed> $permissionMap
|
||||
*/
|
||||
public static function fromArray(array $permissionMap, string $defaultForDirectories = Visibility::PRIVATE): PortableVisibilityConverter
|
||||
{
|
||||
return new PortableVisibilityConverter(
|
||||
$permissionMap['file']['public'] ?? 0644,
|
||||
$permissionMap['file']['private'] ?? 0600,
|
||||
$permissionMap['dir']['public'] ?? 0755,
|
||||
$permissionMap['dir']['private'] ?? 0700,
|
||||
$defaultForDirectories
|
||||
);
|
||||
}
|
||||
}
|
||||
+14
@@ -0,0 +1,14 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace League\Flysystem\UnixVisibility;
|
||||
|
||||
interface VisibilityConverter
|
||||
{
|
||||
public function forFile(string $visibility): int;
|
||||
public function forDirectory(string $visibility): int;
|
||||
public function inverseForFile(int $visibility): string;
|
||||
public function inverseForDirectory(int $visibility): string;
|
||||
public function defaultForDirectories(): int;
|
||||
}
|
||||
Reference in New Issue
Block a user