Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update master #14

Merged
merged 50 commits into from
Dec 4, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
50 commits
Select commit Hold shift + click to select a range
73a9e78
Dev (#3)
shashinma Nov 30, 2023
cf2b728
Update _Layout.cshtml
shashinma Nov 30, 2023
d5c7be4
Update Dockerfile
shashinma Dec 1, 2023
8dadf62
Delete BookEntriesViewModel.cs
shashinma Dec 1, 2023
3a907a0
Delete PhoneBookService.cs
shashinma Dec 1, 2023
e7c4b81
Update Program.cs
shashinma Dec 1, 2023
52cb2c2
Update PhonebookContext.cs
shashinma Dec 1, 2023
4fc8ac8
Update .gitignore
shashinma Dec 3, 2023
fa7ceb8
Added automatic application of unapplied migration
shashinma Dec 3, 2023
f9eca17
Delete libman.json
shashinma Dec 3, 2023
d8c3de1
Delet databases
shashinma Dec 3, 2023
8c54cb3
Update .gitignore
shashinma Dec 3, 2023
48f5bba
Update appsettings.Development.json
shashinma Dec 3, 2023
6c1aa73
Update appsettings.json
shashinma Dec 3, 2023
98ece83
Update PhoneBookController.cs
shashinma Dec 3, 2023
26cf7e3
Update migrations
shashinma Dec 3, 2023
b4dda61
Update launchSettings.json
shashinma Dec 3, 2023
67ed32f
Edit ConnectionStrings
shashinma Dec 3, 2023
b38d845
Update PhoneEdit.sln
shashinma Dec 3, 2023
2c6eded
Update PhoneEdit.csproj
shashinma Dec 3, 2023
2916519
Update Dockerfile
shashinma Dec 3, 2023
67c44b8
Update PhonebookContext.cs
shashinma Dec 3, 2023
a4f1368
Update .gitignore
shashinma Dec 3, 2023
451f50a
Create docker-image.yml
shashinma Dec 3, 2023
2289b7d
Update .gitignore
shashinma Dec 3, 2023
ed72aea
Merge branch 'master' of https://github.com/shashinma/PhoneEdit
shashinma Dec 3, 2023
52af7bb
Update dotnet.yml
shashinma Dec 3, 2023
0d7e744
Update docker-image.yml
shashinma Dec 3, 2023
267fe9e
Update README.md
shashinma Dec 3, 2023
4286ea1
Create docker-publish.yml
shashinma Dec 3, 2023
618e01f
Update docker-publish.yml
shashinma Dec 3, 2023
0837f5e
Delete .github/workflows/docker-publish.yml
shashinma Dec 3, 2023
bd40b2e
Create docker-publish.yml
shashinma Dec 3, 2023
299c08d
Delete IdentityContext.db
shashinma Dec 3, 2023
b5526fd
Delete PhoneBookContext.db
shashinma Dec 3, 2023
2f1dee0
Update appsettings.json
shashinma Dec 3, 2023
298de35
Update SampleData.cs
shashinma Dec 3, 2023
4b0685b
Update Program.cs
shashinma Dec 3, 2023
d30c4b5
Update launchSettings.json
shashinma Dec 3, 2023
f6e8bbc
Update DefaultUserService.cs
shashinma Dec 3, 2023
84d6e53
Update Index.cshtml
shashinma Dec 3, 2023
f770957
Update buttons
shashinma Dec 3, 2023
cff066d
Delete .github/workflows/docker-publish.yml
shashinma Dec 3, 2023
2d96e60
Create docker-publish.yml
shashinma Dec 3, 2023
9c48d2f
Update docker-publish.yml
shashinma Dec 3, 2023
7d0e4ca
Update README.md
shashinma Dec 3, 2023
50861aa
Update README.md
shashinma Dec 3, 2023
a266d65
Update README.md
shashinma Dec 3, 2023
b5c7100
Update README.md
shashinma Dec 4, 2023
7537aeb
Update README.md
shashinma Dec 4, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 19 additions & 0 deletions .github/workflows/docker-image.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
name: Docker Image CI

on:
push:
branches:
- 'master'
- 'dev'
pull_request:
branches: [ "master" ]

jobs:
build:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3
- name: Build the PhoneEdit Docker image
working-directory: .
run: docker build . --file Dockerfile --tag my-image-name:$(date +%s)
93 changes: 93 additions & 0 deletions .github/workflows/docker-publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
name: Docker Packages

# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.

on:
release:
types: [published]

env:
# Use docker.io for Docker Hub if empty
REGISTRY: ${{ vars.REGISTRY }}


jobs:
Build-PhoneEdit:
environment: PhoneEditApplication

runs-on: ubuntu-latest

permissions:
contents: read
packages: write
# This is used to complete the identity challenge
# with sigstore/fulcio when running outside of PRs.
id-token: write

steps:
- name: Checkout repository
uses: actions/checkout@v3

# Install the cosign tool except on PR
# https://github.com/sigstore/cosign-installer
- name: Install cosign
if: github.event_name != 'pull_request'
uses: sigstore/cosign-installer@6e04d228eb30da1757ee4e1dd75a0ec73a653e06 #v3.1.1
with:
cosign-release: 'v2.1.1'

# Set up BuildKit Docker container builder to be able to build
# multi-platform images and export cache
# https://github.com/docker/setup-buildx-action
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@f95db51fddba0c2d1ec667646a06c2ce06100226 # v3.0.0

# Login against a Docker registry except on PR
# https://github.com/docker/login-action
- name: Log into registry ${{ env.REGISTRY }}
if: github.event_name != 'pull_request'
uses: docker/login-action@343f7c4344506bcbf9b4de18042ae17996df046d # v3.0.0
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GH_TOKEN }}

# Extract metadata (tags, labels) for Docker
# https://github.com/docker/metadata-action
- name: Extract Docker metadata
id: meta
uses: docker/metadata-action@96383f45573cb7f253c731d3b3ab81c87ef81934 # v5.0.0
with:
images: ${{ env.REGISTRY }}/${{ github.actor }}/${{ vars.IMAGE_NAME }}

# Build and push Docker image with Buildx (don't push on PR)
# https://github.com/docker/build-push-action
- name: Build and push PhoneEdit Docker image
id: build-and-push
uses: docker/build-push-action@0565240e2d4ab88bba5387d719585280857ece09 # v5.0.0
with:
context: .
push: ${{ github.event_name != 'pull_request' }}
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
cache-from: type=gha
cache-to: type=gha,mode=max

# Sign the resulting Docker image digest except on PRs.
# This will only write to the public Rekor transparency log when the Docker
# repository is public to avoid leaking data. If you would like to publish
# transparency data even for private images, pass --force to cosign below.
# https://github.com/sigstore/cosign
- name: Sign the published PhoneEdit Docker image
if: ${{ github.event_name != 'pull_request' }}
env:
context: .
# https://docs.github.com/en/actions/security-guides/security-hardening-for-github-actions#using-an-intermediate-environment-variable
TAGS: ${{ steps.meta.outputs.tags }}
DIGEST: ${{ steps.build-and-push.outputs.digest }}
# This step uses the identity token to provision an ephemeral certificate
# against the sigstore community Fulcio instance.
run: echo "${TAGS}" | xargs -I {} cosign sign --yes {}@${DIGEST}
29 changes: 29 additions & 0 deletions .github/workflows/dotnet.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# This workflow will build a .NET project

name: .NET

on:
push:
branches:
- 'master'
- 'dev'
pull_request:
branches: [ "master" ]

jobs:
build:

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3
- name: Setup .NET
uses: actions/setup-dotnet@v3
with:
dotnet-version: 8.0.x
- name: Restore dependencies
run: dotnet restore
- name: Build
run: dotnet build --no-restore
- name: Test
run: dotnet test --no-build --verbosity normal
7 changes: 6 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -259,4 +259,9 @@ paket-files/
# Python Tools for Visual Studio (PTVS)
__pycache__/
*.pyc
/appsettings.json

# Custom ignore rules
.DS_Store
*.db*
*.db
docker-compose.yml
21 changes: 0 additions & 21 deletions Areas/Identity/IdentityHostingStartup.cs

This file was deleted.

2 changes: 1 addition & 1 deletion Areas/Identity/Pages/Account/Manage/_Layout.cshtml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
@{
Layout = "/Areas/Identity/Pages/_Layout.cshtml";
Layout = "_Layout";
}

<h1>Manage your account</h1>
Expand Down
29 changes: 9 additions & 20 deletions Controllers/PhoneBookController.cs
Original file line number Diff line number Diff line change
@@ -1,11 +1,5 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Authorization.Infrastructure;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.Rendering;
using Microsoft.EntityFrameworkCore;
using PhoneEdit.Data;
using PhoneEdit.Models;
Expand All @@ -25,7 +19,7 @@ public PhoneBookController(PhonebookContext context)

// GET: PhoneBook
[AllowAnonymous]
public async Task<IActionResult> Index(string currentFilter, string searchString, int? cPage)
public IActionResult Index(string? searchString, string? currentFilter, int? cPage)
{
if (searchString != null)
{
Expand All @@ -38,10 +32,8 @@ public async Task<IActionResult> Index(string currentFilter, string searchString

ViewBag.CurrentFilter = searchString;

var entries = from e in _context.Entries
select e;


var entries = _context.Entries.Select(e => e).AsEnumerable();

if (!string.IsNullOrEmpty(searchString))
{
entries = entries.Where(e => e.ToString().Contains(searchString, StringComparison.OrdinalIgnoreCase));
Expand All @@ -51,9 +43,10 @@ public async Task<IActionResult> Index(string currentFilter, string searchString

int pageSize = 25;
int pageNumber = (cPage ?? 1);
return View((await entries.ToListAsync()).ToPagedList(pageNumber,pageSize));
}

return View(entries.AsQueryable().ToPagedList(pageNumber, pageSize));
}

// GET: PhoneBook/Details/5
public async Task<IActionResult> Details(int? id)
{
Expand Down Expand Up @@ -114,12 +107,9 @@ public async Task<IActionResult> Edit(int? id)
return View(bookEntry);
}

// POST: PhoneBook/Edit/5
// To protect from overposting attacks, please enable the specific properties you want to bind to, for
// more details see http://go.microsoft.com/fwlink/?LinkId=317598.
[HttpPost]
[ValidateAntiForgeryToken]
public async Task<IActionResult> Edit(int id, [Bind("Id,PersonnelNumber,Name,Position,Department,LocalPhoneNumber,CityPhoneNumber,Mail,Room, Status")] BookEntry bookEntry)
public async Task<IActionResult> Edit(int id, [Bind("Id,PersonnelNumber,Name,Position,Department,LocalPhoneNumber,CityPhoneNumber,Mail,Room")] BookEntry bookEntry)
{
if (id != bookEntry.Id)
{
Expand Down Expand Up @@ -152,7 +142,7 @@ public async Task<IActionResult> Edit(int id, [Bind("Id,PersonnelNumber,Name,Pos
}
return View(bookEntry);
}

// GET: PhoneBook/Delete/5
public async Task<IActionResult> Delete(int? id)
{
Expand Down Expand Up @@ -186,8 +176,7 @@ private bool BookEntryExists(int id)
{
return _context.Entries.Any(e => e.Id == id);
}



// Valid only if personnelNumber is unique
private bool VerifyPersonnelNumber(string personnelNumber, int id)
{
Expand Down
16 changes: 6 additions & 10 deletions Data/ApplicationDbContext.cs
Original file line number Diff line number Diff line change
@@ -1,16 +1,12 @@
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.AspNetCore.Identity.EntityFrameworkCore;
using Microsoft.AspNetCore.Identity.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore;

namespace PhoneEdit.Data
namespace PhoneEdit.Data;

public class ApplicationDbContext : IdentityDbContext
{
public class ApplicationDbContext : IdentityDbContext
public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options)
: base(options)
{
public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options)
: base(options)
{
}
}
}
Loading
Loading