├── .dockerignore ├── .gitignore ├── .vscode ├── launch.json └── tasks.json ├── Commander.csproj ├── Controllers └── CommandsController.cs ├── Data ├── CommanderContext.cs ├── ICommanderRepo.cs ├── MockCommanderRepo.cs └── SqlCommanderRepo.cs ├── Dockerfile ├── Dtos ├── CommandCreateDto.cs ├── CommandReadDto.cs └── CommandUpdateDto.cs ├── Migrations ├── 20200829204856_InitialMigration.Designer.cs ├── 20200829204856_InitialMigration.cs └── CommanderContextModelSnapshot.cs ├── Models └── Command.cs ├── Profiles └── CommandsProfile.cs ├── Program.cs ├── Properties └── launchSettings.json ├── README.md ├── Startup.cs ├── appsettings.Development.json ├── bin └── Debug │ └── netcoreapp3.1 │ ├── AutoMapper.Extensions.Microsoft.DependencyInjection.dll │ ├── AutoMapper.dll │ ├── Commander.deps.json │ ├── Commander.dll │ ├── Commander.exe │ ├── Commander.pdb │ ├── Commander.runtimeconfig.dev.json │ ├── Commander.runtimeconfig.json │ ├── Microsoft.AspNetCore.JsonPatch.dll │ ├── Microsoft.AspNetCore.Mvc.NewtonsoftJson.dll │ ├── Microsoft.Bcl.AsyncInterfaces.dll │ ├── Microsoft.Bcl.HashCode.dll │ ├── Microsoft.Data.SqlClient.dll │ ├── Microsoft.EntityFrameworkCore.Abstractions.dll │ ├── Microsoft.EntityFrameworkCore.Design.dll │ ├── Microsoft.EntityFrameworkCore.Relational.dll │ ├── Microsoft.EntityFrameworkCore.SqlServer.dll │ ├── Microsoft.EntityFrameworkCore.dll │ ├── Microsoft.Extensions.Caching.Abstractions.dll │ ├── Microsoft.Extensions.Caching.Memory.dll │ ├── Microsoft.Extensions.Configuration.Abstractions.dll │ ├── Microsoft.Extensions.Configuration.Binder.dll │ ├── Microsoft.Extensions.Configuration.dll │ ├── Microsoft.Extensions.DependencyInjection.Abstractions.dll │ ├── Microsoft.Extensions.DependencyInjection.dll │ ├── Microsoft.Extensions.Logging.Abstractions.dll │ ├── Microsoft.Extensions.Logging.dll │ ├── Microsoft.Extensions.Options.dll │ ├── Microsoft.Extensions.Primitives.dll │ ├── Microsoft.Identity.Client.dll │ ├── Microsoft.IdentityModel.JsonWebTokens.dll │ ├── Microsoft.IdentityModel.Logging.dll │ ├── Microsoft.IdentityModel.Protocols.OpenIdConnect.dll │ ├── Microsoft.IdentityModel.Protocols.dll │ ├── Microsoft.IdentityModel.Tokens.dll │ ├── Microsoft.OpenApi.dll │ ├── Newtonsoft.Json.Bson.dll │ ├── Newtonsoft.Json.dll │ ├── Properties │ └── launchSettings.json │ ├── Swashbuckle.AspNetCore.Annotations.dll │ ├── Swashbuckle.AspNetCore.Newtonsoft.dll │ ├── Swashbuckle.AspNetCore.Swagger.dll │ ├── Swashbuckle.AspNetCore.SwaggerGen.dll │ ├── Swashbuckle.AspNetCore.SwaggerUI.dll │ ├── System.Collections.Immutable.dll │ ├── System.Configuration.ConfigurationManager.dll │ ├── System.Diagnostics.DiagnosticSource.dll │ ├── System.IdentityModel.Tokens.Jwt.dll │ ├── System.Runtime.Caching.dll │ ├── System.Security.Cryptography.ProtectedData.dll │ ├── appsettings.Development.json │ └── runtimes │ ├── unix │ └── lib │ │ ├── netcoreapp2.0 │ │ └── System.Runtime.Caching.dll │ │ └── netcoreapp2.1 │ │ └── Microsoft.Data.SqlClient.dll │ ├── win-arm64 │ └── native │ │ └── sni.dll │ ├── win-x64 │ └── native │ │ └── sni.dll │ ├── win-x86 │ └── native │ │ └── sni.dll │ └── win │ └── lib │ ├── netcoreapp2.0 │ └── System.Runtime.Caching.dll │ ├── netcoreapp2.1 │ └── Microsoft.Data.SqlClient.dll │ └── netstandard2.0 │ └── System.Security.Cryptography.ProtectedData.dll ├── obj ├── Commander.csproj.EntityFrameworkCore.targets ├── Commander.csproj.nuget.dgspec.json ├── Commander.csproj.nuget.g.props ├── Commander.csproj.nuget.g.targets ├── Debug │ └── netcoreapp3.1 │ │ ├── .NETCoreApp,Version=v3.1.AssemblyAttributes.cs │ │ ├── Commander.AssemblyInfo.cs │ │ ├── Commander.AssemblyInfoInputs.cache │ │ ├── Commander.MvcApplicationPartsAssemblyInfo.cache │ │ ├── Commander.MvcApplicationPartsAssemblyInfo.cs │ │ ├── Commander.RazorAssemblyInfo.cache │ │ ├── Commander.RazorAssemblyInfo.cs │ │ ├── Commander.RazorTargetAssemblyInfo.cache │ │ ├── Commander.assets.cache │ │ ├── Commander.csproj.CopyComplete │ │ ├── Commander.csproj.CoreCompileInputs.cache │ │ ├── Commander.csproj.FileListAbsolute.txt │ │ ├── Commander.csprojAssemblyReference.cache │ │ ├── Commander.dll │ │ ├── Commander.exe │ │ ├── Commander.genruntimeconfig.cache │ │ ├── Commander.pdb │ │ ├── project.razor.json │ │ └── staticwebassets │ │ ├── Commander.StaticWebAssets.Manifest.cache │ │ └── Commander.StaticWebAssets.xml ├── project.assets.json └── project.nuget.cache └── wwwroot └── images └── easteregg.jpg /.dockerignore: -------------------------------------------------------------------------------- 1 | bin\ 2 | obj\ -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | appsettings 2 | appsettings.json -------------------------------------------------------------------------------- /.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | // Use IntelliSense to find out which attributes exist for C# debugging 3 | // Use hover for the description of the existing attributes 4 | // For further information visit https://github.com/OmniSharp/omnisharp-vscode/blob/master/debugger-launchjson.md 5 | "version": "0.2.0", 6 | "configurations": [ 7 | { 8 | "name": ".NET Core Launch (web)", 9 | "type": "coreclr", 10 | "request": "launch", 11 | "preLaunchTask": "build", 12 | // If you have changed target frameworks, make sure to update the program path. 13 | "program": "${workspaceFolder}/bin/Debug/netcoreapp3.1/Commander.dll", 14 | "args": [], 15 | "cwd": "${workspaceFolder}", 16 | "stopAtEntry": false, 17 | // Enable launching a web browser when ASP.NET Core starts. For more information: https://aka.ms/VSCode-CS-LaunchJson-WebBrowser 18 | "serverReadyAction": { 19 | "action": "openExternally", 20 | "pattern": "\\bNow listening on:\\s+(https?://\\S+)" 21 | }, 22 | "env": { 23 | "ASPNETCORE_ENVIRONMENT": "Development" 24 | }, 25 | "sourceFileMap": { 26 | "/Views": "${workspaceFolder}/Views" 27 | } 28 | }, 29 | { 30 | "name": ".NET Core Attach", 31 | "type": "coreclr", 32 | "request": "attach", 33 | "processId": "${command:pickProcess}" 34 | } 35 | ] 36 | } -------------------------------------------------------------------------------- /.vscode/tasks.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "2.0.0", 3 | "tasks": [ 4 | { 5 | "label": "build", 6 | "command": "dotnet", 7 | "type": "process", 8 | "args": [ 9 | "build", 10 | "${workspaceFolder}/Commander.csproj", 11 | "/property:GenerateFullPaths=true", 12 | "/consoleloggerparameters:NoSummary" 13 | ], 14 | "problemMatcher": "$msCompile" 15 | }, 16 | { 17 | "label": "publish", 18 | "command": "dotnet", 19 | "type": "process", 20 | "args": [ 21 | "publish", 22 | "${workspaceFolder}/Commander.csproj", 23 | "/property:GenerateFullPaths=true", 24 | "/consoleloggerparameters:NoSummary" 25 | ], 26 | "problemMatcher": "$msCompile" 27 | }, 28 | { 29 | "label": "watch", 30 | "command": "dotnet", 31 | "type": "process", 32 | "args": [ 33 | "watch", 34 | "run", 35 | "${workspaceFolder}/Commander.csproj", 36 | "/property:GenerateFullPaths=true", 37 | "/consoleloggerparameters:NoSummary" 38 | ], 39 | "problemMatcher": "$msCompile" 40 | } 41 | ] 42 | } -------------------------------------------------------------------------------- /Commander.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | netcoreapp3.1 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | runtime; build; native; contentfiles; analyzers; buildtransitive 14 | all 15 | 16 | 17 | 18 | runtime; build; native; contentfiles; analyzers; buildtransitive 19 | all 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /Controllers/CommandsController.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using AutoMapper; 3 | using Commander.Data; 4 | using Commander.Dtos; 5 | using Commander.Models; 6 | using Microsoft.AspNetCore.JsonPatch; 7 | using Microsoft.AspNetCore.Mvc; 8 | using Swashbuckle.AspNetCore.Annotations; 9 | 10 | //Decoupling: We use this controller to access the repository's implemented class. Then that class accesses the database. 11 | 12 | namespace Commander.Controllers 13 | { 14 | //The [] are attributes: declarative tags to give runtime info for the whole class 15 | //controller level route (base route): how you get to resources/api endpoints 16 | //Route(".."): matches URI to an action --> will use the routing path from actions 17 | [Route("api/commands")] 18 | [ApiController] //gives out of the box behaviours (makes life easier) 19 | public class CommandsController : ControllerBase //if inherit from controller, will bring view support (not needed) 20 | { 21 | //declaring interface repo 22 | //readonly = allows variable to be calculated at runtime | const = must have value at compile time 23 | //_ (underscore) indicates private (naming convention) 24 | private readonly ICommanderRepo _repository; 25 | //AutoMapper instance 26 | private readonly IMapper _mapper; 27 | 28 | //Constructor: dependency is injected into 'repository' variable 29 | //Also: injects an instance of AutoMapper object 30 | public CommandsController(ICommanderRepo repository, IMapper mapper) 31 | { 32 | _repository = repository; 33 | _mapper = mapper; 34 | } 35 | 36 | /* MOCK REPO VARIABLE 37 | private readonly MockCommanderRepo _repository = new MockCommanderRepo(); //--> We don't need this anymore since we have the constructor (DI) 38 | */ 39 | 40 | //This action will respond to GET api/commands 41 | //deciding that this method will respond to GET method 42 | [SwaggerOperation(Summary = "Get all commands.")] //description on swagger UI 43 | [HttpGet] 44 | //create first action result endpoint 45 | public ActionResult > GetAllCommands() 46 | { 47 | var commandItems = _repository.GetAllCommands(); 48 | 49 | //return HTTP 200 OK result + commandItems 50 | return Ok(_mapper.Map>(commandItems)); //will map commandItem to the DTO instance 51 | } 52 | 53 | [SwaggerOperation(Summary = "Get the command of the given id number.")] 54 | //putting {id} gives us a route to this action result, respond to: "GET api/commands/5" 55 | [HttpGet("{id}", Name="GetCommandById")] //since this one and above both respond to GET (same verb), their URI must be differentiated 56 | public ActionResult GetCommandById(int id) //This 'id' comes from the request we pass via the URI (postman) 57 | { //Model Binding: because we set [ApiController]: using default behaviour, id will come from [FromBody] 58 | var commandItem = _repository.GetCommandById(id); 59 | 60 | if(commandItem != null) 61 | return Ok(_mapper.Map(commandItem)); 62 | else 63 | return NotFound(); //if id doesn't exist, will indicate not found 64 | } 65 | 66 | [SwaggerOperation(Summary = "Creating a command; please fill in the three attributes. 'howTo' is the command description, 'line' is the code of the command, and 'platform' is its application platform.")] 67 | //POST api/commands 68 | [HttpPost] 69 | public ActionResult CreateCommand(CommandCreateDto commandCreateDto) 70 | { 71 | //Source -> Target 72 | var commandModel = _mapper.Map(commandCreateDto); //mapping from commandCreateDto to Command obj; returns mapped obj 73 | _repository.CreateCommand(commandModel); //create the model in db context 74 | _repository.SaveChanges(); //save changes so that the object is created in actual db 75 | 76 | 77 | //return a read dto instead 78 | var commandReadDto = _mapper.Map(commandModel); 79 | 80 | //should also be sending back URI + HTTP 201 (REST principle) 81 | return CreatedAtRoute(nameof(GetCommandById), new {id = commandReadDto.id}, commandReadDto); 82 | 83 | //return Ok(commandReadDto); --> returns 200 84 | } 85 | 86 | [SwaggerOperation(Summary = "Replaces the command of the given id with a new command you specify.")] 87 | //PUT api/commands/{id} 88 | //Since we only return http 204, return type = ActionResult 89 | [HttpPut("{id}")] 90 | public ActionResult UpdateCommand(int id, CommandUpdateDto commandUpdateDto) 91 | { 92 | //check if requested model exists 93 | var commandModelFromRepo = _repository.GetCommandById(id); 94 | if(commandModelFromRepo == null) 95 | { 96 | return NotFound(); 97 | } 98 | 99 | //maps the newly created model to the requested one from repo --> updates dbcontext directly 100 | _mapper.Map(commandUpdateDto, commandModelFromRepo); 101 | 102 | //still going to call the repo method although it's empty, some implementations may require it 103 | _repository.UpdateCommand(commandModelFromRepo); 104 | 105 | //flush changes to db 106 | _repository.SaveChanges(); 107 | 108 | //return 204 No Content 109 | return NoContent(); 110 | } 111 | 112 | [SwaggerOperation(Summary = "Use JSON 'replace' operation to perform a partial update on the given command. The 'value' is the new value you'd like, 'path' is either '/line' or '/howTo' (Delete 'from' and replace {} with \" \" for 'value').")] 113 | //PATCH api/commands/{id} 114 | [HttpPatch("{id}")] 115 | public ActionResult PartialCommandUpdate(int id, JsonPatchDocument patchDoc) 116 | { 117 | //check if requested model exists 118 | var commandModelFromRepo = _repository.GetCommandById(id); 119 | if(commandModelFromRepo == null) 120 | { 121 | return NotFound(); 122 | } 123 | 124 | //we are receiving the patchDoc from client, to apply the patch: 125 | 126 | //map repo model to dto 127 | var commandToPatch = _mapper.Map(commandModelFromRepo); 128 | 129 | //applying patch 130 | patchDoc.ApplyTo(commandToPatch, ModelState); 131 | 132 | //validation 133 | if(!TryValidateModel(commandToPatch)) 134 | { 135 | return ValidationProblem(ModelState); 136 | } 137 | 138 | //maps the new patched dto model to the one in repo; updates dbcontext 139 | _mapper.Map(commandToPatch, commandModelFromRepo); 140 | 141 | //redundant empty update command 142 | _repository.UpdateCommand(commandModelFromRepo); 143 | 144 | _repository.SaveChanges(); 145 | 146 | return NoContent(); 147 | } 148 | 149 | [SwaggerOperation(Summary = "Delete the given command.")] 150 | //DELETE api/commands/{id} 151 | [HttpDelete("{id}")] 152 | public ActionResult DeleteCommand(int id) 153 | { 154 | //check if requested model exists 155 | var commandModelFromRepo = _repository.GetCommandById(id); 156 | if(commandModelFromRepo == null) 157 | { 158 | return NotFound(); 159 | } 160 | 161 | //deleting command model 162 | _repository.DeleteCommand(commandModelFromRepo); 163 | _repository.SaveChanges(); 164 | 165 | return NoContent(); 166 | } 167 | } 168 | } 169 | -------------------------------------------------------------------------------- /Data/CommanderContext.cs: -------------------------------------------------------------------------------- 1 | using Commander.Models; 2 | using Microsoft.EntityFrameworkCore; //import EF to use ORM methods 3 | 4 | namespace Commander.Data 5 | { 6 | //an instance of this class is created inside the SqlCommanderRepo class; used to query db 7 | public class CommanderContext : DbContext 8 | { 9 | //uses a constructor initializer, calls the base class constructor with parameter. 10 | public CommanderContext(DbContextOptions opt) : base(opt) 11 | { 12 | 13 | } 14 | 15 | //Creating a command model in our DB: we want to represent our Command object down to our DB as a DbSet called Commands 16 | //Does the mapping for our Command; if more models, need more properties. 17 | public DbSet Commands { get; set; } //'Commands' will be the name of table in migration 18 | } 19 | } -------------------------------------------------------------------------------- /Data/ICommanderRepo.cs: -------------------------------------------------------------------------------- 1 | using System.IO.MemoryMappedFiles; 2 | using System.Reflection; 3 | using System.Collections.Generic; 4 | using Commander.Models; 5 | 6 | //'Data' is our repository 7 | namespace Commander.Data 8 | { 9 | //Interface class. 10 | //Since we are building a CRUD app, our repository interface imitates the CRUD functionalities 11 | public interface ICommanderRepo 12 | { 13 | //every time you make change via dbcontext, the data won't be changed in db unless you use SaveChanges() 14 | bool SaveChanges(); 15 | 16 | 17 | //Give list of all command objects/resources 18 | IEnumerable GetAllCommands(); 19 | 20 | //Return single command depending on provided ID 21 | Command GetCommandById(int id); 22 | 23 | //Create Command object (POST) 24 | void CreateCommand(Command cmd); 25 | 26 | //PUT 27 | void UpdateCommand(Command cmd); 28 | 29 | //DELETE 30 | void DeleteCommand(Command cmd); 31 | } 32 | } -------------------------------------------------------------------------------- /Data/MockCommanderRepo.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using Commander.Models; 3 | 4 | //MOCK REPOSITORY, NOT USED IN FINAL VERSION <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 5 | 6 | //Data = repository 7 | namespace Commander.Data 8 | { 9 | //Implementing ICommanderRepo interface, decoupling code! 10 | public class MockCommanderRepo : ICommanderRepo 11 | { 12 | public void CreateCommand(Command cmd) 13 | { 14 | throw new System.NotImplementedException(); 15 | } 16 | 17 | public void DeleteCommand(Command cmd) 18 | { 19 | throw new System.NotImplementedException(); 20 | } 21 | 22 | public IEnumerable GetAllCommands() 23 | { 24 | var commands = new List //implicit type 25 | { 26 | //mock database data 27 | new Command{id=0, HowTo="Boil an egg", Line="Boil water", Platform="Kettle & Pan"}, //curly brackets: object initializer 28 | new Command{id=0, HowTo="Cut Bread", Line="Get knife", Platform="Table"}, 29 | new Command{id=0, HowTo="Make tea", Line="Place Teabag", Platform="Kettle cup"} 30 | }; 31 | 32 | return commands; 33 | } 34 | 35 | public Command GetCommandById(int id) 36 | { 37 | //mock database data 38 | return new Command{id=id, HowTo="Boil an egg", Line="Boil water", Platform="Kettle & Pan"}; 39 | } 40 | 41 | public bool SaveChanges() 42 | { 43 | throw new System.NotImplementedException(); 44 | } 45 | 46 | public void UpdateCommand(Command cmd) 47 | { 48 | throw new System.NotImplementedException(); 49 | } 50 | } 51 | } -------------------------------------------------------------------------------- /Data/SqlCommanderRepo.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using Commander.Models; 5 | 6 | //Real repo 7 | 8 | namespace Commander.Data 9 | { 10 | public class SqlCommanderRepo : ICommanderRepo 11 | { 12 | //instance of DB context class 13 | private CommanderContext _context; 14 | 15 | //Constructor injection: our dependency injection system will populate this 'context' variable with db data 16 | public SqlCommanderRepo(CommanderContext context) 17 | { 18 | _context = context; 19 | } 20 | 21 | public IEnumerable GetAllCommands() 22 | { 23 | 24 | return _context.Commands.ToList(); //returns a list of all commands from our DB 25 | } 26 | 27 | public Command GetCommandById(int id) 28 | { 29 | //FirstOrDefault = LINQ command 30 | return _context.Commands.FirstOrDefault(p => p.id == id); //returns first id that matches 31 | } 32 | 33 | //adds a command obj to our _context db, saving is needed afterwards 34 | public void CreateCommand(Command cmd) 35 | { 36 | if(cmd == null){ 37 | throw new ArgumentNullException(nameof(cmd)); 38 | } 39 | 40 | _context.Commands.Add(cmd); 41 | } 42 | 43 | //every time you make change via dbcontext, the data won't be changed in db unless you use SaveChanges() 44 | public bool SaveChanges() 45 | { 46 | return (_context.SaveChanges() > 0 ); 47 | } 48 | 49 | //PUT endpoint 50 | public void UpdateCommand(Command cmd) 51 | { 52 | //Nothing! 53 | } 54 | 55 | //DELETE endpoint (no need DTO) 56 | public void DeleteCommand(Command cmd) 57 | { 58 | if(cmd == null){ 59 | throw new ArgumentNullException(nameof(cmd)); 60 | } 61 | 62 | //remove selected command model 63 | _context.Commands.Remove(cmd); 64 | } 65 | } 66 | } -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | # Get base image (Full .NET Core SDK) & Create work dir. where our app will reside 2 | FROM mcr.microsoft.com/dotnet/core/sdk:3.1 AS build-env 3 | WORKDIR /app 4 | 5 | # Copy .csproj file (contains dependencies, specifies how code runs) and restore 6 | COPY *.csproj ./ 7 | RUN dotnet restore 8 | 9 | # Copy everything else and build (out is the folder containing app build dll) 10 | COPY . ./ 11 | RUN dotnet publish -c Release -o out 12 | 13 | # Generate runtime image; only retrieve aspnet runtime image, keeps image "lean" 14 | FROM mcr.microsoft.com/dotnet/core/aspnet:3.1 15 | WORKDIR /app 16 | EXPOSE 80 17 | COPY --from=build-env /app/out . 18 | ENTRYPOINT [ "dotnet", "Commander.dll"] -------------------------------------------------------------------------------- /Dtos/CommandCreateDto.cs: -------------------------------------------------------------------------------- 1 | using System.ComponentModel.DataAnnotations; 2 | 3 | namespace Commander.Dtos //namespace: the name of our project (similar to Java package (?)) 4 | { 5 | //Maps to our internal Command model 6 | public class CommandCreateDto 7 | { 8 | // public int id { get; set; } --> remove because db will create itself the id number 9 | 10 | //data annotation validators here will require these during creation; in case of error, return 400 instead of 500 to client 11 | [Required] 12 | [MaxLength(250)] 13 | public string HowTo { get; set; } 14 | 15 | [Required] 16 | public string Line { get; set; } 17 | 18 | [Required] 19 | public string Platform { get; set; } //cannot remove platform in create class because it's required when reading 20 | } 21 | } -------------------------------------------------------------------------------- /Dtos/CommandReadDto.cs: -------------------------------------------------------------------------------- 1 | using System.ComponentModel.DataAnnotations; 2 | 3 | namespace Commander.Dtos 4 | { 5 | //Maps to our internal Command model 6 | public class CommandReadDto 7 | { 8 | public int id { get; set; } 9 | 10 | public string HowTo { get; set; } 11 | 12 | public string Line { get; set; } 13 | 14 | // public string Platform { get; set; } //we can remove this if we don't want to show it to client 15 | } 16 | } -------------------------------------------------------------------------------- /Dtos/CommandUpdateDto.cs: -------------------------------------------------------------------------------- 1 | using System.ComponentModel.DataAnnotations; 2 | 3 | namespace Commander.Dtos 4 | { 5 | //Maps to our internal Command model 6 | public class CommandUpdateDto 7 | { 8 | [Required] 9 | [MaxLength(250)] 10 | public string HowTo { get; set; } 11 | 12 | [Required] 13 | public string Line { get; set; } 14 | 15 | [Required] 16 | public string Platform { get; set; } 17 | } 18 | } -------------------------------------------------------------------------------- /Migrations/20200829204856_InitialMigration.Designer.cs: -------------------------------------------------------------------------------- 1 | // 2 | using Commander.Data; 3 | using Microsoft.EntityFrameworkCore; 4 | using Microsoft.EntityFrameworkCore.Infrastructure; 5 | using Microsoft.EntityFrameworkCore.Metadata; 6 | using Microsoft.EntityFrameworkCore.Migrations; 7 | using Microsoft.EntityFrameworkCore.Storage.ValueConversion; 8 | 9 | namespace Commander.Migrations 10 | { 11 | [DbContext(typeof(CommanderContext))] 12 | [Migration("20200829204856_InitialMigration")] 13 | partial class InitialMigration 14 | { 15 | protected override void BuildTargetModel(ModelBuilder modelBuilder) 16 | { 17 | #pragma warning disable 612, 618 18 | modelBuilder 19 | .HasAnnotation("ProductVersion", "3.1.7") 20 | .HasAnnotation("Relational:MaxIdentifierLength", 128) 21 | .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); 22 | 23 | modelBuilder.Entity("Commander.Models.Command", b => 24 | { 25 | b.Property("id") 26 | .ValueGeneratedOnAdd() 27 | .HasColumnType("int") 28 | .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); 29 | 30 | b.Property("HowTo") 31 | .IsRequired() 32 | .HasColumnType("nvarchar(250)") 33 | .HasMaxLength(250); 34 | 35 | b.Property("Line") 36 | .IsRequired() 37 | .HasColumnType("nvarchar(max)"); 38 | 39 | b.Property("Platform") 40 | .IsRequired() 41 | .HasColumnType("nvarchar(max)"); 42 | 43 | b.HasKey("id"); 44 | 45 | b.ToTable("Commands"); 46 | }); 47 | #pragma warning restore 612, 618 48 | } 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /Migrations/20200829204856_InitialMigration.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.EntityFrameworkCore.Migrations; 2 | 3 | namespace Commander.Migrations 4 | { 5 | public partial class InitialMigration : Migration 6 | { 7 | protected override void Up(MigrationBuilder migrationBuilder) 8 | { 9 | migrationBuilder.CreateTable( 10 | name: "Commands", //name of table; acquired from context class property 11 | columns: table => new 12 | { 13 | id = table.Column(nullable: false) 14 | .Annotation("SqlServer:Identity", "1, 1"), //id auto-increment 15 | HowTo = table.Column(maxLength: 250, nullable: false), //the rest: not nullable 16 | Line = table.Column(nullable: false), 17 | Platform = table.Column(nullable: false) 18 | }, 19 | constraints: table => 20 | { 21 | table.PrimaryKey("PK_Commands", x => x.id); //primary key 22 | }); 23 | } 24 | 25 | protected override void Down(MigrationBuilder migrationBuilder) 26 | { 27 | migrationBuilder.DropTable( 28 | name: "Commands"); 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /Migrations/CommanderContextModelSnapshot.cs: -------------------------------------------------------------------------------- 1 | // 2 | using Commander.Data; 3 | using Microsoft.EntityFrameworkCore; 4 | using Microsoft.EntityFrameworkCore.Infrastructure; 5 | using Microsoft.EntityFrameworkCore.Metadata; 6 | using Microsoft.EntityFrameworkCore.Storage.ValueConversion; 7 | 8 | namespace Commander.Migrations 9 | { 10 | [DbContext(typeof(CommanderContext))] 11 | partial class CommanderContextModelSnapshot : ModelSnapshot 12 | { 13 | protected override void BuildModel(ModelBuilder modelBuilder) 14 | { 15 | #pragma warning disable 612, 618 16 | modelBuilder 17 | .HasAnnotation("ProductVersion", "3.1.7") 18 | .HasAnnotation("Relational:MaxIdentifierLength", 128) 19 | .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); 20 | 21 | modelBuilder.Entity("Commander.Models.Command", b => 22 | { 23 | b.Property("id") 24 | .ValueGeneratedOnAdd() 25 | .HasColumnType("int") 26 | .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); 27 | 28 | b.Property("HowTo") 29 | .IsRequired() 30 | .HasColumnType("nvarchar(250)") 31 | .HasMaxLength(250); 32 | 33 | b.Property("Line") 34 | .IsRequired() 35 | .HasColumnType("nvarchar(max)"); 36 | 37 | b.Property("Platform") 38 | .IsRequired() 39 | .HasColumnType("nvarchar(max)"); 40 | 41 | b.HasKey("id"); 42 | 43 | b.ToTable("Commands"); 44 | }); 45 | #pragma warning restore 612, 618 46 | } 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /Models/Command.cs: -------------------------------------------------------------------------------- 1 | using System.ComponentModel.DataAnnotations; 2 | 3 | namespace Commander.Models //namespace: the name of our project (similar to Java package (?)) 4 | { 5 | public class Command 6 | { 7 | //This one doesn't need [Required] because by convention, migration will know that id is primary key (not nullable by nature) 8 | [Key] //optional 9 | public int id { get; set; } 10 | 11 | [Required] //attribute to specify value cannot be null 12 | [MaxLength(250)] //attribute to specify max string length 13 | public string HowTo { get; set; } 14 | 15 | [Required] 16 | public string Line { get; set; } //command line snippet we'll store in database 17 | 18 | [Required] 19 | public string Platform { get; set; } //application platform 20 | } 21 | } -------------------------------------------------------------------------------- /Profiles/CommandsProfile.cs: -------------------------------------------------------------------------------- 1 | using AutoMapper; 2 | using Commander.Dtos; 3 | using Commander.Models; 4 | 5 | namespace Commander.Profiles 6 | { 7 | //map our Command model to our Dtos 8 | //inherit base class Profile from AutoMapper namespace 9 | class CommandsProfile : Profile 10 | { 11 | 12 | public CommandsProfile() 13 | { 14 | // Target> 15 | 16 | //automapper: maps from Command & to ReadDto 17 | CreateMap(); 18 | 19 | //mapping the created dto to an actual command obj 20 | CreateMap(); 21 | 22 | //mapping for PUT 23 | CreateMap(); 24 | 25 | //mapping for PATCH 26 | CreateMap(); 27 | } 28 | } 29 | } -------------------------------------------------------------------------------- /Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | using Microsoft.AspNetCore.Hosting; 6 | using Microsoft.Extensions.Configuration; 7 | using Microsoft.Extensions.Hosting; 8 | using Microsoft.Extensions.Logging; 9 | 10 | namespace Commander 11 | { 12 | public class Program 13 | { 14 | public static void Main(string[] args) 15 | { 16 | CreateHostBuilder(args).Build().Run(); 17 | } 18 | 19 | public static IHostBuilder CreateHostBuilder(string[] args) => 20 | Host.CreateDefaultBuilder(args) 21 | .ConfigureWebHostDefaults(webBuilder => 22 | { 23 | webBuilder.UseStartup(); 24 | }); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /Properties/launchSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json.schemastore.org/launchsettings.json", 3 | "iisSettings": { 4 | "windowsAuthentication": false, 5 | "anonymousAuthentication": true, 6 | "iisExpress": { 7 | "applicationUrl": "http://localhost:49672", 8 | "sslPort": 44394 9 | } 10 | }, 11 | "profiles": { 12 | "IIS Express": { 13 | "commandName": "IISExpress", 14 | "launchBrowser": true, 15 | "launchUrl": "weatherforecast", 16 | "environmentVariables": { 17 | "ASPNETCORE_ENVIRONMENT": "Development" 18 | } 19 | }, 20 | "Commander": { 21 | "commandName": "Project", 22 | "launchBrowser": true, 23 | "launchUrl": "weatherforecast", 24 | "applicationUrl": "https://localhost:5001;http://localhost:5000", 25 | "environmentVariables": { 26 | "ASPNETCORE_ENVIRONMENT": "Development" 27 | } 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # CLI Commands REST API (ASP.NET Core MVC) 2 | Site link: http://commanderapi.canadacentral.azurecontainer.io/index.html (if it's down it means I unfortunately ran out of Azure credits...) 3 | #### With the plethora of CLI commands to learn, it is helpful to have an API which returns us commands that we often forget. This Commands API stores command line snippets along with a short description of what it does, as well as which platform it's for. 4 | ### The purpose of this project is to learn and practice concepts related to: 5 | > - Building a REST API 6 | > - .NET Core 7 | > - MVC Architectural Pattern 8 | > - C# 9 | 10 | #### More specifically, I used the following: 11 | > - Dependency injection 12 | > - Repository design pattern 13 | > - SQL Server Express & SSMS 14 | > - Entity Framework Core O/RM (DBContext, Migration) 15 | > - Data Transfer Objects (DTOs) & AutoMapper 16 | > - RESTful API guidelines 17 | > - HTTP (GET, POST, PUT, PATCH, DELETE, status codes) 18 | > - Views (Razor, Shared Layout, ViewBag, RenderSection) 19 | > - Testing API Endpoints (SwaggerUI & Postman) 20 | > - Docker (Container, Image, Deploying on Docker Hub) 21 | > - Microsoft Azure (Deployment: Docker Image + SQL Database) 22 | 23 | *Note: Please excuse the large amount of comments in my code, they are used as notes for later review.* 24 | 25 | ### Application Architecture: 26 | 27 | ![image](https://user-images.githubusercontent.com/59063950/91676248-3553ad80-eb0d-11ea-8fc7-e674ef0784a4.png) 28 | 29 | ### Website Look: 30 | 31 | ![image](https://user-images.githubusercontent.com/59063950/97652889-e1dedc80-1a35-11eb-8748-cd518f40c48b.png) 32 | 33 | ### API Endpoints (CRUD): 34 | 35 | ![image](https://user-images.githubusercontent.com/59063950/91676062-8e6f1180-eb0c-11ea-83b0-affd0f607eac.png) 36 | 37 | ## Sample endpoints using Postman: 38 | 39 | ### [HttpPost] Creates a new command, returns Location header with link to resource, as well as the '201 Created' status code. 40 | 41 | ![image](https://user-images.githubusercontent.com/59063950/91677362-73060580-eb10-11ea-8097-6751b4c014d3.png) 42 | 43 | ### [HttpPatch] Updates the value of the howTo attribute and returns the '204 No Content' status code. 44 | 45 | ![image](https://user-images.githubusercontent.com/59063950/91677120-d17eb400-eb0f-11ea-84ea-8922972542fd.png) 46 | 47 | 48 | -------------------------------------------------------------------------------- /Startup.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Threading.Tasks; 6 | using AutoMapper; 7 | using Commander.Data; 8 | using Microsoft.AspNetCore.Builder; 9 | using Microsoft.AspNetCore.Hosting; 10 | using Microsoft.AspNetCore.HttpsPolicy; 11 | using Microsoft.AspNetCore.Mvc; 12 | using Microsoft.EntityFrameworkCore; 13 | using Microsoft.Extensions.Configuration; 14 | using Microsoft.Extensions.DependencyInjection; 15 | using Microsoft.Extensions.Hosting; 16 | using Microsoft.Extensions.Logging; 17 | using Newtonsoft.Json.Serialization; 18 | using Commander.Models; 19 | using Microsoft.OpenApi.Models; 20 | 21 | namespace Commander 22 | { 23 | public class Startup 24 | { 25 | public Startup(IConfiguration configuration) 26 | { 27 | Configuration = configuration; 28 | } 29 | 30 | public IConfiguration Configuration { get; } 31 | 32 | // This method gets called by the runtime. Use this method to add services to the container. 33 | public void ConfigureServices(IServiceCollection services) 34 | { 35 | //for controllers and PATCH request 36 | services.AddControllers().AddNewtonsoftJson(s => { 37 | s.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver(); 38 | }); 39 | 40 | //Mock repo dependency injection 41 | /*services.AddScoped();*/ 42 | 43 | //Registering service container: whenever ICommanderRepo is asked, give SqlCommanderRepo 44 | //to change implementation, all you have to do is change second parameter! 45 | services.AddScoped(); 46 | 47 | //Configure our DB context class for use within rest of app; dependency injection support, adds dbcontext to service container 48 | services.AddDbContext(opt => opt.UseSqlServer(Configuration.GetConnectionString("CommanderConnection"))); 49 | 50 | //makes automapper available through dependency injection to the rest of our app (for DTOs) 51 | services.AddAutoMapper(AppDomain.CurrentDomain.GetAssemblies()); 52 | 53 | //Swagger UI 54 | services.AddMvc(); 55 | services.AddSwaggerGen(c => 56 | { 57 | c.EnableAnnotations(); 58 | c.SwaggerDoc("v1", new OpenApiInfo { Title = "Matthew's Commander API", Version = "v1" }); 59 | }); 60 | services.AddSwaggerGenNewtonsoftSupport(); 61 | } 62 | 63 | // This method gets called by the runtime. Use this method to configure the HTTP request pipeline. 64 | public void Configure(IApplicationBuilder app, IWebHostEnvironment env) 65 | { 66 | // if (env.IsDevelopment()) 67 | // { 68 | // app.UseDeveloperExceptionPage(); 69 | // } 70 | 71 | // app.UseHttpsRedirection(); 72 | 73 | app.UseRouting(); 74 | 75 | app.UseAuthorization(); 76 | 77 | app.UseSwagger(); 78 | 79 | app.UseSwaggerUI(c => 80 | { 81 | c.RoutePrefix= ""; 82 | c.SwaggerEndpoint("/swagger/v1/swagger.json", "Commander API V1"); 83 | }); 84 | 85 | app.UseStaticFiles(); 86 | 87 | app.UseEndpoints(endpoints => 88 | { 89 | endpoints.MapControllers(); 90 | }); 91 | } 92 | } 93 | } 94 | -------------------------------------------------------------------------------- /appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /bin/Debug/netcoreapp3.1/AutoMapper.Extensions.Microsoft.DependencyInjection.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fryingpannn/.NETCore_MVC_RESTAPI/dddddca1f74cc7ed3b02edae7c94a5e1d1a9def8/bin/Debug/netcoreapp3.1/AutoMapper.Extensions.Microsoft.DependencyInjection.dll -------------------------------------------------------------------------------- /bin/Debug/netcoreapp3.1/AutoMapper.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fryingpannn/.NETCore_MVC_RESTAPI/dddddca1f74cc7ed3b02edae7c94a5e1d1a9def8/bin/Debug/netcoreapp3.1/AutoMapper.dll -------------------------------------------------------------------------------- /bin/Debug/netcoreapp3.1/Commander.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fryingpannn/.NETCore_MVC_RESTAPI/dddddca1f74cc7ed3b02edae7c94a5e1d1a9def8/bin/Debug/netcoreapp3.1/Commander.dll -------------------------------------------------------------------------------- /bin/Debug/netcoreapp3.1/Commander.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fryingpannn/.NETCore_MVC_RESTAPI/dddddca1f74cc7ed3b02edae7c94a5e1d1a9def8/bin/Debug/netcoreapp3.1/Commander.exe -------------------------------------------------------------------------------- /bin/Debug/netcoreapp3.1/Commander.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fryingpannn/.NETCore_MVC_RESTAPI/dddddca1f74cc7ed3b02edae7c94a5e1d1a9def8/bin/Debug/netcoreapp3.1/Commander.pdb -------------------------------------------------------------------------------- /bin/Debug/netcoreapp3.1/Commander.runtimeconfig.dev.json: -------------------------------------------------------------------------------- 1 | { 2 | "runtimeOptions": { 3 | "additionalProbingPaths": [ 4 | "C:\\Users\\mattx\\.dotnet\\store\\|arch|\\|tfm|", 5 | "C:\\Users\\mattx\\.nuget\\packages" 6 | ] 7 | } 8 | } -------------------------------------------------------------------------------- /bin/Debug/netcoreapp3.1/Commander.runtimeconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "runtimeOptions": { 3 | "tfm": "netcoreapp3.1", 4 | "framework": { 5 | "name": "Microsoft.AspNetCore.App", 6 | "version": "3.1.0" 7 | }, 8 | "configProperties": { 9 | "System.GC.Server": true 10 | } 11 | } 12 | } -------------------------------------------------------------------------------- /bin/Debug/netcoreapp3.1/Microsoft.AspNetCore.JsonPatch.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fryingpannn/.NETCore_MVC_RESTAPI/dddddca1f74cc7ed3b02edae7c94a5e1d1a9def8/bin/Debug/netcoreapp3.1/Microsoft.AspNetCore.JsonPatch.dll -------------------------------------------------------------------------------- /bin/Debug/netcoreapp3.1/Microsoft.AspNetCore.Mvc.NewtonsoftJson.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fryingpannn/.NETCore_MVC_RESTAPI/dddddca1f74cc7ed3b02edae7c94a5e1d1a9def8/bin/Debug/netcoreapp3.1/Microsoft.AspNetCore.Mvc.NewtonsoftJson.dll -------------------------------------------------------------------------------- /bin/Debug/netcoreapp3.1/Microsoft.Bcl.AsyncInterfaces.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fryingpannn/.NETCore_MVC_RESTAPI/dddddca1f74cc7ed3b02edae7c94a5e1d1a9def8/bin/Debug/netcoreapp3.1/Microsoft.Bcl.AsyncInterfaces.dll -------------------------------------------------------------------------------- /bin/Debug/netcoreapp3.1/Microsoft.Bcl.HashCode.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fryingpannn/.NETCore_MVC_RESTAPI/dddddca1f74cc7ed3b02edae7c94a5e1d1a9def8/bin/Debug/netcoreapp3.1/Microsoft.Bcl.HashCode.dll -------------------------------------------------------------------------------- /bin/Debug/netcoreapp3.1/Microsoft.Data.SqlClient.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fryingpannn/.NETCore_MVC_RESTAPI/dddddca1f74cc7ed3b02edae7c94a5e1d1a9def8/bin/Debug/netcoreapp3.1/Microsoft.Data.SqlClient.dll -------------------------------------------------------------------------------- /bin/Debug/netcoreapp3.1/Microsoft.EntityFrameworkCore.Abstractions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fryingpannn/.NETCore_MVC_RESTAPI/dddddca1f74cc7ed3b02edae7c94a5e1d1a9def8/bin/Debug/netcoreapp3.1/Microsoft.EntityFrameworkCore.Abstractions.dll -------------------------------------------------------------------------------- /bin/Debug/netcoreapp3.1/Microsoft.EntityFrameworkCore.Design.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fryingpannn/.NETCore_MVC_RESTAPI/dddddca1f74cc7ed3b02edae7c94a5e1d1a9def8/bin/Debug/netcoreapp3.1/Microsoft.EntityFrameworkCore.Design.dll -------------------------------------------------------------------------------- /bin/Debug/netcoreapp3.1/Microsoft.EntityFrameworkCore.Relational.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fryingpannn/.NETCore_MVC_RESTAPI/dddddca1f74cc7ed3b02edae7c94a5e1d1a9def8/bin/Debug/netcoreapp3.1/Microsoft.EntityFrameworkCore.Relational.dll -------------------------------------------------------------------------------- /bin/Debug/netcoreapp3.1/Microsoft.EntityFrameworkCore.SqlServer.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fryingpannn/.NETCore_MVC_RESTAPI/dddddca1f74cc7ed3b02edae7c94a5e1d1a9def8/bin/Debug/netcoreapp3.1/Microsoft.EntityFrameworkCore.SqlServer.dll -------------------------------------------------------------------------------- /bin/Debug/netcoreapp3.1/Microsoft.EntityFrameworkCore.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fryingpannn/.NETCore_MVC_RESTAPI/dddddca1f74cc7ed3b02edae7c94a5e1d1a9def8/bin/Debug/netcoreapp3.1/Microsoft.EntityFrameworkCore.dll -------------------------------------------------------------------------------- /bin/Debug/netcoreapp3.1/Microsoft.Extensions.Caching.Abstractions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fryingpannn/.NETCore_MVC_RESTAPI/dddddca1f74cc7ed3b02edae7c94a5e1d1a9def8/bin/Debug/netcoreapp3.1/Microsoft.Extensions.Caching.Abstractions.dll -------------------------------------------------------------------------------- /bin/Debug/netcoreapp3.1/Microsoft.Extensions.Caching.Memory.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fryingpannn/.NETCore_MVC_RESTAPI/dddddca1f74cc7ed3b02edae7c94a5e1d1a9def8/bin/Debug/netcoreapp3.1/Microsoft.Extensions.Caching.Memory.dll -------------------------------------------------------------------------------- /bin/Debug/netcoreapp3.1/Microsoft.Extensions.Configuration.Abstractions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fryingpannn/.NETCore_MVC_RESTAPI/dddddca1f74cc7ed3b02edae7c94a5e1d1a9def8/bin/Debug/netcoreapp3.1/Microsoft.Extensions.Configuration.Abstractions.dll -------------------------------------------------------------------------------- /bin/Debug/netcoreapp3.1/Microsoft.Extensions.Configuration.Binder.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fryingpannn/.NETCore_MVC_RESTAPI/dddddca1f74cc7ed3b02edae7c94a5e1d1a9def8/bin/Debug/netcoreapp3.1/Microsoft.Extensions.Configuration.Binder.dll -------------------------------------------------------------------------------- /bin/Debug/netcoreapp3.1/Microsoft.Extensions.Configuration.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fryingpannn/.NETCore_MVC_RESTAPI/dddddca1f74cc7ed3b02edae7c94a5e1d1a9def8/bin/Debug/netcoreapp3.1/Microsoft.Extensions.Configuration.dll -------------------------------------------------------------------------------- /bin/Debug/netcoreapp3.1/Microsoft.Extensions.DependencyInjection.Abstractions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fryingpannn/.NETCore_MVC_RESTAPI/dddddca1f74cc7ed3b02edae7c94a5e1d1a9def8/bin/Debug/netcoreapp3.1/Microsoft.Extensions.DependencyInjection.Abstractions.dll -------------------------------------------------------------------------------- /bin/Debug/netcoreapp3.1/Microsoft.Extensions.DependencyInjection.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fryingpannn/.NETCore_MVC_RESTAPI/dddddca1f74cc7ed3b02edae7c94a5e1d1a9def8/bin/Debug/netcoreapp3.1/Microsoft.Extensions.DependencyInjection.dll -------------------------------------------------------------------------------- /bin/Debug/netcoreapp3.1/Microsoft.Extensions.Logging.Abstractions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fryingpannn/.NETCore_MVC_RESTAPI/dddddca1f74cc7ed3b02edae7c94a5e1d1a9def8/bin/Debug/netcoreapp3.1/Microsoft.Extensions.Logging.Abstractions.dll -------------------------------------------------------------------------------- /bin/Debug/netcoreapp3.1/Microsoft.Extensions.Logging.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fryingpannn/.NETCore_MVC_RESTAPI/dddddca1f74cc7ed3b02edae7c94a5e1d1a9def8/bin/Debug/netcoreapp3.1/Microsoft.Extensions.Logging.dll -------------------------------------------------------------------------------- /bin/Debug/netcoreapp3.1/Microsoft.Extensions.Options.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fryingpannn/.NETCore_MVC_RESTAPI/dddddca1f74cc7ed3b02edae7c94a5e1d1a9def8/bin/Debug/netcoreapp3.1/Microsoft.Extensions.Options.dll -------------------------------------------------------------------------------- /bin/Debug/netcoreapp3.1/Microsoft.Extensions.Primitives.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fryingpannn/.NETCore_MVC_RESTAPI/dddddca1f74cc7ed3b02edae7c94a5e1d1a9def8/bin/Debug/netcoreapp3.1/Microsoft.Extensions.Primitives.dll -------------------------------------------------------------------------------- /bin/Debug/netcoreapp3.1/Microsoft.Identity.Client.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fryingpannn/.NETCore_MVC_RESTAPI/dddddca1f74cc7ed3b02edae7c94a5e1d1a9def8/bin/Debug/netcoreapp3.1/Microsoft.Identity.Client.dll -------------------------------------------------------------------------------- /bin/Debug/netcoreapp3.1/Microsoft.IdentityModel.JsonWebTokens.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fryingpannn/.NETCore_MVC_RESTAPI/dddddca1f74cc7ed3b02edae7c94a5e1d1a9def8/bin/Debug/netcoreapp3.1/Microsoft.IdentityModel.JsonWebTokens.dll -------------------------------------------------------------------------------- /bin/Debug/netcoreapp3.1/Microsoft.IdentityModel.Logging.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fryingpannn/.NETCore_MVC_RESTAPI/dddddca1f74cc7ed3b02edae7c94a5e1d1a9def8/bin/Debug/netcoreapp3.1/Microsoft.IdentityModel.Logging.dll -------------------------------------------------------------------------------- /bin/Debug/netcoreapp3.1/Microsoft.IdentityModel.Protocols.OpenIdConnect.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fryingpannn/.NETCore_MVC_RESTAPI/dddddca1f74cc7ed3b02edae7c94a5e1d1a9def8/bin/Debug/netcoreapp3.1/Microsoft.IdentityModel.Protocols.OpenIdConnect.dll -------------------------------------------------------------------------------- /bin/Debug/netcoreapp3.1/Microsoft.IdentityModel.Protocols.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fryingpannn/.NETCore_MVC_RESTAPI/dddddca1f74cc7ed3b02edae7c94a5e1d1a9def8/bin/Debug/netcoreapp3.1/Microsoft.IdentityModel.Protocols.dll -------------------------------------------------------------------------------- /bin/Debug/netcoreapp3.1/Microsoft.IdentityModel.Tokens.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fryingpannn/.NETCore_MVC_RESTAPI/dddddca1f74cc7ed3b02edae7c94a5e1d1a9def8/bin/Debug/netcoreapp3.1/Microsoft.IdentityModel.Tokens.dll -------------------------------------------------------------------------------- /bin/Debug/netcoreapp3.1/Microsoft.OpenApi.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fryingpannn/.NETCore_MVC_RESTAPI/dddddca1f74cc7ed3b02edae7c94a5e1d1a9def8/bin/Debug/netcoreapp3.1/Microsoft.OpenApi.dll -------------------------------------------------------------------------------- /bin/Debug/netcoreapp3.1/Newtonsoft.Json.Bson.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fryingpannn/.NETCore_MVC_RESTAPI/dddddca1f74cc7ed3b02edae7c94a5e1d1a9def8/bin/Debug/netcoreapp3.1/Newtonsoft.Json.Bson.dll -------------------------------------------------------------------------------- /bin/Debug/netcoreapp3.1/Newtonsoft.Json.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fryingpannn/.NETCore_MVC_RESTAPI/dddddca1f74cc7ed3b02edae7c94a5e1d1a9def8/bin/Debug/netcoreapp3.1/Newtonsoft.Json.dll -------------------------------------------------------------------------------- /bin/Debug/netcoreapp3.1/Properties/launchSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json.schemastore.org/launchsettings.json", 3 | "iisSettings": { 4 | "windowsAuthentication": false, 5 | "anonymousAuthentication": true, 6 | "iisExpress": { 7 | "applicationUrl": "http://localhost:49672", 8 | "sslPort": 44394 9 | } 10 | }, 11 | "profiles": { 12 | "IIS Express": { 13 | "commandName": "IISExpress", 14 | "launchBrowser": true, 15 | "launchUrl": "weatherforecast", 16 | "environmentVariables": { 17 | "ASPNETCORE_ENVIRONMENT": "Development" 18 | } 19 | }, 20 | "Commander": { 21 | "commandName": "Project", 22 | "launchBrowser": true, 23 | "launchUrl": "weatherforecast", 24 | "applicationUrl": "https://localhost:5001;http://localhost:5000", 25 | "environmentVariables": { 26 | "ASPNETCORE_ENVIRONMENT": "Development" 27 | } 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /bin/Debug/netcoreapp3.1/Swashbuckle.AspNetCore.Annotations.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fryingpannn/.NETCore_MVC_RESTAPI/dddddca1f74cc7ed3b02edae7c94a5e1d1a9def8/bin/Debug/netcoreapp3.1/Swashbuckle.AspNetCore.Annotations.dll -------------------------------------------------------------------------------- /bin/Debug/netcoreapp3.1/Swashbuckle.AspNetCore.Newtonsoft.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fryingpannn/.NETCore_MVC_RESTAPI/dddddca1f74cc7ed3b02edae7c94a5e1d1a9def8/bin/Debug/netcoreapp3.1/Swashbuckle.AspNetCore.Newtonsoft.dll -------------------------------------------------------------------------------- /bin/Debug/netcoreapp3.1/Swashbuckle.AspNetCore.Swagger.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fryingpannn/.NETCore_MVC_RESTAPI/dddddca1f74cc7ed3b02edae7c94a5e1d1a9def8/bin/Debug/netcoreapp3.1/Swashbuckle.AspNetCore.Swagger.dll -------------------------------------------------------------------------------- /bin/Debug/netcoreapp3.1/Swashbuckle.AspNetCore.SwaggerGen.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fryingpannn/.NETCore_MVC_RESTAPI/dddddca1f74cc7ed3b02edae7c94a5e1d1a9def8/bin/Debug/netcoreapp3.1/Swashbuckle.AspNetCore.SwaggerGen.dll -------------------------------------------------------------------------------- /bin/Debug/netcoreapp3.1/Swashbuckle.AspNetCore.SwaggerUI.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fryingpannn/.NETCore_MVC_RESTAPI/dddddca1f74cc7ed3b02edae7c94a5e1d1a9def8/bin/Debug/netcoreapp3.1/Swashbuckle.AspNetCore.SwaggerUI.dll -------------------------------------------------------------------------------- /bin/Debug/netcoreapp3.1/System.Collections.Immutable.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fryingpannn/.NETCore_MVC_RESTAPI/dddddca1f74cc7ed3b02edae7c94a5e1d1a9def8/bin/Debug/netcoreapp3.1/System.Collections.Immutable.dll -------------------------------------------------------------------------------- /bin/Debug/netcoreapp3.1/System.Configuration.ConfigurationManager.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fryingpannn/.NETCore_MVC_RESTAPI/dddddca1f74cc7ed3b02edae7c94a5e1d1a9def8/bin/Debug/netcoreapp3.1/System.Configuration.ConfigurationManager.dll -------------------------------------------------------------------------------- /bin/Debug/netcoreapp3.1/System.Diagnostics.DiagnosticSource.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fryingpannn/.NETCore_MVC_RESTAPI/dddddca1f74cc7ed3b02edae7c94a5e1d1a9def8/bin/Debug/netcoreapp3.1/System.Diagnostics.DiagnosticSource.dll -------------------------------------------------------------------------------- /bin/Debug/netcoreapp3.1/System.IdentityModel.Tokens.Jwt.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fryingpannn/.NETCore_MVC_RESTAPI/dddddca1f74cc7ed3b02edae7c94a5e1d1a9def8/bin/Debug/netcoreapp3.1/System.IdentityModel.Tokens.Jwt.dll -------------------------------------------------------------------------------- /bin/Debug/netcoreapp3.1/System.Runtime.Caching.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fryingpannn/.NETCore_MVC_RESTAPI/dddddca1f74cc7ed3b02edae7c94a5e1d1a9def8/bin/Debug/netcoreapp3.1/System.Runtime.Caching.dll -------------------------------------------------------------------------------- /bin/Debug/netcoreapp3.1/System.Security.Cryptography.ProtectedData.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fryingpannn/.NETCore_MVC_RESTAPI/dddddca1f74cc7ed3b02edae7c94a5e1d1a9def8/bin/Debug/netcoreapp3.1/System.Security.Cryptography.ProtectedData.dll -------------------------------------------------------------------------------- /bin/Debug/netcoreapp3.1/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /bin/Debug/netcoreapp3.1/runtimes/unix/lib/netcoreapp2.0/System.Runtime.Caching.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fryingpannn/.NETCore_MVC_RESTAPI/dddddca1f74cc7ed3b02edae7c94a5e1d1a9def8/bin/Debug/netcoreapp3.1/runtimes/unix/lib/netcoreapp2.0/System.Runtime.Caching.dll -------------------------------------------------------------------------------- /bin/Debug/netcoreapp3.1/runtimes/unix/lib/netcoreapp2.1/Microsoft.Data.SqlClient.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fryingpannn/.NETCore_MVC_RESTAPI/dddddca1f74cc7ed3b02edae7c94a5e1d1a9def8/bin/Debug/netcoreapp3.1/runtimes/unix/lib/netcoreapp2.1/Microsoft.Data.SqlClient.dll -------------------------------------------------------------------------------- /bin/Debug/netcoreapp3.1/runtimes/win-arm64/native/sni.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fryingpannn/.NETCore_MVC_RESTAPI/dddddca1f74cc7ed3b02edae7c94a5e1d1a9def8/bin/Debug/netcoreapp3.1/runtimes/win-arm64/native/sni.dll -------------------------------------------------------------------------------- /bin/Debug/netcoreapp3.1/runtimes/win-x64/native/sni.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fryingpannn/.NETCore_MVC_RESTAPI/dddddca1f74cc7ed3b02edae7c94a5e1d1a9def8/bin/Debug/netcoreapp3.1/runtimes/win-x64/native/sni.dll -------------------------------------------------------------------------------- /bin/Debug/netcoreapp3.1/runtimes/win-x86/native/sni.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fryingpannn/.NETCore_MVC_RESTAPI/dddddca1f74cc7ed3b02edae7c94a5e1d1a9def8/bin/Debug/netcoreapp3.1/runtimes/win-x86/native/sni.dll -------------------------------------------------------------------------------- /bin/Debug/netcoreapp3.1/runtimes/win/lib/netcoreapp2.0/System.Runtime.Caching.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fryingpannn/.NETCore_MVC_RESTAPI/dddddca1f74cc7ed3b02edae7c94a5e1d1a9def8/bin/Debug/netcoreapp3.1/runtimes/win/lib/netcoreapp2.0/System.Runtime.Caching.dll -------------------------------------------------------------------------------- /bin/Debug/netcoreapp3.1/runtimes/win/lib/netcoreapp2.1/Microsoft.Data.SqlClient.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fryingpannn/.NETCore_MVC_RESTAPI/dddddca1f74cc7ed3b02edae7c94a5e1d1a9def8/bin/Debug/netcoreapp3.1/runtimes/win/lib/netcoreapp2.1/Microsoft.Data.SqlClient.dll -------------------------------------------------------------------------------- /bin/Debug/netcoreapp3.1/runtimes/win/lib/netstandard2.0/System.Security.Cryptography.ProtectedData.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fryingpannn/.NETCore_MVC_RESTAPI/dddddca1f74cc7ed3b02edae7c94a5e1d1a9def8/bin/Debug/netcoreapp3.1/runtimes/win/lib/netstandard2.0/System.Security.Cryptography.ProtectedData.dll -------------------------------------------------------------------------------- /obj/Commander.csproj.EntityFrameworkCore.targets: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /obj/Commander.csproj.nuget.dgspec.json: -------------------------------------------------------------------------------- 1 | { 2 | "format": 1, 3 | "restore": { 4 | "D:\\ALL\\Work\\Coding\\VSCode\\C#\\RESTProject\\Commander\\Commander.csproj": {} 5 | }, 6 | "projects": { 7 | "D:\\ALL\\Work\\Coding\\VSCode\\C#\\RESTProject\\Commander\\Commander.csproj": { 8 | "version": "1.0.0", 9 | "restore": { 10 | "projectUniqueName": "D:\\ALL\\Work\\Coding\\VSCode\\C#\\RESTProject\\Commander\\Commander.csproj", 11 | "projectName": "Commander", 12 | "projectPath": "D:\\ALL\\Work\\Coding\\VSCode\\C#\\RESTProject\\Commander\\Commander.csproj", 13 | "packagesPath": "C:\\Users\\mattx\\.nuget\\packages\\", 14 | "outputPath": "D:\\ALL\\Work\\Coding\\VSCode\\C#\\RESTProject\\Commander\\obj\\", 15 | "projectStyle": "PackageReference", 16 | "configFilePaths": [ 17 | "C:\\Users\\mattx\\AppData\\Roaming\\NuGet\\NuGet.Config", 18 | "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config" 19 | ], 20 | "originalTargetFrameworks": [ 21 | "netcoreapp3.1" 22 | ], 23 | "sources": { 24 | "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {}, 25 | "https://api.nuget.org/v3/index.json": {} 26 | }, 27 | "frameworks": { 28 | "netcoreapp3.1": { 29 | "projectReferences": {} 30 | } 31 | }, 32 | "warningProperties": { 33 | "warnAsError": [ 34 | "NU1605" 35 | ] 36 | } 37 | }, 38 | "frameworks": { 39 | "netcoreapp3.1": { 40 | "dependencies": { 41 | "AutoMapper.Extensions.Microsoft.DependencyInjection": { 42 | "target": "Package", 43 | "version": "[8.0.1, )" 44 | }, 45 | "Microsoft.AspNetCore.JsonPatch": { 46 | "target": "Package", 47 | "version": "[3.1.7, )" 48 | }, 49 | "Microsoft.AspNetCore.Mvc.NewtonsoftJson": { 50 | "target": "Package", 51 | "version": "[3.1.7, )" 52 | }, 53 | "Microsoft.EntityFrameworkCore": { 54 | "target": "Package", 55 | "version": "[3.1.7, )" 56 | }, 57 | "Microsoft.EntityFrameworkCore.Design": { 58 | "include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive", 59 | "suppressParent": "All", 60 | "target": "Package", 61 | "version": "[3.1.7, )" 62 | }, 63 | "Microsoft.EntityFrameworkCore.SqlServer": { 64 | "target": "Package", 65 | "version": "[3.1.7, )" 66 | }, 67 | "Microsoft.EntityFrameworkCore.Tools": { 68 | "include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive", 69 | "suppressParent": "All", 70 | "target": "Package", 71 | "version": "[3.1.7, )" 72 | }, 73 | "Swashbuckle.AspNetCore": { 74 | "target": "Package", 75 | "version": "[5.5.0, )" 76 | }, 77 | "Swashbuckle.AspNetCore.Annotations": { 78 | "target": "Package", 79 | "version": "[5.5.1, )" 80 | }, 81 | "Swashbuckle.AspNetCore.Newtonsoft": { 82 | "target": "Package", 83 | "version": "[5.5.0, )" 84 | } 85 | }, 86 | "imports": [ 87 | "net461", 88 | "net462", 89 | "net47", 90 | "net471", 91 | "net472", 92 | "net48" 93 | ], 94 | "assetTargetFallback": true, 95 | "warn": true, 96 | "frameworkReferences": { 97 | "Microsoft.AspNetCore.App": { 98 | "privateAssets": "none" 99 | }, 100 | "Microsoft.NETCore.App": { 101 | "privateAssets": "all" 102 | } 103 | }, 104 | "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\3.1.401\\RuntimeIdentifierGraph.json" 105 | } 106 | } 107 | } 108 | } 109 | } -------------------------------------------------------------------------------- /obj/Commander.csproj.nuget.g.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | True 5 | NuGet 6 | $(MSBuildThisFileDirectory)project.assets.json 7 | $(UserProfile)\.nuget\packages\ 8 | C:\Users\mattx\.nuget\packages\ 9 | PackageReference 10 | 5.7.0 11 | 12 | 13 | 14 | 15 | 16 | $(MSBuildAllProjects);$(MSBuildThisFileFullPath) 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | C:\Users\mattx\.nuget\packages\microsoft.extensions.apidescription.server\3.0.0 25 | C:\Users\mattx\.nuget\packages\microsoft.entityframeworkcore.tools\3.1.7 26 | 27 | -------------------------------------------------------------------------------- /obj/Commander.csproj.nuget.g.targets: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | $(MSBuildAllProjects);$(MSBuildThisFileFullPath) 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /obj/Debug/netcoreapp3.1/.NETCoreApp,Version=v3.1.AssemblyAttributes.cs: -------------------------------------------------------------------------------- 1 | // 2 | using System; 3 | using System.Reflection; 4 | [assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v3.1", FrameworkDisplayName = "")] 5 | -------------------------------------------------------------------------------- /obj/Debug/netcoreapp3.1/Commander.AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | using System; 12 | using System.Reflection; 13 | 14 | [assembly: System.Reflection.AssemblyCompanyAttribute("Commander")] 15 | [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] 16 | [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] 17 | [assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")] 18 | [assembly: System.Reflection.AssemblyProductAttribute("Commander")] 19 | [assembly: System.Reflection.AssemblyTitleAttribute("Commander")] 20 | [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] 21 | 22 | // Generated by the MSBuild WriteCodeFragment class. 23 | 24 | -------------------------------------------------------------------------------- /obj/Debug/netcoreapp3.1/Commander.AssemblyInfoInputs.cache: -------------------------------------------------------------------------------- 1 | 0f406285354732d6a6e86d712b3e06b082c48d89 2 | -------------------------------------------------------------------------------- /obj/Debug/netcoreapp3.1/Commander.MvcApplicationPartsAssemblyInfo.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fryingpannn/.NETCore_MVC_RESTAPI/dddddca1f74cc7ed3b02edae7c94a5e1d1a9def8/obj/Debug/netcoreapp3.1/Commander.MvcApplicationPartsAssemblyInfo.cache -------------------------------------------------------------------------------- /obj/Debug/netcoreapp3.1/Commander.MvcApplicationPartsAssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // 5 | // Changes to this file may cause incorrect behavior and will be lost if 6 | // the code is regenerated. 7 | // 8 | //------------------------------------------------------------------------------ 9 | 10 | using System; 11 | using System.Reflection; 12 | 13 | [assembly: Microsoft.AspNetCore.Mvc.ApplicationParts.ApplicationPartAttribute("Swashbuckle.AspNetCore.Annotations")] 14 | [assembly: Microsoft.AspNetCore.Mvc.ApplicationParts.ApplicationPartAttribute("Swashbuckle.AspNetCore.Newtonsoft")] 15 | [assembly: Microsoft.AspNetCore.Mvc.ApplicationParts.ApplicationPartAttribute("Swashbuckle.AspNetCore.SwaggerGen")] 16 | 17 | // Generated by the MSBuild WriteCodeFragment class. 18 | 19 | -------------------------------------------------------------------------------- /obj/Debug/netcoreapp3.1/Commander.RazorAssemblyInfo.cache: -------------------------------------------------------------------------------- 1 | d618e43cb8eac2e0058b949603bdd9069e662bf5 2 | -------------------------------------------------------------------------------- /obj/Debug/netcoreapp3.1/Commander.RazorAssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | using System; 12 | using System.Reflection; 13 | 14 | [assembly: Microsoft.AspNetCore.Mvc.ApplicationParts.RelatedAssemblyAttribute("Commander.Views")] 15 | 16 | // Generated by the MSBuild WriteCodeFragment class. 17 | 18 | -------------------------------------------------------------------------------- /obj/Debug/netcoreapp3.1/Commander.RazorTargetAssemblyInfo.cache: -------------------------------------------------------------------------------- 1 | e90babe7c12d2fcc5b0278f1156fc049e6f6e251 2 | -------------------------------------------------------------------------------- /obj/Debug/netcoreapp3.1/Commander.assets.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fryingpannn/.NETCore_MVC_RESTAPI/dddddca1f74cc7ed3b02edae7c94a5e1d1a9def8/obj/Debug/netcoreapp3.1/Commander.assets.cache -------------------------------------------------------------------------------- /obj/Debug/netcoreapp3.1/Commander.csproj.CopyComplete: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fryingpannn/.NETCore_MVC_RESTAPI/dddddca1f74cc7ed3b02edae7c94a5e1d1a9def8/obj/Debug/netcoreapp3.1/Commander.csproj.CopyComplete -------------------------------------------------------------------------------- /obj/Debug/netcoreapp3.1/Commander.csproj.CoreCompileInputs.cache: -------------------------------------------------------------------------------- 1 | f9a441e32499ec38df6129d6dca662ffd9f93bf5 2 | -------------------------------------------------------------------------------- /obj/Debug/netcoreapp3.1/Commander.csproj.FileListAbsolute.txt: -------------------------------------------------------------------------------- 1 | D:\ALL\Work\Coding\VSCode\C#\RESTProject\Commander\bin\Debug\netcoreapp3.1\appsettings.Development.json 2 | D:\ALL\Work\Coding\VSCode\C#\RESTProject\Commander\bin\Debug\netcoreapp3.1\appsettings.json 3 | D:\ALL\Work\Coding\VSCode\C#\RESTProject\Commander\bin\Debug\netcoreapp3.1\Properties\launchSettings.json 4 | D:\ALL\Work\Coding\VSCode\C#\RESTProject\Commander\bin\Debug\netcoreapp3.1\Commander.exe 5 | D:\ALL\Work\Coding\VSCode\C#\RESTProject\Commander\bin\Debug\netcoreapp3.1\Commander.deps.json 6 | D:\ALL\Work\Coding\VSCode\C#\RESTProject\Commander\bin\Debug\netcoreapp3.1\Commander.runtimeconfig.json 7 | D:\ALL\Work\Coding\VSCode\C#\RESTProject\Commander\bin\Debug\netcoreapp3.1\Commander.runtimeconfig.dev.json 8 | D:\ALL\Work\Coding\VSCode\C#\RESTProject\Commander\bin\Debug\netcoreapp3.1\Commander.dll 9 | D:\ALL\Work\Coding\VSCode\C#\RESTProject\Commander\bin\Debug\netcoreapp3.1\Commander.pdb 10 | D:\ALL\Work\Coding\VSCode\C#\RESTProject\Commander\obj\Debug\netcoreapp3.1\Commander.csprojAssemblyReference.cache 11 | D:\ALL\Work\Coding\VSCode\C#\RESTProject\Commander\obj\Debug\netcoreapp3.1\Commander.AssemblyInfoInputs.cache 12 | D:\ALL\Work\Coding\VSCode\C#\RESTProject\Commander\obj\Debug\netcoreapp3.1\Commander.AssemblyInfo.cs 13 | D:\ALL\Work\Coding\VSCode\C#\RESTProject\Commander\obj\Debug\netcoreapp3.1\Commander.csproj.CoreCompileInputs.cache 14 | D:\ALL\Work\Coding\VSCode\C#\RESTProject\Commander\obj\Debug\netcoreapp3.1\Commander.MvcApplicationPartsAssemblyInfo.cache 15 | D:\ALL\Work\Coding\VSCode\C#\RESTProject\Commander\obj\Debug\netcoreapp3.1\Commander.RazorTargetAssemblyInfo.cache 16 | D:\ALL\Work\Coding\VSCode\C#\RESTProject\Commander\obj\Debug\netcoreapp3.1\staticwebassets\Commander.StaticWebAssets.Manifest.cache 17 | D:\ALL\Work\Coding\VSCode\C#\RESTProject\Commander\obj\Debug\netcoreapp3.1\staticwebassets\Commander.StaticWebAssets.xml 18 | D:\ALL\Work\Coding\VSCode\C#\RESTProject\Commander\obj\Debug\netcoreapp3.1\Commander.dll 19 | D:\ALL\Work\Coding\VSCode\C#\RESTProject\Commander\obj\Debug\netcoreapp3.1\Commander.pdb 20 | D:\ALL\Work\Coding\VSCode\C#\RESTProject\Commander\obj\Debug\netcoreapp3.1\Commander.genruntimeconfig.cache 21 | D:\ALL\Work\Coding\VSCode\C#\RESTProject\Commander\bin\Debug\netcoreapp3.1\Microsoft.Bcl.AsyncInterfaces.dll 22 | D:\ALL\Work\Coding\VSCode\C#\RESTProject\Commander\bin\Debug\netcoreapp3.1\Microsoft.Bcl.HashCode.dll 23 | D:\ALL\Work\Coding\VSCode\C#\RESTProject\Commander\bin\Debug\netcoreapp3.1\Microsoft.Data.SqlClient.dll 24 | D:\ALL\Work\Coding\VSCode\C#\RESTProject\Commander\bin\Debug\netcoreapp3.1\Microsoft.EntityFrameworkCore.dll 25 | D:\ALL\Work\Coding\VSCode\C#\RESTProject\Commander\bin\Debug\netcoreapp3.1\Microsoft.EntityFrameworkCore.Abstractions.dll 26 | D:\ALL\Work\Coding\VSCode\C#\RESTProject\Commander\bin\Debug\netcoreapp3.1\Microsoft.EntityFrameworkCore.Design.dll 27 | D:\ALL\Work\Coding\VSCode\C#\RESTProject\Commander\bin\Debug\netcoreapp3.1\Microsoft.EntityFrameworkCore.Relational.dll 28 | D:\ALL\Work\Coding\VSCode\C#\RESTProject\Commander\bin\Debug\netcoreapp3.1\Microsoft.EntityFrameworkCore.SqlServer.dll 29 | D:\ALL\Work\Coding\VSCode\C#\RESTProject\Commander\bin\Debug\netcoreapp3.1\Microsoft.Extensions.Caching.Abstractions.dll 30 | D:\ALL\Work\Coding\VSCode\C#\RESTProject\Commander\bin\Debug\netcoreapp3.1\Microsoft.Extensions.Caching.Memory.dll 31 | D:\ALL\Work\Coding\VSCode\C#\RESTProject\Commander\bin\Debug\netcoreapp3.1\Microsoft.Extensions.Configuration.dll 32 | D:\ALL\Work\Coding\VSCode\C#\RESTProject\Commander\bin\Debug\netcoreapp3.1\Microsoft.Extensions.Configuration.Abstractions.dll 33 | D:\ALL\Work\Coding\VSCode\C#\RESTProject\Commander\bin\Debug\netcoreapp3.1\Microsoft.Extensions.Configuration.Binder.dll 34 | D:\ALL\Work\Coding\VSCode\C#\RESTProject\Commander\bin\Debug\netcoreapp3.1\Microsoft.Extensions.DependencyInjection.dll 35 | D:\ALL\Work\Coding\VSCode\C#\RESTProject\Commander\bin\Debug\netcoreapp3.1\Microsoft.Extensions.DependencyInjection.Abstractions.dll 36 | D:\ALL\Work\Coding\VSCode\C#\RESTProject\Commander\bin\Debug\netcoreapp3.1\Microsoft.Extensions.Logging.dll 37 | D:\ALL\Work\Coding\VSCode\C#\RESTProject\Commander\bin\Debug\netcoreapp3.1\Microsoft.Extensions.Logging.Abstractions.dll 38 | D:\ALL\Work\Coding\VSCode\C#\RESTProject\Commander\bin\Debug\netcoreapp3.1\Microsoft.Extensions.Options.dll 39 | D:\ALL\Work\Coding\VSCode\C#\RESTProject\Commander\bin\Debug\netcoreapp3.1\Microsoft.Extensions.Primitives.dll 40 | D:\ALL\Work\Coding\VSCode\C#\RESTProject\Commander\bin\Debug\netcoreapp3.1\Microsoft.Identity.Client.dll 41 | D:\ALL\Work\Coding\VSCode\C#\RESTProject\Commander\bin\Debug\netcoreapp3.1\Microsoft.IdentityModel.JsonWebTokens.dll 42 | D:\ALL\Work\Coding\VSCode\C#\RESTProject\Commander\bin\Debug\netcoreapp3.1\Microsoft.IdentityModel.Logging.dll 43 | D:\ALL\Work\Coding\VSCode\C#\RESTProject\Commander\bin\Debug\netcoreapp3.1\Microsoft.IdentityModel.Protocols.dll 44 | D:\ALL\Work\Coding\VSCode\C#\RESTProject\Commander\bin\Debug\netcoreapp3.1\Microsoft.IdentityModel.Protocols.OpenIdConnect.dll 45 | D:\ALL\Work\Coding\VSCode\C#\RESTProject\Commander\bin\Debug\netcoreapp3.1\Microsoft.IdentityModel.Tokens.dll 46 | D:\ALL\Work\Coding\VSCode\C#\RESTProject\Commander\bin\Debug\netcoreapp3.1\Newtonsoft.Json.dll 47 | D:\ALL\Work\Coding\VSCode\C#\RESTProject\Commander\bin\Debug\netcoreapp3.1\System.Collections.Immutable.dll 48 | D:\ALL\Work\Coding\VSCode\C#\RESTProject\Commander\bin\Debug\netcoreapp3.1\System.Configuration.ConfigurationManager.dll 49 | D:\ALL\Work\Coding\VSCode\C#\RESTProject\Commander\bin\Debug\netcoreapp3.1\System.Diagnostics.DiagnosticSource.dll 50 | D:\ALL\Work\Coding\VSCode\C#\RESTProject\Commander\bin\Debug\netcoreapp3.1\System.IdentityModel.Tokens.Jwt.dll 51 | D:\ALL\Work\Coding\VSCode\C#\RESTProject\Commander\bin\Debug\netcoreapp3.1\System.Runtime.Caching.dll 52 | D:\ALL\Work\Coding\VSCode\C#\RESTProject\Commander\bin\Debug\netcoreapp3.1\System.Security.Cryptography.ProtectedData.dll 53 | D:\ALL\Work\Coding\VSCode\C#\RESTProject\Commander\bin\Debug\netcoreapp3.1\runtimes\unix\lib\netcoreapp2.1\Microsoft.Data.SqlClient.dll 54 | D:\ALL\Work\Coding\VSCode\C#\RESTProject\Commander\bin\Debug\netcoreapp3.1\runtimes\win\lib\netcoreapp2.1\Microsoft.Data.SqlClient.dll 55 | D:\ALL\Work\Coding\VSCode\C#\RESTProject\Commander\bin\Debug\netcoreapp3.1\runtimes\win-arm64\native\sni.dll 56 | D:\ALL\Work\Coding\VSCode\C#\RESTProject\Commander\bin\Debug\netcoreapp3.1\runtimes\win-x64\native\sni.dll 57 | D:\ALL\Work\Coding\VSCode\C#\RESTProject\Commander\bin\Debug\netcoreapp3.1\runtimes\win-x86\native\sni.dll 58 | D:\ALL\Work\Coding\VSCode\C#\RESTProject\Commander\bin\Debug\netcoreapp3.1\runtimes\unix\lib\netcoreapp2.0\System.Runtime.Caching.dll 59 | D:\ALL\Work\Coding\VSCode\C#\RESTProject\Commander\bin\Debug\netcoreapp3.1\runtimes\win\lib\netcoreapp2.0\System.Runtime.Caching.dll 60 | D:\ALL\Work\Coding\VSCode\C#\RESTProject\Commander\bin\Debug\netcoreapp3.1\runtimes\win\lib\netstandard2.0\System.Security.Cryptography.ProtectedData.dll 61 | D:\ALL\Work\Coding\VSCode\C#\RESTProject\Commander\obj\Debug\netcoreapp3.1\Commander.csproj.CopyComplete 62 | D:\ALL\Work\Coding\VSCode\C#\RESTProject\Commander\bin\Debug\netcoreapp3.1\AutoMapper.dll 63 | D:\ALL\Work\Coding\VSCode\C#\RESTProject\Commander\bin\Debug\netcoreapp3.1\AutoMapper.Extensions.Microsoft.DependencyInjection.dll 64 | D:\ALL\Work\Coding\VSCode\C#\RESTProject\Commander\bin\Debug\netcoreapp3.1\Microsoft.AspNetCore.JsonPatch.dll 65 | D:\ALL\Work\Coding\VSCode\C#\RESTProject\Commander\bin\Debug\netcoreapp3.1\Microsoft.AspNetCore.Mvc.NewtonsoftJson.dll 66 | D:\ALL\Work\Coding\VSCode\C#\RESTProject\Commander\bin\Debug\netcoreapp3.1\Newtonsoft.Json.Bson.dll 67 | D:\ALL\Work\Coding\VSCode\C#\RESTProject\Commander\bin\Debug\netcoreapp3.1\Microsoft.OpenApi.dll 68 | D:\ALL\Work\Coding\VSCode\C#\RESTProject\Commander\bin\Debug\netcoreapp3.1\Swashbuckle.AspNetCore.Swagger.dll 69 | D:\ALL\Work\Coding\VSCode\C#\RESTProject\Commander\bin\Debug\netcoreapp3.1\Swashbuckle.AspNetCore.SwaggerGen.dll 70 | D:\ALL\Work\Coding\VSCode\C#\RESTProject\Commander\bin\Debug\netcoreapp3.1\Swashbuckle.AspNetCore.SwaggerUI.dll 71 | D:\ALL\Work\Coding\VSCode\C#\RESTProject\Commander\obj\Debug\netcoreapp3.1\Commander.MvcApplicationPartsAssemblyInfo.cs 72 | D:\ALL\Work\Coding\VSCode\C#\RESTProject\Commander\bin\Debug\netcoreapp3.1\Swashbuckle.AspNetCore.Newtonsoft.dll 73 | D:\ALL\Work\Coding\VSCode\C#\RESTProject\Commander\bin\Debug\netcoreapp3.1\Swashbuckle.AspNetCore.Annotations.dll 74 | -------------------------------------------------------------------------------- /obj/Debug/netcoreapp3.1/Commander.csprojAssemblyReference.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fryingpannn/.NETCore_MVC_RESTAPI/dddddca1f74cc7ed3b02edae7c94a5e1d1a9def8/obj/Debug/netcoreapp3.1/Commander.csprojAssemblyReference.cache -------------------------------------------------------------------------------- /obj/Debug/netcoreapp3.1/Commander.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fryingpannn/.NETCore_MVC_RESTAPI/dddddca1f74cc7ed3b02edae7c94a5e1d1a9def8/obj/Debug/netcoreapp3.1/Commander.dll -------------------------------------------------------------------------------- /obj/Debug/netcoreapp3.1/Commander.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fryingpannn/.NETCore_MVC_RESTAPI/dddddca1f74cc7ed3b02edae7c94a5e1d1a9def8/obj/Debug/netcoreapp3.1/Commander.exe -------------------------------------------------------------------------------- /obj/Debug/netcoreapp3.1/Commander.genruntimeconfig.cache: -------------------------------------------------------------------------------- 1 | 86c8e15dd33445635927cfaf398408205fd11473 2 | -------------------------------------------------------------------------------- /obj/Debug/netcoreapp3.1/Commander.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fryingpannn/.NETCore_MVC_RESTAPI/dddddca1f74cc7ed3b02edae7c94a5e1d1a9def8/obj/Debug/netcoreapp3.1/Commander.pdb -------------------------------------------------------------------------------- /obj/Debug/netcoreapp3.1/staticwebassets/Commander.StaticWebAssets.Manifest.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fryingpannn/.NETCore_MVC_RESTAPI/dddddca1f74cc7ed3b02edae7c94a5e1d1a9def8/obj/Debug/netcoreapp3.1/staticwebassets/Commander.StaticWebAssets.Manifest.cache -------------------------------------------------------------------------------- /obj/Debug/netcoreapp3.1/staticwebassets/Commander.StaticWebAssets.xml: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /obj/project.nuget.cache: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2, 3 | "dgSpecHash": "1TdA128YElEuxY58yJTszEsfG1Mz7cD6VTBwM5ZURYGbgk5U91i0mNn61CUhhBNeL50DVxKmMQ8Z8g52KhBvKw==", 4 | "success": true, 5 | "projectFilePath": "D:\\ALL\\Work\\Coding\\VSCode\\C#\\RESTProject\\Commander\\Commander.csproj", 6 | "expectedPackageFiles": [ 7 | "C:\\Users\\mattx\\.nuget\\packages\\automapper\\10.0.0\\automapper.10.0.0.nupkg.sha512", 8 | "C:\\Users\\mattx\\.nuget\\packages\\automapper.extensions.microsoft.dependencyinjection\\8.0.1\\automapper.extensions.microsoft.dependencyinjection.8.0.1.nupkg.sha512", 9 | "C:\\Users\\mattx\\.nuget\\packages\\microsoft.aspnetcore.jsonpatch\\3.1.7\\microsoft.aspnetcore.jsonpatch.3.1.7.nupkg.sha512", 10 | "C:\\Users\\mattx\\.nuget\\packages\\microsoft.aspnetcore.mvc.newtonsoftjson\\3.1.7\\microsoft.aspnetcore.mvc.newtonsoftjson.3.1.7.nupkg.sha512", 11 | "C:\\Users\\mattx\\.nuget\\packages\\microsoft.bcl.asyncinterfaces\\1.1.1\\microsoft.bcl.asyncinterfaces.1.1.1.nupkg.sha512", 12 | "C:\\Users\\mattx\\.nuget\\packages\\microsoft.bcl.hashcode\\1.1.0\\microsoft.bcl.hashcode.1.1.0.nupkg.sha512", 13 | "C:\\Users\\mattx\\.nuget\\packages\\microsoft.csharp\\4.7.0\\microsoft.csharp.4.7.0.nupkg.sha512", 14 | "C:\\Users\\mattx\\.nuget\\packages\\microsoft.data.sqlclient\\1.1.3\\microsoft.data.sqlclient.1.1.3.nupkg.sha512", 15 | "C:\\Users\\mattx\\.nuget\\packages\\microsoft.entityframeworkcore\\3.1.7\\microsoft.entityframeworkcore.3.1.7.nupkg.sha512", 16 | "C:\\Users\\mattx\\.nuget\\packages\\microsoft.entityframeworkcore.abstractions\\3.1.7\\microsoft.entityframeworkcore.abstractions.3.1.7.nupkg.sha512", 17 | "C:\\Users\\mattx\\.nuget\\packages\\microsoft.entityframeworkcore.analyzers\\3.1.7\\microsoft.entityframeworkcore.analyzers.3.1.7.nupkg.sha512", 18 | "C:\\Users\\mattx\\.nuget\\packages\\microsoft.entityframeworkcore.design\\3.1.7\\microsoft.entityframeworkcore.design.3.1.7.nupkg.sha512", 19 | "C:\\Users\\mattx\\.nuget\\packages\\microsoft.entityframeworkcore.relational\\3.1.7\\microsoft.entityframeworkcore.relational.3.1.7.nupkg.sha512", 20 | "C:\\Users\\mattx\\.nuget\\packages\\microsoft.entityframeworkcore.sqlserver\\3.1.7\\microsoft.entityframeworkcore.sqlserver.3.1.7.nupkg.sha512", 21 | "C:\\Users\\mattx\\.nuget\\packages\\microsoft.entityframeworkcore.tools\\3.1.7\\microsoft.entityframeworkcore.tools.3.1.7.nupkg.sha512", 22 | "C:\\Users\\mattx\\.nuget\\packages\\microsoft.extensions.apidescription.server\\3.0.0\\microsoft.extensions.apidescription.server.3.0.0.nupkg.sha512", 23 | "C:\\Users\\mattx\\.nuget\\packages\\microsoft.extensions.caching.abstractions\\3.1.7\\microsoft.extensions.caching.abstractions.3.1.7.nupkg.sha512", 24 | "C:\\Users\\mattx\\.nuget\\packages\\microsoft.extensions.caching.memory\\3.1.7\\microsoft.extensions.caching.memory.3.1.7.nupkg.sha512", 25 | "C:\\Users\\mattx\\.nuget\\packages\\microsoft.extensions.configuration\\3.1.7\\microsoft.extensions.configuration.3.1.7.nupkg.sha512", 26 | "C:\\Users\\mattx\\.nuget\\packages\\microsoft.extensions.configuration.abstractions\\3.1.7\\microsoft.extensions.configuration.abstractions.3.1.7.nupkg.sha512", 27 | "C:\\Users\\mattx\\.nuget\\packages\\microsoft.extensions.configuration.binder\\3.1.7\\microsoft.extensions.configuration.binder.3.1.7.nupkg.sha512", 28 | "C:\\Users\\mattx\\.nuget\\packages\\microsoft.extensions.dependencyinjection\\3.1.7\\microsoft.extensions.dependencyinjection.3.1.7.nupkg.sha512", 29 | "C:\\Users\\mattx\\.nuget\\packages\\microsoft.extensions.dependencyinjection.abstractions\\3.1.7\\microsoft.extensions.dependencyinjection.abstractions.3.1.7.nupkg.sha512", 30 | "C:\\Users\\mattx\\.nuget\\packages\\microsoft.extensions.logging\\3.1.7\\microsoft.extensions.logging.3.1.7.nupkg.sha512", 31 | "C:\\Users\\mattx\\.nuget\\packages\\microsoft.extensions.logging.abstractions\\3.1.7\\microsoft.extensions.logging.abstractions.3.1.7.nupkg.sha512", 32 | "C:\\Users\\mattx\\.nuget\\packages\\microsoft.extensions.options\\3.1.7\\microsoft.extensions.options.3.1.7.nupkg.sha512", 33 | "C:\\Users\\mattx\\.nuget\\packages\\microsoft.extensions.primitives\\3.1.7\\microsoft.extensions.primitives.3.1.7.nupkg.sha512", 34 | "C:\\Users\\mattx\\.nuget\\packages\\microsoft.identity.client\\3.0.8\\microsoft.identity.client.3.0.8.nupkg.sha512", 35 | "C:\\Users\\mattx\\.nuget\\packages\\microsoft.identitymodel.jsonwebtokens\\5.5.0\\microsoft.identitymodel.jsonwebtokens.5.5.0.nupkg.sha512", 36 | "C:\\Users\\mattx\\.nuget\\packages\\microsoft.identitymodel.logging\\5.5.0\\microsoft.identitymodel.logging.5.5.0.nupkg.sha512", 37 | "C:\\Users\\mattx\\.nuget\\packages\\microsoft.identitymodel.protocols\\5.5.0\\microsoft.identitymodel.protocols.5.5.0.nupkg.sha512", 38 | "C:\\Users\\mattx\\.nuget\\packages\\microsoft.identitymodel.protocols.openidconnect\\5.5.0\\microsoft.identitymodel.protocols.openidconnect.5.5.0.nupkg.sha512", 39 | "C:\\Users\\mattx\\.nuget\\packages\\microsoft.identitymodel.tokens\\5.5.0\\microsoft.identitymodel.tokens.5.5.0.nupkg.sha512", 40 | "C:\\Users\\mattx\\.nuget\\packages\\microsoft.netcore.platforms\\2.0.0\\microsoft.netcore.platforms.2.0.0.nupkg.sha512", 41 | "C:\\Users\\mattx\\.nuget\\packages\\microsoft.netcore.targets\\1.1.0\\microsoft.netcore.targets.1.1.0.nupkg.sha512", 42 | "C:\\Users\\mattx\\.nuget\\packages\\microsoft.openapi\\1.1.4\\microsoft.openapi.1.1.4.nupkg.sha512", 43 | "C:\\Users\\mattx\\.nuget\\packages\\microsoft.win32.registry\\4.5.0\\microsoft.win32.registry.4.5.0.nupkg.sha512", 44 | "C:\\Users\\mattx\\.nuget\\packages\\newtonsoft.json\\12.0.2\\newtonsoft.json.12.0.2.nupkg.sha512", 45 | "C:\\Users\\mattx\\.nuget\\packages\\newtonsoft.json.bson\\1.0.2\\newtonsoft.json.bson.1.0.2.nupkg.sha512", 46 | "C:\\Users\\mattx\\.nuget\\packages\\runtime.native.system\\4.3.0\\runtime.native.system.4.3.0.nupkg.sha512", 47 | "C:\\Users\\mattx\\.nuget\\packages\\runtime.native.system.data.sqlclient.sni\\4.4.0\\runtime.native.system.data.sqlclient.sni.4.4.0.nupkg.sha512", 48 | "C:\\Users\\mattx\\.nuget\\packages\\runtime.win-arm64.runtime.native.system.data.sqlclient.sni\\4.4.0\\runtime.win-arm64.runtime.native.system.data.sqlclient.sni.4.4.0.nupkg.sha512", 49 | "C:\\Users\\mattx\\.nuget\\packages\\runtime.win-x64.runtime.native.system.data.sqlclient.sni\\4.4.0\\runtime.win-x64.runtime.native.system.data.sqlclient.sni.4.4.0.nupkg.sha512", 50 | "C:\\Users\\mattx\\.nuget\\packages\\runtime.win-x86.runtime.native.system.data.sqlclient.sni\\4.4.0\\runtime.win-x86.runtime.native.system.data.sqlclient.sni.4.4.0.nupkg.sha512", 51 | "C:\\Users\\mattx\\.nuget\\packages\\swashbuckle.aspnetcore\\5.5.0\\swashbuckle.aspnetcore.5.5.0.nupkg.sha512", 52 | "C:\\Users\\mattx\\.nuget\\packages\\swashbuckle.aspnetcore.annotations\\5.5.1\\swashbuckle.aspnetcore.annotations.5.5.1.nupkg.sha512", 53 | "C:\\Users\\mattx\\.nuget\\packages\\swashbuckle.aspnetcore.newtonsoft\\5.5.0\\swashbuckle.aspnetcore.newtonsoft.5.5.0.nupkg.sha512", 54 | "C:\\Users\\mattx\\.nuget\\packages\\swashbuckle.aspnetcore.swagger\\5.5.1\\swashbuckle.aspnetcore.swagger.5.5.1.nupkg.sha512", 55 | "C:\\Users\\mattx\\.nuget\\packages\\swashbuckle.aspnetcore.swaggergen\\5.5.1\\swashbuckle.aspnetcore.swaggergen.5.5.1.nupkg.sha512", 56 | "C:\\Users\\mattx\\.nuget\\packages\\swashbuckle.aspnetcore.swaggerui\\5.5.0\\swashbuckle.aspnetcore.swaggerui.5.5.0.nupkg.sha512", 57 | "C:\\Users\\mattx\\.nuget\\packages\\system.collections\\4.3.0\\system.collections.4.3.0.nupkg.sha512", 58 | "C:\\Users\\mattx\\.nuget\\packages\\system.collections.concurrent\\4.3.0\\system.collections.concurrent.4.3.0.nupkg.sha512", 59 | "C:\\Users\\mattx\\.nuget\\packages\\system.collections.immutable\\1.7.1\\system.collections.immutable.1.7.1.nupkg.sha512", 60 | "C:\\Users\\mattx\\.nuget\\packages\\system.collections.nongeneric\\4.3.0\\system.collections.nongeneric.4.3.0.nupkg.sha512", 61 | "C:\\Users\\mattx\\.nuget\\packages\\system.collections.specialized\\4.3.0\\system.collections.specialized.4.3.0.nupkg.sha512", 62 | "C:\\Users\\mattx\\.nuget\\packages\\system.componentmodel\\4.3.0\\system.componentmodel.4.3.0.nupkg.sha512", 63 | "C:\\Users\\mattx\\.nuget\\packages\\system.componentmodel.annotations\\4.7.0\\system.componentmodel.annotations.4.7.0.nupkg.sha512", 64 | "C:\\Users\\mattx\\.nuget\\packages\\system.componentmodel.primitives\\4.3.0\\system.componentmodel.primitives.4.3.0.nupkg.sha512", 65 | "C:\\Users\\mattx\\.nuget\\packages\\system.componentmodel.typeconverter\\4.3.0\\system.componentmodel.typeconverter.4.3.0.nupkg.sha512", 66 | "C:\\Users\\mattx\\.nuget\\packages\\system.configuration.configurationmanager\\4.5.0\\system.configuration.configurationmanager.4.5.0.nupkg.sha512", 67 | "C:\\Users\\mattx\\.nuget\\packages\\system.diagnostics.debug\\4.3.0\\system.diagnostics.debug.4.3.0.nupkg.sha512", 68 | "C:\\Users\\mattx\\.nuget\\packages\\system.diagnostics.diagnosticsource\\4.7.1\\system.diagnostics.diagnosticsource.4.7.1.nupkg.sha512", 69 | "C:\\Users\\mattx\\.nuget\\packages\\system.diagnostics.tools\\4.3.0\\system.diagnostics.tools.4.3.0.nupkg.sha512", 70 | "C:\\Users\\mattx\\.nuget\\packages\\system.diagnostics.tracing\\4.3.0\\system.diagnostics.tracing.4.3.0.nupkg.sha512", 71 | "C:\\Users\\mattx\\.nuget\\packages\\system.globalization\\4.3.0\\system.globalization.4.3.0.nupkg.sha512", 72 | "C:\\Users\\mattx\\.nuget\\packages\\system.globalization.extensions\\4.3.0\\system.globalization.extensions.4.3.0.nupkg.sha512", 73 | "C:\\Users\\mattx\\.nuget\\packages\\system.identitymodel.tokens.jwt\\5.5.0\\system.identitymodel.tokens.jwt.5.5.0.nupkg.sha512", 74 | "C:\\Users\\mattx\\.nuget\\packages\\system.io\\4.3.0\\system.io.4.3.0.nupkg.sha512", 75 | "C:\\Users\\mattx\\.nuget\\packages\\system.io.filesystem\\4.3.0\\system.io.filesystem.4.3.0.nupkg.sha512", 76 | "C:\\Users\\mattx\\.nuget\\packages\\system.io.filesystem.primitives\\4.3.0\\system.io.filesystem.primitives.4.3.0.nupkg.sha512", 77 | "C:\\Users\\mattx\\.nuget\\packages\\system.linq\\4.3.0\\system.linq.4.3.0.nupkg.sha512", 78 | "C:\\Users\\mattx\\.nuget\\packages\\system.net.nameresolution\\4.3.0\\system.net.nameresolution.4.3.0.nupkg.sha512", 79 | "C:\\Users\\mattx\\.nuget\\packages\\system.net.primitives\\4.3.0\\system.net.primitives.4.3.0.nupkg.sha512", 80 | "C:\\Users\\mattx\\.nuget\\packages\\system.private.datacontractserialization\\4.3.0\\system.private.datacontractserialization.4.3.0.nupkg.sha512", 81 | "C:\\Users\\mattx\\.nuget\\packages\\system.reflection\\4.3.0\\system.reflection.4.3.0.nupkg.sha512", 82 | "C:\\Users\\mattx\\.nuget\\packages\\system.reflection.emit\\4.7.0\\system.reflection.emit.4.7.0.nupkg.sha512", 83 | "C:\\Users\\mattx\\.nuget\\packages\\system.reflection.emit.ilgeneration\\4.3.0\\system.reflection.emit.ilgeneration.4.3.0.nupkg.sha512", 84 | "C:\\Users\\mattx\\.nuget\\packages\\system.reflection.emit.lightweight\\4.3.0\\system.reflection.emit.lightweight.4.3.0.nupkg.sha512", 85 | "C:\\Users\\mattx\\.nuget\\packages\\system.reflection.extensions\\4.3.0\\system.reflection.extensions.4.3.0.nupkg.sha512", 86 | "C:\\Users\\mattx\\.nuget\\packages\\system.reflection.primitives\\4.3.0\\system.reflection.primitives.4.3.0.nupkg.sha512", 87 | "C:\\Users\\mattx\\.nuget\\packages\\system.reflection.typeextensions\\4.3.0\\system.reflection.typeextensions.4.3.0.nupkg.sha512", 88 | "C:\\Users\\mattx\\.nuget\\packages\\system.resources.resourcemanager\\4.3.0\\system.resources.resourcemanager.4.3.0.nupkg.sha512", 89 | "C:\\Users\\mattx\\.nuget\\packages\\system.runtime\\4.3.0\\system.runtime.4.3.0.nupkg.sha512", 90 | "C:\\Users\\mattx\\.nuget\\packages\\system.runtime.caching\\4.5.0\\system.runtime.caching.4.5.0.nupkg.sha512", 91 | "C:\\Users\\mattx\\.nuget\\packages\\system.runtime.compilerservices.unsafe\\4.5.0\\system.runtime.compilerservices.unsafe.4.5.0.nupkg.sha512", 92 | "C:\\Users\\mattx\\.nuget\\packages\\system.runtime.extensions\\4.3.0\\system.runtime.extensions.4.3.0.nupkg.sha512", 93 | "C:\\Users\\mattx\\.nuget\\packages\\system.runtime.handles\\4.3.0\\system.runtime.handles.4.3.0.nupkg.sha512", 94 | "C:\\Users\\mattx\\.nuget\\packages\\system.runtime.interopservices\\4.3.0\\system.runtime.interopservices.4.3.0.nupkg.sha512", 95 | "C:\\Users\\mattx\\.nuget\\packages\\system.runtime.serialization.formatters\\4.3.0\\system.runtime.serialization.formatters.4.3.0.nupkg.sha512", 96 | "C:\\Users\\mattx\\.nuget\\packages\\system.runtime.serialization.json\\4.3.0\\system.runtime.serialization.json.4.3.0.nupkg.sha512", 97 | "C:\\Users\\mattx\\.nuget\\packages\\system.runtime.serialization.primitives\\4.3.0\\system.runtime.serialization.primitives.4.3.0.nupkg.sha512", 98 | "C:\\Users\\mattx\\.nuget\\packages\\system.security.accesscontrol\\4.5.0\\system.security.accesscontrol.4.5.0.nupkg.sha512", 99 | "C:\\Users\\mattx\\.nuget\\packages\\system.security.cryptography.cng\\4.5.0\\system.security.cryptography.cng.4.5.0.nupkg.sha512", 100 | "C:\\Users\\mattx\\.nuget\\packages\\system.security.cryptography.primitives\\4.3.0\\system.security.cryptography.primitives.4.3.0.nupkg.sha512", 101 | "C:\\Users\\mattx\\.nuget\\packages\\system.security.cryptography.protecteddata\\4.5.0\\system.security.cryptography.protecteddata.4.5.0.nupkg.sha512", 102 | "C:\\Users\\mattx\\.nuget\\packages\\system.security.permissions\\4.5.0\\system.security.permissions.4.5.0.nupkg.sha512", 103 | "C:\\Users\\mattx\\.nuget\\packages\\system.security.principal.windows\\4.5.0\\system.security.principal.windows.4.5.0.nupkg.sha512", 104 | "C:\\Users\\mattx\\.nuget\\packages\\system.security.securestring\\4.3.0\\system.security.securestring.4.3.0.nupkg.sha512", 105 | "C:\\Users\\mattx\\.nuget\\packages\\system.text.encoding\\4.3.0\\system.text.encoding.4.3.0.nupkg.sha512", 106 | "C:\\Users\\mattx\\.nuget\\packages\\system.text.encoding.codepages\\4.5.0\\system.text.encoding.codepages.4.5.0.nupkg.sha512", 107 | "C:\\Users\\mattx\\.nuget\\packages\\system.text.encoding.extensions\\4.3.0\\system.text.encoding.extensions.4.3.0.nupkg.sha512", 108 | "C:\\Users\\mattx\\.nuget\\packages\\system.text.regularexpressions\\4.3.0\\system.text.regularexpressions.4.3.0.nupkg.sha512", 109 | "C:\\Users\\mattx\\.nuget\\packages\\system.threading\\4.3.0\\system.threading.4.3.0.nupkg.sha512", 110 | "C:\\Users\\mattx\\.nuget\\packages\\system.threading.tasks\\4.3.0\\system.threading.tasks.4.3.0.nupkg.sha512", 111 | "C:\\Users\\mattx\\.nuget\\packages\\system.threading.tasks.extensions\\4.3.0\\system.threading.tasks.extensions.4.3.0.nupkg.sha512", 112 | "C:\\Users\\mattx\\.nuget\\packages\\system.xml.readerwriter\\4.3.0\\system.xml.readerwriter.4.3.0.nupkg.sha512", 113 | "C:\\Users\\mattx\\.nuget\\packages\\system.xml.xdocument\\4.3.0\\system.xml.xdocument.4.3.0.nupkg.sha512", 114 | "C:\\Users\\mattx\\.nuget\\packages\\system.xml.xmldocument\\4.3.0\\system.xml.xmldocument.4.3.0.nupkg.sha512", 115 | "C:\\Users\\mattx\\.nuget\\packages\\system.xml.xmlserializer\\4.3.0\\system.xml.xmlserializer.4.3.0.nupkg.sha512" 116 | ], 117 | "logs": [] 118 | } -------------------------------------------------------------------------------- /wwwroot/images/easteregg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fryingpannn/.NETCore_MVC_RESTAPI/dddddca1f74cc7ed3b02edae7c94a5e1d1a9def8/wwwroot/images/easteregg.jpg --------------------------------------------------------------------------------