Skip to content
This repository was archived by the owner on Oct 18, 2024. It is now read-only.

Commit f053848

Browse files
committed
Add environment variables to configure disks
1 parent 8c077cb commit f053848

File tree

2 files changed

+63
-35
lines changed

2 files changed

+63
-35
lines changed

dist/server/php.js

Lines changed: 30 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -125,37 +125,50 @@ function startQueueWorker(secret, apiPort, phpIniSettings = {}) {
125125
}
126126
exports.startQueueWorker = startQueueWorker;
127127
function startScheduler(secret, apiPort, phpIniSettings = {}) {
128-
const env = {
128+
const env = getDefaultEnvironmentVariables(secret, apiPort);
129+
const phpOptions = {
130+
cwd: appPath,
131+
env
132+
};
133+
return callPhp(['artisan', 'schedule:run'], phpOptions, phpIniSettings);
134+
}
135+
exports.startScheduler = startScheduler;
136+
function getPath(name) {
137+
try {
138+
return electron_1.app.getPath(name);
139+
}
140+
catch (error) {
141+
return '';
142+
}
143+
}
144+
function getDefaultEnvironmentVariables(secret, apiPort) {
145+
return {
129146
APP_ENV: process.env.NODE_ENV === 'development' ? 'local' : 'production',
130147
APP_DEBUG: process.env.NODE_ENV === 'development' ? 'true' : 'false',
131148
NATIVEPHP_STORAGE_PATH: storagePath,
132149
NATIVEPHP_DATABASE_PATH: databaseFile,
133150
NATIVEPHP_API_URL: `http://localhost:${apiPort}/api/`,
134151
NATIVEPHP_RUNNING: true,
135-
NATIVEPHP_SECRET: secret
136-
};
137-
const phpOptions = {
138-
cwd: appPath,
139-
env
152+
NATIVEPHP_SECRET: secret,
153+
NATIVEPHP_USER_HOME_PATH: getPath('home'),
154+
NATIVEPHP_APP_DATA_PATH: getPath('appData'),
155+
NATIVEPHP_USER_DATA_PATH: getPath('userData'),
156+
NATIVEPHP_DESKTOP_PATH: getPath('desktop'),
157+
NATIVEPHP_DOCUMENTS_PATH: getPath('documents'),
158+
NATIVEPHP_DOWNLOADS_PATH: getPath('downloads'),
159+
NATIVEPHP_MUSIC_PATH: getPath('music'),
160+
NATIVEPHP_PICTURES_PATH: getPath('pictures'),
161+
NATIVEPHP_VIDEOS_PATH: getPath('videos'),
162+
NATIVEPHP_RECENT_PATH: getPath('recent'),
140163
};
141-
return callPhp(['artisan', 'schedule:run'], phpOptions, phpIniSettings);
142164
}
143-
exports.startScheduler = startScheduler;
144165
function serveApp(secret, apiPort, phpIniSettings) {
145166
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
146167
const appPath = getAppPath();
147168
console.log('Starting PHP server...', `${state_1.default.php} artisan serve`, appPath, phpIniSettings);
148169
ensureAppFoldersAreAvailable();
149170
console.log('Making sure app folders are available');
150-
const env = {
151-
APP_ENV: process.env.NODE_ENV === 'development' ? 'local' : 'production',
152-
APP_DEBUG: process.env.NODE_ENV === 'development' ? 'true' : 'false',
153-
NATIVEPHP_STORAGE_PATH: storagePath,
154-
NATIVEPHP_DATABASE_PATH: databaseFile,
155-
NATIVEPHP_API_URL: `http://localhost:${apiPort}/api/`,
156-
NATIVEPHP_RUNNING: true,
157-
NATIVEPHP_SECRET: secret,
158-
};
171+
const env = getDefaultEnvironmentVariables(secret, apiPort);
159172
const phpOptions = {
160173
cwd: appPath,
161174
env

src/server/php.ts

Lines changed: 33 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -137,15 +137,7 @@ function startQueueWorker(secret, apiPort, phpIniSettings = {}) {
137137
}
138138

139139
function startScheduler(secret, apiPort, phpIniSettings = {}) {
140-
const env = {
141-
APP_ENV: process.env.NODE_ENV === 'development' ? 'local' : 'production',
142-
APP_DEBUG: process.env.NODE_ENV === 'development' ? 'true' : 'false',
143-
NATIVEPHP_STORAGE_PATH: storagePath,
144-
NATIVEPHP_DATABASE_PATH: databaseFile,
145-
NATIVEPHP_API_URL: `http://localhost:${apiPort}/api/`,
146-
NATIVEPHP_RUNNING: true,
147-
NATIVEPHP_SECRET: secret
148-
};
140+
const env = getDefaultEnvironmentVariables(secret, apiPort);
149141

150142
const phpOptions = {
151143
cwd: appPath,
@@ -155,6 +147,37 @@ function startScheduler(secret, apiPort, phpIniSettings = {}) {
155147
return callPhp(['artisan', 'schedule:run'], phpOptions, phpIniSettings);
156148
}
157149

150+
function getPath(name: string) {
151+
try {
152+
// @ts-ignore
153+
return app.getPath(name);
154+
} catch (error) {
155+
return '';
156+
}
157+
}
158+
159+
function getDefaultEnvironmentVariables(secret, apiPort) {
160+
return {
161+
APP_ENV: process.env.NODE_ENV === 'development' ? 'local' : 'production',
162+
APP_DEBUG: process.env.NODE_ENV === 'development' ? 'true' : 'false',
163+
NATIVEPHP_STORAGE_PATH: storagePath,
164+
NATIVEPHP_DATABASE_PATH: databaseFile,
165+
NATIVEPHP_API_URL: `http://localhost:${apiPort}/api/`,
166+
NATIVEPHP_RUNNING: true,
167+
NATIVEPHP_SECRET: secret,
168+
NATIVEPHP_USER_HOME_PATH: getPath('home'),
169+
NATIVEPHP_APP_DATA_PATH: getPath('appData'),
170+
NATIVEPHP_USER_DATA_PATH: getPath('userData'),
171+
NATIVEPHP_DESKTOP_PATH: getPath('desktop'),
172+
NATIVEPHP_DOCUMENTS_PATH: getPath('documents'),
173+
NATIVEPHP_DOWNLOADS_PATH: getPath('downloads'),
174+
NATIVEPHP_MUSIC_PATH: getPath('music'),
175+
NATIVEPHP_PICTURES_PATH: getPath('pictures'),
176+
NATIVEPHP_VIDEOS_PATH: getPath('videos'),
177+
NATIVEPHP_RECENT_PATH: getPath('recent'),
178+
};
179+
}
180+
158181
function serveApp(secret, apiPort, phpIniSettings): Promise<ProcessResult> {
159182
return new Promise(async (resolve, reject) => {
160183
const appPath = getAppPath();
@@ -165,15 +188,7 @@ function serveApp(secret, apiPort, phpIniSettings): Promise<ProcessResult> {
165188

166189
console.log('Making sure app folders are available')
167190

168-
const env = {
169-
APP_ENV: process.env.NODE_ENV === 'development' ? 'local' : 'production',
170-
APP_DEBUG: process.env.NODE_ENV === 'development' ? 'true' : 'false',
171-
NATIVEPHP_STORAGE_PATH: storagePath,
172-
NATIVEPHP_DATABASE_PATH: databaseFile,
173-
NATIVEPHP_API_URL: `http://localhost:${apiPort}/api/`,
174-
NATIVEPHP_RUNNING: true,
175-
NATIVEPHP_SECRET: secret,
176-
};
191+
const env = getDefaultEnvironmentVariables(secret, apiPort);
177192

178193
const phpOptions = {
179194
cwd: appPath,

0 commit comments

Comments
 (0)