refactor: rename Timeout to PropagationTimeout during ACME DNS-01 authentication
This commit is contained in:
@@ -10,9 +10,9 @@ export interface AccessState {
|
||||
loadedAtOnce: boolean;
|
||||
|
||||
fetchAccesses: () => Promise<void>;
|
||||
createAccess: (access: MaybeModelRecord<AccessModel>) => Promise<void>;
|
||||
updateAccess: (access: MaybeModelRecordWithId<AccessModel>) => Promise<void>;
|
||||
deleteAccess: (access: MaybeModelRecordWithId<AccessModel>) => Promise<void>;
|
||||
createAccess: (access: MaybeModelRecord<AccessModel>) => Promise<AccessModel>;
|
||||
updateAccess: (access: MaybeModelRecordWithId<AccessModel>) => Promise<AccessModel>;
|
||||
deleteAccess: (access: MaybeModelRecordWithId<AccessModel>) => Promise<AccessModel>;
|
||||
}
|
||||
|
||||
export const useAccessStore = create<AccessState>((set) => {
|
||||
@@ -25,17 +25,17 @@ export const useAccessStore = create<AccessState>((set) => {
|
||||
|
||||
createAccess: async (access) => {
|
||||
const record = await saveAccess(access);
|
||||
|
||||
set(
|
||||
produce((state: AccessState) => {
|
||||
state.accesses.unshift(record);
|
||||
})
|
||||
);
|
||||
|
||||
return record as AccessModel;
|
||||
},
|
||||
|
||||
updateAccess: async (access) => {
|
||||
const record = await saveAccess(access);
|
||||
|
||||
set(
|
||||
produce((state: AccessState) => {
|
||||
const index = state.accesses.findIndex((e) => e.id === record.id);
|
||||
@@ -44,16 +44,19 @@ export const useAccessStore = create<AccessState>((set) => {
|
||||
}
|
||||
})
|
||||
);
|
||||
|
||||
return record as AccessModel;
|
||||
},
|
||||
|
||||
deleteAccess: async (access) => {
|
||||
await removeAccess(access);
|
||||
|
||||
set(
|
||||
produce((state: AccessState) => {
|
||||
state.accesses = state.accesses.filter((a) => a.id !== access.id);
|
||||
})
|
||||
);
|
||||
|
||||
return access as AccessModel;
|
||||
},
|
||||
|
||||
fetchAccesses: async () => {
|
||||
|
||||
@@ -11,9 +11,11 @@ export interface ContactState {
|
||||
|
||||
fetchEmails: () => Promise<void>;
|
||||
setEmails: (emails: string[]) => Promise<void>;
|
||||
addEmail: (email: string) => Promise<void>;
|
||||
removeEmail: (email: string) => Promise<void>;
|
||||
}
|
||||
|
||||
export const useContactStore = create<ContactState>((set) => {
|
||||
export const useContactStore = create<ContactState>((set, get) => {
|
||||
let fetcher: Promise<SettingsModel<EmailsSettingsContent>> | null = null; // 防止多次重复请求
|
||||
let settings: SettingsModel<EmailsSettingsContent>; // 记录当前设置的其他字段,保存回数据库时用
|
||||
|
||||
@@ -34,12 +36,29 @@ export const useContactStore = create<ContactState>((set) => {
|
||||
|
||||
set(
|
||||
produce((state: ContactState) => {
|
||||
state.emails = settings.content.emails;
|
||||
state.emails = settings.content.emails?.sort() ?? [];
|
||||
state.loadedAtOnce = true;
|
||||
})
|
||||
);
|
||||
},
|
||||
|
||||
addEmail: async (email) => {
|
||||
const emails = produce(get().emails, (draft) => {
|
||||
if (draft.includes(email)) return;
|
||||
draft.push(email);
|
||||
draft.sort();
|
||||
});
|
||||
get().setEmails(emails);
|
||||
},
|
||||
|
||||
removeEmail: async (email) => {
|
||||
const emails = produce(get().emails, (draft) => {
|
||||
draft = draft.filter((e) => e !== email);
|
||||
draft.sort();
|
||||
});
|
||||
get().setEmails(emails);
|
||||
},
|
||||
|
||||
fetchEmails: async () => {
|
||||
fetcher ??= getSettings<EmailsSettingsContent>(SETTINGS_NAMES.EMAILS);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user