frontend: Add generator for Apple configuration profiles

Closes #58
This commit is contained in:
Lennart
2025-04-27 16:38:47 +02:00
parent 2e940bed2f
commit 96a3d84088
5 changed files with 191 additions and 11 deletions

View File

@@ -0,0 +1,115 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>PayloadContent</key>
<array>
<dict>
<key>CalDAVAccountDescription</key>
<string>{{ account_description }}</string>
<key>CalDAVHostName</key>
<string>{{ hostname }}</string>
<key>CalDAVPrincipalURL</key>
<string>{{ caldav_principal_url }}</string>
<key>CalDAVUseSSL</key>
<true/>
<key>CalDAVUsername</key>
<string>{{ user }}</string>
<key>CalDAVPassword</key>
<string>{{ token }}</string>
<key>PayloadDescription</key>
<string>{{ user }} RustiCal CalDAV profile</string>
<key>PayloadDisplayName</key>
<string>{{ user }} RustiCal CalDAV profile</string>
<key>PayloadIdentifier</key>
<string>com.github.lennart-k.rustical.cal.{{ user }}</string>
<key>PayloadOrganization</key>
<string>RustiCal</string>
<key>PayloadType</key>
<string>com.apple.caldav.account</string>
<key>PayloadUUID</key>
<string>{{ caldav_profile_uuid }}</string>
<key>PayloadVersion</key>
<integer>1</integer>
</dict>
<dict>
<key>CardDAVAccountDescription</key>
<string>{{ account_description }}</string>
<key>CardDAVHostName</key>
<string>{{ hostname }}</string>
<key>CardDAVPrincipalURL</key>
<string>{{ carddav_principal_url }}</string>
<key>CardDAVUseSSL</key>
<true/>
<key>CardDAVUsername</key>
<string>{{ user }}</string>
<key>CardDAVPassword</key>
<string>{{ token }}</string>
<key>PayloadDescription</key>
<string>{{ user }} RustiCal CardDAV profile</string>
<key>PayloadDisplayName</key>
<string>{{ user }} RustiCal CardDAV profile</string>
<key>PayloadIdentifier</key>
<string>com.github.lennart-k.rustical.card.{{ user }}</string>
<key>PayloadOrganization</key>
<string>RustiCal</string>
<key>PayloadType</key>
<string>com.apple.carddav.account</string>
<key>PayloadUUID</key>
<string>{{ carddav_profile_uuid }}</string>
<key>PayloadVersion</key>
<integer>1</integer>
</dict>
</array>
<key>PayloadDescription</key>
<string>Set up your RustiCal CalDAV/CardDAV account for {{ user }}@{{ hostname }} with app token {{ token_name }}</string>
<key>PayloadDisplayName</key>
<string>RustiCal CalDAV/CardDAV</string>
<key>PayloadIdentifier</key>
<string>com.github.lennart-k.rustical.{{ user }}</string>
<key>PayloadOrganization</key>
<string>{{ hostname }}</string>
<key>PayloadRemovalDisallowed</key>
<false/>
<key>PayloadType</key>
<string>Configuration</string>
<key>PayloadUUID</key>
<string>{{ plist_uuid }}</string>
<key>PayloadVersion</key>
<integer>1</integer>
</dict>
</plist>

View File

@@ -29,7 +29,6 @@
<td>
{% if let Some(created_at) = app_token.created_at %}
{{ chrono_humanize::HumanTime::from(created_at.to_owned()) }}
<!-- {{ created_at.to_rfc3339() }} -->
{% endif %}
</td>
<td>
@@ -49,6 +48,9 @@
<td></td>
<td>
<button type="submit" form="form_generate_app_token">Generate</button>
{% if is_apple %}
<button type="submit" form="form_generate_app_token" name="apple" value="true">Apple Configuration Profile (contains token)</button>
{% endif %}
</td>
</tr>
</table>