aboutsummaryrefslogtreecommitdiff
path: root/dhall/types
diff options
context:
space:
mode:
authorXe <me@christine.website>2022-06-20 12:47:11 +0000
committerXe <me@christine.website>2022-06-21 23:17:53 +0000
commit15a130cc3df9598922d6faea50b520c03d75c5a2 (patch)
tree86618d0e587a3af18fef00cbd93abd20ad0f1d9c /dhall/types
parent9f977b388223d2bb87cd6d63980379c7ed96b218 (diff)
downloadxesite-15a130cc3df9598922d6faea50b520c03d75c5a2.tar.xz
xesite-15a130cc3df9598922d6faea50b520c03d75c5a2.zip
job history: even more
Signed-off-by: Xe <me@christine.website>
Diffstat (limited to 'dhall/types')
-rw-r--r--dhall/types/Company.dhall17
-rw-r--r--dhall/types/Config.dhall33
-rw-r--r--dhall/types/Job.dhall16
-rw-r--r--dhall/types/Location.dhall3
-rw-r--r--dhall/types/Salary.dhall14
-rw-r--r--dhall/types/Stock.dhall17
-rw-r--r--dhall/types/StockKind.dhall1
-rw-r--r--dhall/types/package.dhall10
8 files changed, 106 insertions, 5 deletions
diff --git a/dhall/types/Company.dhall b/dhall/types/Company.dhall
new file mode 100644
index 0000000..70a8865
--- /dev/null
+++ b/dhall/types/Company.dhall
@@ -0,0 +1,17 @@
+let Location = ./Location.dhall
+
+in { Type =
+ { name : Text
+ , url : Optional Text
+ , tagline : Text
+ , location : Location.Type
+ , defunct : Bool
+ }
+ , default =
+ { name = ""
+ , url = None Text
+ , tagline = ""
+ , location = Location::{=}
+ , defunct = False
+ }
+ }
diff --git a/dhall/types/Config.dhall b/dhall/types/Config.dhall
new file mode 100644
index 0000000..8ae8dee
--- /dev/null
+++ b/dhall/types/Config.dhall
@@ -0,0 +1,33 @@
+let Person = ./Person.dhall
+
+let Author = ./Author.dhall
+
+let Job = ./Job.dhall
+
+let defaultPort = env:PORT ? 3030
+
+let defaultWebMentionEndpoint =
+ env:WEBMENTION_ENDPOINT
+ ? "https://mi.within.website/api/webmention/accept"
+
+in { Type =
+ { signalboost : List Person.Type
+ , authors : List Author.Type
+ , port : Natural
+ , clackSet : List Text
+ , resumeFname : Text
+ , webMentionEndpoint : Text
+ , miToken : Text
+ , jobHistory : List Job.Type
+ }
+ , default =
+ { signalboost = [] : List Person.Type
+ , authors = [] : List Author.Type
+ , port = defaultPort
+ , clackSet = [ "Ashlynn" ]
+ , resumeFname = "./static/resume/resume.md"
+ , webMentionEndpoint = defaultWebMentionEndpoint
+ , miToken = "${env:MI_TOKEN as Text ? ""}"
+ , jobHistory = [] : List Job.Type
+ }
+ }
diff --git a/dhall/types/Job.dhall b/dhall/types/Job.dhall
index a079d3c..ea9aed5 100644
--- a/dhall/types/Job.dhall
+++ b/dhall/types/Job.dhall
@@ -1,23 +1,35 @@
+let Company = ./Company.dhall
+
let Salary = ./Salary.dhall
+let Location = ./Location.dhall
+
in { Type =
- { company : Text
+ { company : Company.Type
, title : Text
+ , contract : Bool
, startDate : Text
, endDate : Optional Text
, daysWorked : Optional Natural
, daysBetween : Optional Natural
, salary : Salary.Type
, leaveReason : Optional Text
+ , locations : List Location.Type
+ , highlights : List Text
+ , hideFromResume : Bool
}
, default =
- { company = "Unknown"
+ { company = Company::{=}
, title = "Unknown"
+ , contract = False
, startDate = "0000-01-01"
, endDate = None Text
, daysWorked = None Natural
, daysBetween = None Natural
, salary = Salary::{=}
, leaveReason = None Text
+ , locations = [] : List Location.Type
+ , highlights = [] : List Text
+ , hideFromResume = False
}
}
diff --git a/dhall/types/Location.dhall b/dhall/types/Location.dhall
new file mode 100644
index 0000000..f145a17
--- /dev/null
+++ b/dhall/types/Location.dhall
@@ -0,0 +1,3 @@
+{ Type = { city : Text, stateOrProvince : Text, country : Text, remote : Bool }
+, default = { remote = True, city = "", stateOrProvince = "", country = "CAN" }
+}
diff --git a/dhall/types/Salary.dhall b/dhall/types/Salary.dhall
index 37dfce7..b2b0926 100644
--- a/dhall/types/Salary.dhall
+++ b/dhall/types/Salary.dhall
@@ -1,3 +1,11 @@
-{ Type = { amount : Natural, currency : Text, per : Text }
-, default = { amount = 0, currency = "USD", per = "year" }
-}
+let Stock = ./Stock.dhall
+
+in { Type =
+ { amount : Natural
+ , currency : Text
+ , per : Text
+ , stock : Optional Stock.Type
+ }
+ , default =
+ { amount = 0, currency = "USD", per = "year", stock = None Stock.Type }
+ }
diff --git a/dhall/types/Stock.dhall b/dhall/types/Stock.dhall
new file mode 100644
index 0000000..fa11f1f
--- /dev/null
+++ b/dhall/types/Stock.dhall
@@ -0,0 +1,17 @@
+let StockKind = ./StockKind.dhall
+
+in { Type =
+ { kind : StockKind
+ , amount : Natural
+ , liquid : Bool
+ , vestingYears : Natural
+ , cliffYears : Natural
+ }
+ , default =
+ { kind = StockKind.Options
+ , amount = 0
+ , liquid = False
+ , vestingYears = 4
+ , cliffYears = 1
+ }
+ }
diff --git a/dhall/types/StockKind.dhall b/dhall/types/StockKind.dhall
new file mode 100644
index 0000000..242e01a
--- /dev/null
+++ b/dhall/types/StockKind.dhall
@@ -0,0 +1 @@
+< Grant | Options >
diff --git a/dhall/types/package.dhall b/dhall/types/package.dhall
new file mode 100644
index 0000000..0b5e704
--- /dev/null
+++ b/dhall/types/package.dhall
@@ -0,0 +1,10 @@
+{ Author = ./Author.dhall
+, Company = ./Company.dhall
+, Config = ./Config.dhall
+, Job = ./Job.dhall
+, Location = ./Location.dhall
+, Person = ./Person.dhall
+, Salary = ./Salary.dhall
+, Stock = ./Stock.dhall
+, StockKind = ./StockKind.dhall
+}