aboutsummaryrefslogtreecommitdiff
path: root/Jellyfin.Data/Entities/ProviderMapping.cs
blob: e50a01489ceb63c9dc52cad593ccacf3c924d12a (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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
//------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated from a template.
//
//     Manual changes to this file may cause unexpected behavior in your application.
//     Manual changes to this file will be overwritten if the code is regenerated.
//
//     Produced by Entity Framework Visual Editor
//     https://github.com/msawczyn/EFDesigner
// </auto-generated>
//------------------------------------------------------------------------------

using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Runtime.CompilerServices;

namespace Jellyfin.Data.Entities
{
   public partial class ProviderMapping
   {
      partial void Init();

      /// <summary>
      /// Default constructor. Protected due to required properties, but present because EF needs it.
      /// </summary>
      protected ProviderMapping()
      {
         Init();
      }

      /// <summary>
      /// Replaces default constructor, since it's protected. Caller assumes responsibility for setting all required values before saving.
      /// </summary>
      public static ProviderMapping CreateProviderMappingUnsafe()
      {
         return new ProviderMapping();
      }

      /// <summary>
      /// Public constructor with required data
      /// </summary>
      /// <param name="providername"></param>
      /// <param name="providersecrets"></param>
      /// <param name="providerdata"></param>
      /// <param name="_user0"></param>
      /// <param name="_group1"></param>
      public ProviderMapping(string providername, string providersecrets, string providerdata, global::Jellyfin.Data.Entities.User _user0, global::Jellyfin.Data.Entities.Group _group1)
      {
         if (string.IsNullOrEmpty(providername)) throw new ArgumentNullException(nameof(providername));
         this.ProviderName = providername;

         if (string.IsNullOrEmpty(providersecrets)) throw new ArgumentNullException(nameof(providersecrets));
         this.ProviderSecrets = providersecrets;

         if (string.IsNullOrEmpty(providerdata)) throw new ArgumentNullException(nameof(providerdata));
         this.ProviderData = providerdata;

         if (_user0 == null) throw new ArgumentNullException(nameof(_user0));
         _user0.ProviderMappings.Add(this);

         if (_group1 == null) throw new ArgumentNullException(nameof(_group1));
         _group1.ProviderMappings.Add(this);


         Init();
      }

      /// <summary>
      /// Static create function (for use in LINQ queries, etc.)
      /// </summary>
      /// <param name="providername"></param>
      /// <param name="providersecrets"></param>
      /// <param name="providerdata"></param>
      /// <param name="_user0"></param>
      /// <param name="_group1"></param>
      public static ProviderMapping Create(string providername, string providersecrets, string providerdata, global::Jellyfin.Data.Entities.User _user0, global::Jellyfin.Data.Entities.Group _group1)
      {
         return new ProviderMapping(providername, providersecrets, providerdata, _user0, _group1);
      }

      /*************************************************************************
       * Properties
       *************************************************************************/

      /// <summary>
      /// Identity, Indexed, Required
      /// </summary>
      [Key]
      [Required]
      public int Id { get; protected set; }

      /// <summary>
      /// Required, Max length = 255
      /// </summary>
      [Required]
      [MaxLength(255)]
      [StringLength(255)]
      public string ProviderName { get; set; }

      /// <summary>
      /// Required, Max length = 65535
      /// </summary>
      [Required]
      [MaxLength(65535)]
      [StringLength(65535)]
      public string ProviderSecrets { get; set; }

      /// <summary>
      /// Required, Max length = 65535
      /// </summary>
      [Required]
      [MaxLength(65535)]
      [StringLength(65535)]
      public string ProviderData { get; set; }

      /// <summary>
      /// Concurrency token
      /// </summary>
      [Timestamp]
      public Byte[] Timestamp { get; set; }

      /*************************************************************************
       * Navigation properties
       *************************************************************************/

   }
}