If you call the function 'glm', then this function returns a new R-object that contains information on the result of the estimation. This returned object is then stored into a new R-variable that you have called 'model' (you can give it any name you want).
If you want to know all the details on what is contained in this variable, then you can ask for help on the function 'glm', in R you type '?glm' and under 'value' you can see all the attributed of your variable named 'model'. You could also use the R-instruction 'str(model)' to find out about the attributes of the variable 'model'.
The logistic regression estimates three coefficients in your case, these are also kept in the container model.
One of the attributes of your variable model (see ?glm) is 'coefficients, so you can ask for the values of the coefficients that the function 'glm' has estimated for you by typing 'model$coefficients'.
The variable model contains all information (like the coefficients but many other things) to make predictions.
All this is not about statistics but about programming in R.
To compute the AUC one has to compute rthe ROC-curve. For computing the ROC curve you need two things: (a) the observed values for your binary outcom and (b) the predicted outcomes by the logistic regression model.
Added because of your comments:
The binary outcome that you observe can be found in 'Case' therefore the function 'predict' has to compute the prediction by the estimated model. As the variable 'model' contains a.o. the coefficients, it can compute these predictions. So the function 'predict' uses information contained in the container (as you call it) 'model' to predict the outcomes using the estimated coefficients.
Then these observed outcomes (Case) and predicted outcomes ( predict (model) ) are used to compute the ROC and then from the ROC-curve to compute the area under the curve. The ROC curve is the set of couples (hit rate, false alarm rate) for different values of a choosen decision threshold.
So the instruction 'auc(Case~predict(model), data=data)' means 'use observed outcome 'case' and the predicted outcomes 'predict(model)' to compute the AUC.
The technique of logistic regression estimates value for the coefficients, in your case these are estimated at: -1.142005 (intercept), -0.047981 (coefficient of X), 0.020145 (coeficient of Y).
For each subject that you study, you have a value for case (0 or 1) and a value for x (let's note it $x_i$) and y (notation $y_i$). With the coefficients from the container object 'model', the function predict can then compute $-1.14 - 0.0479 x_i + 0.020 y_i$ for each subject $i$. The result will be a number for each subject in your sample. So with three coeffcients the function 'predict' can compute a number for each and every subject that you have in your sample.
This is not yet a prediction, the prediction should be either 0 or 1. So the number computed above is 'transformed' into 0 or 1 by choosing a threshold, e.g. if the number for subject $i$ is smaller than zero, then make it a zero, else make it 1.
So by choosing a threshold you can, using three estimated coefficient, predict whether a subject $i$ is zero or 1. You can do this for different values of the threshold (above I choose zero as threshod but one may also decide that it is transformed into 0 when the number is smaller than 5 e.g.). And by choosing different thresholds you can draw the ROC curve.