aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller/Net/AuthorizationInfo.cs
blob: e452f264942c958a2e1331ca3b55b8ca54e458da (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
using System;
using System.Diagnostics.CodeAnalysis;
using Jellyfin.Data.Entities;

namespace MediaBrowser.Controller.Net
{
    /// <summary>
    /// The request authorization info.
    /// </summary>
    public class AuthorizationInfo
    {
        /// <summary>
        /// Gets the user identifier.
        /// </summary>
        /// <value>The user identifier.</value>
        public Guid UserId => User?.Id ?? Guid.Empty;

        /// <summary>
        /// Gets or sets the device identifier.
        /// </summary>
        /// <value>The device identifier.</value>
        public string? DeviceId { get; set; }

        /// <summary>
        /// Gets or sets the device.
        /// </summary>
        /// <value>The device.</value>
        public string? Device { get; set; }

        /// <summary>
        /// Gets or sets the client.
        /// </summary>
        /// <value>The client.</value>
        public string? Client { get; set; }

        /// <summary>
        /// Gets or sets the version.
        /// </summary>
        /// <value>The version.</value>
        public string? Version { get; set; }

        /// <summary>
        /// Gets or sets the token.
        /// </summary>
        /// <value>The token.</value>
        public string? Token { get; set; }

        /// <summary>
        /// Gets or sets a value indicating whether the authorization is from an api key.
        /// </summary>
        public bool IsApiKey { get; set; }

        /// <summary>
        /// Gets or sets the user making the request.
        /// </summary>
        public User? User { get; set; }

        /// <summary>
        /// Gets or sets a value indicating whether the token is authenticated.
        /// </summary>
        public bool IsAuthenticated { get; set; }

        /// <summary>
        /// Gets a value indicating whether the request has a token.
        /// </summary>
        [MemberNotNullWhen(true, nameof(Token))]
        public bool HasToken => !string.IsNullOrWhiteSpace(Token);
    }
}