aboutsummaryrefslogtreecommitdiff
path: root/services/docker/mail-server/aws-sendmail/base.ts
diff options
context:
space:
mode:
Diffstat (limited to 'services/docker/mail-server/aws-sendmail/base.ts')
-rw-r--r--services/docker/mail-server/aws-sendmail/base.ts35
1 files changed, 29 insertions, 6 deletions
diff --git a/services/docker/mail-server/aws-sendmail/base.ts b/services/docker/mail-server/aws-sendmail/base.ts
index 97d377b..08b592a 100644
--- a/services/docker/mail-server/aws-sendmail/base.ts
+++ b/services/docker/mail-server/aws-sendmail/base.ts
@@ -1,11 +1,34 @@
-export const APP_PREFIX="crupest"
-export const APP_NAME="mailserver"
+export const APP_PREFIX = "crupest";
+export const APP_NAME = "mailserver";
export function getEnvRequired(key: string, usage: string): string {
- key = `${APP_PREFIX.toUpperCase()}_${APP_NAME.toUpperCase()}_${key}`
- const value = Deno.env.get(key)
+ key = `${APP_PREFIX.toUpperCase()}_${APP_NAME.toUpperCase()}_${key}`;
+ const value = Deno.env.get(key);
if (value == null) {
- throw new Error(`Env ${key} does not exist, used for ${usage}.`)
+ throw new Error(`Env ${key} does not exist, used for ${usage}.`);
+ }
+ return value;
+}
+
+function getZonedDateTime(instant?: Temporal.Instant | Date) {
+ if (instant == null) {
+ instant = Temporal.Now.instant();
+ } else if (instant instanceof Date) {
+ instant = instant.toTemporalInstant();
+ }
+
+ return instant.toZonedDateTimeISO("UTC");
+}
+
+export function generateTimeStringForFileName(
+ instant?: Temporal.Instant | Date,
+ dateOnly: boolean = false,
+): string {
+ const time = getZonedDateTime(instant);
+
+ if (dateOnly) {
+ return time.toPlainDate().toString();
+ } else {
+ return time.toPlainDateTime().toString().replaceAll(/:|\./g, "-");
}
- return value
}