Account type

This commit is contained in:
shamoon
2024-10-05 10:25:22 -07:00
parent c798083eb5
commit f07170a82f
10 changed files with 59 additions and 8 deletions

View File

@@ -37,7 +37,16 @@
@for (account of mailAccounts; track account) {
<li class="list-group-item">
<div class="row">
<div class="col d-flex align-items-center"><button class="btn btn-link p-0 text-start" type="button" (click)="editMailAccount(account)" [disabled]="!permissionsService.currentUserCan(PermissionAction.Change, PermissionType.MailAccount)">{{account.name}}</button></div>
<div class="col d-flex align-items-center">
<button class="btn btn-link p-0 text-start" type="button" (click)="editMailAccount(account)" [disabled]="!permissionsService.currentUserCan(PermissionAction.Change, PermissionType.MailAccount)">
{{account.name}}
@if (account.account_type === MailAccountType.Gmail) {
<i-bs name="google" class="ms-2"></i-bs>
} @else if (account.account_type === MailAccountType.Outlook) {
<i-bs name="microsoft" class="ms-2"></i-bs>
}
</button>
</div>
<div class="col d-flex align-items-center">{{account.imap_server}}</div>
<div class="col d-flex align-items-center d-none d-sm-block">{{account.username}}</div>
<div class="col">

View File

@@ -2,7 +2,7 @@ import { Component, OnInit, OnDestroy } from '@angular/core'
import { NgbModal } from '@ng-bootstrap/ng-bootstrap'
import { Subject, first, takeUntil } from 'rxjs'
import { ObjectWithPermissions } from 'src/app/data/object-with-permissions'
import { MailAccount } from 'src/app/data/mail-account'
import { MailAccount, MailAccountType } from 'src/app/data/mail-account'
import { MailRule } from 'src/app/data/mail-rule'
import {
PermissionsService,
@@ -31,6 +31,8 @@ export class MailComponent
extends ComponentWithPermissions
implements OnInit, OnDestroy
{
public MailAccountType = MailAccountType
mailAccounts: MailAccount[] = []
mailRules: MailRule[] = []

View File

@@ -6,6 +6,12 @@ export enum IMAPSecurity {
STARTTLS = 3,
}
export enum MailAccountType {
IMAP = 1,
Gmail = 2,
Outlook = 3,
}
export interface MailAccount extends ObjectWithPermissions {
name: string
@@ -22,4 +28,10 @@ export interface MailAccount extends ObjectWithPermissions {
character_set?: string
is_token: boolean
account_type: MailAccountType
refresh_token?: string
expiration?: string // Date
}

View File

@@ -247,11 +247,11 @@ export const SETTINGS: UiSetting[] = [
{
key: SETTINGS_KEYS.GMAIL_OAUTH_URL,
type: 'string',
default: '',
default: null,
},
{
key: SETTINGS_KEYS.OUTLOOK_OAUTH_URL,
type: 'string',
default: '',
default: null,
},
]