These are the GraphQL queries and mutations for the YouTube course.
{
clients {
name
}
| # 1. Runtime base | |
| FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS base | |
| WORKDIR /app | |
| # Criar um usuário específico (segurança) | |
| RUN useradd -m appuser | |
| USER appuser | |
| EXPOSE 8080 | |
| EXPOSE 8081 |
| <!DOCTYPE html | |
| PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> | |
| <html dir="ltr" xmlns="http://www.w3.org/1999/xhtml" xmlns:o="urn:schemas-microsoft-com:office:office"> | |
| <head> | |
| <meta charset="UTF-8" /> | |
| <meta content="width=device-width, initial-scale=1" name="viewport" /> | |
| <meta name="x-apple-disable-message-reformatting" /> | |
| <meta http-equiv="X-UA-Compatible" content="IE=edge" /> | |
| <meta content="telephone=no" name="format-detection" /> |
| function validaCNPJ (cnpj) { | |
| var b = [ 6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2 ] | |
| var c = String(cnpj).replace(/[^\d]/g, '') | |
| if(c.length !== 14) | |
| return false | |
| if(/0{14}/.test(c)) | |
| return false |
| export function ValidaCNPJ(cnpj: string): boolean { | |
| const b: number[] = [6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2]; | |
| const c: string = cnpj.replace(/[^\d]/g, ''); | |
| if (c.length !== 14) { | |
| return false; | |
| } | |
| if (/0{14}/.test(c)) { | |
| return false; |
| import { Injectable } from '@nestjs/common'; | |
| import { PrismaService } from '../database/prisma/prisma.service'; | |
| import { UpdateDailyMovementDto } from './dto/update-daily_movement.dto'; | |
| import { CreateDailyMovementDto } from './dto/create-daily_movement.dto'; | |
| @Injectable() | |
| export class DailyMovementsService { | |
| constructor(private prisma: PrismaService) {} | |
| async create(createDailyMovementDto: CreateDailyMovementDto) { | |
| const initialDate = new Date(createDailyMovementDto.initialDate); |
| { | |
| "editor.fontFamily": "Fira code", | |
| "editor.fontLigatures": true, | |
| "editor.fontSize": 16, | |
| "workbench.colorTheme": "Omni", | |
| "editor.rulers": [80, 100], | |
| "editor.formatOnSave": true, | |
| "editor.tabSize": 2, | |
| // "editor.formatOnPaste": true, | |
| "[css]": { |
| { | |
| "emmet.syntaxProfiles": { | |
| "javascript": "jsx" | |
| }, | |
| "workbench.startupEditor": "newUntitledFile", | |
| "editor.fontSize": 16, | |
| "javascript.suggest.autoImports": true, | |
| "javascript.updateImportsOnFileMove.enabled": "always", | |
| "editor.rulers": [ | |
| 80, |
| { | |
| "compilerOptions": { | |
| "target": "es2018", | |
| "lib": [ | |
| "es5", | |
| "es6", | |
| "ES2018" | |
| ], | |
| "experimentalDecorators": true, | |
| "emitDecoratorMetadata": true, |
| # Enable Powerlevel10k instant prompt. Should stay close to the top of ~/.zshrc. | |
| # Initialization code that may require console input (password prompts, [y/n] | |
| # confirmations, etc.) must go above this block; everything else may go below. | |
| if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then | |
| source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" | |
| fi | |
| # If you come from bash you might have to change your $PATH. | |
| # export PATH=$HOME/bin:/usr/local/bin:$PATH |