feat!: enforces payload.init is async

* Run connectMongoose before starting payload init

* - reverted changes
- added deprecated to init
- docs: changed all payload.init to payload.initAsync
- changed all internal init calls

* forgotten inits in docs

* reverted back - removed init and renamed initAsync to init
This commit is contained in:
Christian Schurr
2023-01-09 17:24:22 +01:00
committed by GitHub
parent 7583289d24
commit 82961767e3
7 changed files with 26 additions and 43 deletions

View File

@@ -5,11 +5,11 @@ import Logger from '../utilities/logger';
import loadConfig from '../config/load';
import payload from '..';
export function generateGraphQLSchema(): void {
export async function generateGraphQLSchema(): Promise<void> {
const logger = Logger();
const config = loadConfig();
payload.init({
await payload.init({
secret: '--unused--',
mongoURL: false,
local: true,

View File

@@ -44,7 +44,7 @@ import { Result as ResetPasswordResult } from './auth/operations/resetPassword';
import { Result as LoginResult } from './auth/operations/login';
import { Options as FindGlobalOptions } from './globals/operations/local/findOne';
import { Options as UpdateGlobalOptions } from './globals/operations/local/update';
import { initSync, initAsync } from './init';
import { initAsync } from './init';
require('isomorphic-fetch');
@@ -121,11 +121,7 @@ export class Payload {
* @description Initializes Payload
* @param options
*/
init(options: InitOptions): void {
initSync(this, options);
}
async initAsync(options: InitOptions): Promise<void> {
async init(options: InitOptions): Promise<void> {
await initAsync(this, options);
}

View File

@@ -161,18 +161,3 @@ export const initAsync = async (payload: Payload, options: InitOptions): Promise
if (typeof options.onInit === 'function') await options.onInit(payload);
if (typeof payload.config.onInit === 'function') await payload.config.onInit(payload);
};
export const initSync = (payload: Payload, options: InitOptions): void => {
payload.logger = Logger('payload', options.loggerOptions);
payload.mongoURL = options.mongoURL;
if (payload.mongoURL) {
mongoose.set('strictQuery', false);
connectMongoose(payload.mongoURL, options.mongoOptions, payload.logger);
}
init(payload, options);
if (typeof options.onInit === 'function') options.onInit(payload);
if (typeof payload.config.onInit === 'function') payload.config.onInit(payload);
};